liding
2025-05-07 e673aa0ef18aab41547fe5c9639b907a15f69542
基础客户
已修改1个文件
已添加5个文件
505 ■■■■■ 文件已修改
pom.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic_data/controller/CustomerController.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic_data/mapper/CustomerMapper.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic_data/pojo/Customer.java 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic_data/service/ICustomerService.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic_data/service/impl/CustomerServiceImpl.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -40,6 +40,7 @@
        <logback.version>1.2.13</logback.version>
        <spring-security.version>5.7.12</spring-security.version>
        <spring-framework.version>5.3.39</spring-framework.version>
        <mybatis-plus.version>3.5.3.1</mybatis-plus.version>
    </properties>
    <dependencies>
@@ -113,6 +114,20 @@
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>${druid.version}</version>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>
        <!--mybatis-plus代码生成器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>
        <!-- è‡ªå®šä¹‰éªŒè¯æ³¨è§£ -->
@@ -232,6 +247,10 @@
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>
src/main/java/com/ruoyi/basic_data/controller/CustomerController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,105 @@
package com.ruoyi.basic_data.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.basic_data.pojo.Customer;
import com.ruoyi.basic_data.service.ICustomerService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.page.TableDataInfo;
/**
 * å®¢æˆ·æ¡£æ¡ˆController
 *
 * @author ruoyi
 * @date 2025-05-07
 */
@RestController
@RequestMapping("/system/customer")
public class CustomerController extends BaseController
{
    @Autowired
    private ICustomerService customerService;
    /**
     * æŸ¥è¯¢å®¢æˆ·æ¡£æ¡ˆåˆ—表
     */
    @PreAuthorize("@ss.hasPermi('system:customer:list')")
    @GetMapping("/list")
    public TableDataInfo list(Customer customer)
    {
        startPage();
        List<Customer> list = customerService.selectCustomerList(customer);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºå®¢æˆ·æ¡£æ¡ˆåˆ—表
     */
    @PreAuthorize("@ss.hasPermi('system:customer:export')")
    @Log(title = "客户档案", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, Customer customer)
    {
        List<Customer> list = customerService.selectCustomerList(customer);
        ExcelUtil<Customer> util = new ExcelUtil<Customer>(Customer.class);
        util.exportExcel(response, list, "客户档案数据");
    }
    /**
     * èŽ·å–å®¢æˆ·æ¡£æ¡ˆè¯¦ç»†ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('system:customer:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(customerService.selectCustomerById(id));
    }
    /**
     * æ–°å¢žå®¢æˆ·æ¡£æ¡ˆ
     */
    @PreAuthorize("@ss.hasPermi('system:customer:add')")
    @Log(title = "客户档案", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody Customer customer)
    {
        return toAjax(customerService.insertCustomer(customer));
    }
    /**
     * ä¿®æ”¹å®¢æˆ·æ¡£æ¡ˆ
     */
    @PreAuthorize("@ss.hasPermi('system:customer:edit')")
    @Log(title = "客户档案", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody Customer customer)
    {
        return toAjax(customerService.updateCustomer(customer));
    }
    /**
     * åˆ é™¤å®¢æˆ·æ¡£æ¡ˆ
     */
    @PreAuthorize("@ss.hasPermi('system:customer:remove')")
    @Log(title = "客户档案", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(customerService.deleteCustomerByIds(ids));
    }
}
src/main/java/com/ruoyi/basic_data/mapper/CustomerMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.ruoyi.basic_data.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.basic_data.pojo.Customer;
import java.util.List;
/**
 * å®¢æˆ·æ¡£æ¡ˆMapper接口
 *
 * @author ruoyi
 * @date 2025-05-07
 */
public interface CustomerMapper extends BaseMapper<Customer>
{
    /**
     * æŸ¥è¯¢å®¢æˆ·æ¡£æ¡ˆ
     *
     * @param id å®¢æˆ·æ¡£æ¡ˆä¸»é”®
     * @return å®¢æˆ·æ¡£æ¡ˆ
     */
    Customer selectCustomerById(Long id);
    /**
     * æŸ¥è¯¢å®¢æˆ·æ¡£æ¡ˆåˆ—表
     *
     * @param customer å®¢æˆ·æ¡£æ¡ˆ
     * @return å®¢æˆ·æ¡£æ¡ˆé›†åˆ
     */
    List<Customer> selectCustomerList(Customer customer);
    /**
     * æ–°å¢žå®¢æˆ·æ¡£æ¡ˆ
     *
     * @param customer å®¢æˆ·æ¡£æ¡ˆ
     * @return ç»“æžœ
     */
    int insertCustomer(Customer customer);
    /**
     * ä¿®æ”¹å®¢æˆ·æ¡£æ¡ˆ
     *
     * @param customer å®¢æˆ·æ¡£æ¡ˆ
     * @return ç»“æžœ
     */
    int updateCustomer(Customer customer);
    /**
     * åˆ é™¤å®¢æˆ·æ¡£æ¡ˆ
     *
     * @param id å®¢æˆ·æ¡£æ¡ˆä¸»é”®
     * @return ç»“æžœ
     */
    int deleteCustomerById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤å®¢æˆ·æ¡£æ¡ˆ
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    int deleteCustomerByIds(Long[] ids);
}
src/main/java/com/ruoyi/basic_data/pojo/Customer.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,165 @@
package com.ruoyi.basic_data.pojo;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
/**
 * å®¢æˆ·æ¡£æ¡ˆå¯¹è±¡ customer
 *
 * @author ruoyi
 * @date 2025-05-07
 */
@TableName(value = "customer")
@Data
public class Customer extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** $column.columnComment */
    private Long id;
    /** å®¢æˆ·åç§° */
    @Excel(name = "客户名称")
    private String customerName;
    /** çº³ç¨Žäººè¯†åˆ«å· */
    @Excel(name = "纳税人识别号")
    private String taxpayerIdentificationNumber;
    /** å…¬å¸åœ°å€ */
    @Excel(name = "公司地址")
    private String companyAddress;
    /** å…¬å¸ç”µè¯ */
    @Excel(name = "公司电话")
    private String companyPhone;
    /** è”系人 */
    @Excel(name = "联系人")
    private String contactPerson;
    /** è”系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;
    /** ç»´æŠ¤äºº */
    @Excel(name = "维护人")
    private String maintainer;
    /** ç»´æŠ¤æ—¶é—´ */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "维护时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date maintenanceTime;
    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }
    public void setCustomerName(String customerName)
    {
        this.customerName = customerName;
    }
    public String getCustomerName()
    {
        return customerName;
    }
    public void setTaxpayerIdentificationNumber(String taxpayerIdentificationNumber)
    {
        this.taxpayerIdentificationNumber = taxpayerIdentificationNumber;
    }
    public String getTaxpayerIdentificationNumber()
    {
        return taxpayerIdentificationNumber;
    }
    public void setCompanyAddress(String companyAddress)
    {
        this.companyAddress = companyAddress;
    }
    public String getCompanyAddress()
    {
        return companyAddress;
    }
    public void setCompanyPhone(String companyPhone)
    {
        this.companyPhone = companyPhone;
    }
    public String getCompanyPhone()
    {
        return companyPhone;
    }
    public void setContactPerson(String contactPerson)
    {
        this.contactPerson = contactPerson;
    }
    public String getContactPerson()
    {
        return contactPerson;
    }
    public void setContactPhone(String contactPhone)
    {
        this.contactPhone = contactPhone;
    }
    public String getContactPhone()
    {
        return contactPhone;
    }
    public void setMaintainer(String maintainer)
    {
        this.maintainer = maintainer;
    }
    public String getMaintainer()
    {
        return maintainer;
    }
    public void setMaintenanceTime(Date maintenanceTime)
    {
        this.maintenanceTime = maintenanceTime;
    }
    public Date getMaintenanceTime()
    {
        return maintenanceTime;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("customerName", getCustomerName())
            .append("taxpayerIdentificationNumber", getTaxpayerIdentificationNumber())
            .append("companyAddress", getCompanyAddress())
            .append("companyPhone", getCompanyPhone())
            .append("contactPerson", getContactPerson())
            .append("contactPhone", getContactPhone())
            .append("maintainer", getMaintainer())
            .append("maintenanceTime", getMaintenanceTime())
            .toString();
    }
}
src/main/java/com/ruoyi/basic_data/service/ICustomerService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.ruoyi.basic_data.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.basic_data.pojo.Customer;
import java.util.List;
/**
 * å®¢æˆ·æ¡£æ¡ˆService接口
 *
 * @author ruoyi
 * @date 2025-05-07
 */
public interface ICustomerService extends IService<Customer>
{
    /**
     * æŸ¥è¯¢å®¢æˆ·æ¡£æ¡ˆ
     *
     * @param id å®¢æˆ·æ¡£æ¡ˆä¸»é”®
     * @return å®¢æˆ·æ¡£æ¡ˆ
     */
    Customer selectCustomerById(Long id);
    /**
     * æŸ¥è¯¢å®¢æˆ·æ¡£æ¡ˆåˆ—表
     *
     * @param customer å®¢æˆ·æ¡£æ¡ˆ
     * @return å®¢æˆ·æ¡£æ¡ˆé›†åˆ
     */
    List<Customer> selectCustomerList(Customer customer);
    /**
     * æ–°å¢žå®¢æˆ·æ¡£æ¡ˆ
     *
     * @param customer å®¢æˆ·æ¡£æ¡ˆ
     * @return ç»“æžœ
     */
    int insertCustomer(Customer customer);
    /**
     * ä¿®æ”¹å®¢æˆ·æ¡£æ¡ˆ
     *
     * @param customer å®¢æˆ·æ¡£æ¡ˆ
     * @return ç»“æžœ
     */
    int updateCustomer(Customer customer);
    /**
     * æ‰¹é‡åˆ é™¤å®¢æˆ·æ¡£æ¡ˆ
     *
     * @param ids éœ€è¦åˆ é™¤çš„客户档案主键集合
     * @return ç»“æžœ
     */
    int deleteCustomerByIds(Long[] ids);
    /**
     * åˆ é™¤å®¢æˆ·æ¡£æ¡ˆä¿¡æ¯
     *
     * @param id å®¢æˆ·æ¡£æ¡ˆä¸»é”®
     * @return ç»“æžœ
     */
    int deleteCustomerById(Long id);
}
src/main/java/com/ruoyi/basic_data/service/impl/CustomerServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
package com.ruoyi.basic_data.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic_data.mapper.CustomerMapper;
import com.ruoyi.basic_data.pojo.Customer;
import com.ruoyi.basic_data.service.ICustomerService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * å®¢æˆ·æ¡£æ¡ˆService业务层处理
 *
 * @author ruoyi
 * @date 2025-05-07
 */
@Service
@AllArgsConstructor
public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> implements ICustomerService {
    private CustomerMapper customerMapper;
    /**
     * æŸ¥è¯¢å®¢æˆ·æ¡£æ¡ˆ
     *
     * @param id å®¢æˆ·æ¡£æ¡ˆä¸»é”®
     * @return å®¢æˆ·æ¡£æ¡ˆ
     */
    @Override
    public Customer selectCustomerById(Long id) {
        return customerMapper.selectCustomerById(id);
    }
    /**
     * æŸ¥è¯¢å®¢æˆ·æ¡£æ¡ˆåˆ—表
     *
     * @param customer å®¢æˆ·æ¡£æ¡ˆ
     * @return å®¢æˆ·æ¡£æ¡ˆ
     */
    @Override
    public List<Customer> selectCustomerList(Customer customer) {
        return customerMapper.selectCustomerList(customer);
    }
    /**
     * æ–°å¢žå®¢æˆ·æ¡£æ¡ˆ
     *
     * @param customer å®¢æˆ·æ¡£æ¡ˆ
     * @return ç»“æžœ
     */
    @Override
    public int insertCustomer(Customer customer) {
        return customerMapper.insertCustomer(customer);
    }
    /**
     * ä¿®æ”¹å®¢æˆ·æ¡£æ¡ˆ
     *
     * @param customer å®¢æˆ·æ¡£æ¡ˆ
     * @return ç»“æžœ
     */
    @Override
    public int updateCustomer(Customer customer) {
        return customerMapper.updateCustomer(customer);
    }
    /**
     * æ‰¹é‡åˆ é™¤å®¢æˆ·æ¡£æ¡ˆ
     *
     * @param ids éœ€è¦åˆ é™¤çš„客户档案主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteCustomerByIds(Long[] ids) {
        return customerMapper.deleteCustomerByIds(ids);
    }
    /**
     * åˆ é™¤å®¢æˆ·æ¡£æ¡ˆä¿¡æ¯
     *
     * @param id å®¢æˆ·æ¡£æ¡ˆä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteCustomerById(Long id) {
        return customerMapper.deleteCustomerById(id);
    }
}