Browse Source

商机管理和回款管理

wucl 2 years ago
parent
commit
e3ef697896
21 changed files with 284 additions and 42 deletions
  1. 3 2
      biz-base/src/main/java/com/dayou/controller/BusinessOpportunityController.java
  2. 7 6
      biz-base/src/main/java/com/dayou/controller/CustomerController.java
  3. 17 2
      biz-base/src/main/java/com/dayou/controller/PaymentCollectionController.java
  4. 1 2
      common/src/main/java/com/dayou/utils/TreeUtil.java
  5. 4 0
      dao/src/main/java/com/dayou/mapper/BusinessOpportunityMapper.java
  6. 8 0
      dao/src/main/java/com/dayou/mapper/PaymentCollectionMapper.java
  7. 26 5
      dao/src/main/resources/mapper/BusinessOpportunityMapper.xml
  8. 43 5
      dao/src/main/resources/mapper/PaymentCollectionMapper.xml
  9. 29 0
      domain/src/main/java/com/dayou/dto/CustomerDTO.java
  10. 5 2
      domain/src/main/java/com/dayou/entity/Customer.java
  11. 18 0
      domain/src/main/java/com/dayou/vo/BusinessOpportunityVO.java
  12. 5 2
      domain/src/main/java/com/dayou/vo/DistrictsTreeVO.java
  13. 27 0
      domain/src/main/java/com/dayou/vo/ItemPaymentVO.java
  14. 17 0
      domain/src/main/java/com/dayou/vo/PaymentCollectionVO.java
  15. 2 1
      service/src/main/java/com/dayou/service/IBusinessOpportunityService.java
  16. 5 4
      service/src/main/java/com/dayou/service/ICustomerService.java
  17. 4 1
      service/src/main/java/com/dayou/service/IPaymentCollectionService.java
  18. 7 2
      service/src/main/java/com/dayou/service/impl/BusinessOpportunityServiceImpl.java
  19. 42 6
      service/src/main/java/com/dayou/service/impl/CustomerServiceImpl.java
  20. 1 0
      service/src/main/java/com/dayou/service/impl/DistrictsServiceImpl.java
  21. 13 2
      service/src/main/java/com/dayou/service/impl/PaymentCollectionServiceImpl.java

+ 3 - 2
biz-base/src/main/java/com/dayou/controller/BusinessOpportunityController.java

@@ -1,5 +1,6 @@
 package com.dayou.controller;
 
+import com.dayou.vo.BusinessOpportunityVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,8 +38,8 @@ public class BusinessOpportunityController extends BaseController {
     * 商机列表
     */
     @GetMapping("")
-    public RestResponse<Page<BusinessOpportunity>> page(BusinessOpportunity businessOpportunity, Page page){
-        Page<BusinessOpportunity> pages=businessOpportunityService.selectPage(page,businessOpportunity);
+    public RestResponse<Page<BusinessOpportunityVO>> page(BusinessOpportunityVO businessOpportunity, Page page){
+        Page<BusinessOpportunityVO> pages=businessOpportunityService.selectPage(page,businessOpportunity);
         return RestResponse.data(pages);
     }
 

+ 7 - 6
biz-base/src/main/java/com/dayou/controller/CustomerController.java

@@ -1,5 +1,6 @@
 package com.dayou.controller;
 
+import com.dayou.dto.CustomerDTO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,8 +39,8 @@ public class CustomerController extends BaseController {
     * 客户表列表
     */
     @GetMapping("")
-    public RestResponse<Page<Customer>> page(Customer customer, Page page){
-        Page<Customer> pages=customerService.selectPage(page,customer);
+    public RestResponse<Page<CustomerDTO>> page(Customer customer, Page page){
+        Page<CustomerDTO> pages=customerService.selectPage(page,customer);
         return RestResponse.data(pages);
     }
 
@@ -47,8 +48,8 @@ public class CustomerController extends BaseController {
      * 客户表详情
      */
     @GetMapping("/{id}")
-    public RestResponse<Customer> detail(@PathVariable Long id){
-        Customer xCustomer =customerService.detail(id);
+    public RestResponse<CustomerDTO> detail(@PathVariable Long id){
+        CustomerDTO xCustomer =customerService.detail(id);
         return RestResponse.data(xCustomer);
      }
 
@@ -56,7 +57,7 @@ public class CustomerController extends BaseController {
      * 客户表新增
      */
     @PostMapping("")
-    public RestResponse<Boolean> save(@RequestBody Customer customer) {
+    public RestResponse<Boolean> save(@RequestBody CustomerDTO customer) {
         Boolean ret = customerService.add(customer);
         return RestResponse.data(ret);
     }
@@ -65,7 +66,7 @@ public class CustomerController extends BaseController {
      * 客户表更新
      */
     @PutMapping("")
-    public RestResponse<Boolean> update(@RequestBody Customer customer) {
+    public RestResponse<Boolean> update(@RequestBody CustomerDTO customer) {
         Boolean ret = customerService.update(customer);
         return RestResponse.data(ret);
     }

+ 17 - 2
biz-base/src/main/java/com/dayou/controller/PaymentCollectionController.java

@@ -1,5 +1,7 @@
 package com.dayou.controller;
 
+import com.dayou.vo.ItemPaymentVO;
+import com.dayou.vo.PaymentCollectionVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -21,6 +23,9 @@ import java.util.List;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.http.MediaType;
 import org.springframework.web.multipart.MultipartFile;
+
+import javax.xml.crypto.dsig.keyinfo.RetrievalMethod;
+
 /**
  * 回款记录
  *
@@ -38,8 +43,8 @@ public class PaymentCollectionController extends BaseController {
     * 回款记录列表
     */
     @GetMapping("")
-    public RestResponse<Page<PaymentCollection>> page(PaymentCollection paymentCollection, Page page){
-        Page<PaymentCollection> pages=paymentCollectionService.selectPage(page,paymentCollection);
+    public RestResponse<Page<PaymentCollectionVO>> page(PaymentCollectionVO paymentCollection, Page page){
+        Page<PaymentCollectionVO> pages=paymentCollectionService.selectPage(page,paymentCollection);
         return RestResponse.data(pages);
     }
 
@@ -92,5 +97,15 @@ public class PaymentCollectionController extends BaseController {
         List<PullDownModel> ret=ConvertUtil.copyList(list, PullDownModel.class);
         return RestResponse.data(ret);
     }
+
+    /**
+     * 项目回款列表
+     * @return
+     */
+    @GetMapping("/item")
+    public RestResponse<IPage<ItemPaymentVO>> getItemPayment(Page page,PaymentCollectionVO paymentCollectionVO){
+        IPage<ItemPaymentVO> result = paymentCollectionService.getItemPayment(page,paymentCollectionVO);
+        return RestResponse.data(result);
+    }
 }
 

+ 1 - 2
common/src/main/java/com/dayou/utils/TreeUtil.java

@@ -98,9 +98,8 @@ public class TreeUtil {
         List<? extends Tree<K,V>> children = list.stream().filter(t->id.equals(t.getParentId())).collect(Collectors.toList());
         if(CollectionUtils.isNotEmpty(children)){
             Collections.sort(children,(o1, o2) -> o1.order() - o2.order());
+            leaf.setChildren(children);
         }
-        leaf.setChildren(children);
-
         list = list.stream().filter(t->!id.equals(t.getId())).collect(Collectors.toList());
         if(CollectionUtils.isNotEmpty(children)){
             for(Tree<K,V> subLeaf:children){

+ 4 - 0
dao/src/main/java/com/dayou/mapper/BusinessOpportunityMapper.java

@@ -1,7 +1,10 @@
 package com.dayou.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dayou.entity.BusinessOpportunity;
 import com.dayou.dao.CustomBaseMapper;
+import com.dayou.vo.BusinessOpportunityVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +16,5 @@ import com.dayou.dao.CustomBaseMapper;
  */
 public interface BusinessOpportunityMapper extends CustomBaseMapper<BusinessOpportunity> {
 
+    Page<BusinessOpportunityVO> getPage(Page page, @Param("dto") BusinessOpportunityVO businessOpportunity);
 }

+ 8 - 0
dao/src/main/java/com/dayou/mapper/PaymentCollectionMapper.java

@@ -1,7 +1,12 @@
 package com.dayou.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dayou.entity.PaymentCollection;
 import com.dayou.dao.CustomBaseMapper;
+import com.dayou.vo.ItemPaymentVO;
+import com.dayou.vo.PaymentCollectionVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +18,7 @@ import com.dayou.dao.CustomBaseMapper;
  */
 public interface PaymentCollectionMapper extends CustomBaseMapper<PaymentCollection> {
 
+    IPage<ItemPaymentVO> getItemPayment(Page page,@Param("dto") PaymentCollectionVO paymentCollectionVO);
+
+    Page<PaymentCollectionVO> page(Page page, @Param("dto") PaymentCollectionVO paymentCollection);
 }

+ 26 - 5
dao/src/main/resources/mapper/BusinessOpportunityMapper.xml

@@ -19,11 +19,32 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id,
-        deleted,
-        created,
-        modified,
-        customer_id, opportunity_name, estimate_amount, estimate_date, remark, state, off_reason
+        business_opportunity.id,
+	business_opportunity.deleted,
+	business_opportunity.created,
+	business_opportunity.modified,
+	business_opportunity.customer_id,
+	business_opportunity.opportunity_name,
+	business_opportunity.estimate_amount,
+	business_opportunity.estimate_date,
+	business_opportunity.remark,
+	business_opportunity.state,
+	business_opportunity.off_reason
     </sql>
 
+    <select id="getPage" parameterType="com.dayou.vo.BusinessOpportunityVO" resultType="com.dayou.vo.BusinessOpportunityVO">
+        select <include refid="Base_Column_List"/> ,c.name as customerName
+        from business_opportunity left join customer c on business_opportunity.customer_id = c.id
+        where c.deleted =0 and business_opportunity.deleted = 0
+        <if test="dto!=null and dto.customerName!=null and dto.customerName!=''">
+            and c.name like concat('%',#{dto.customerName},'%')
+        </if>
+        <if test="dto!=null and dto.opportunityName!=null and dto.opportunityName!=''">
+            and business_opportunity.opportunity_name like concat('%',#{dto.opportunityName},'%')
+        </if>
+        <if test="dto!=null and dto.state!=null and dto.state!=''">
+            and business_opportunity.state = #{dto.state}
+        </if>
+        order by business_opportunity.id DESC
+    </select>
 </mapper>

+ 43 - 5
dao/src/main/resources/mapper/PaymentCollectionMapper.xml

@@ -16,11 +16,49 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id,
-        deleted,
-        created,
-        modified,
-        item_id, name, amount, payment_date
+        pc.id,
+        pc.deleted,
+        pc.created,
+        pc.modified,
+        pc.item_id, pc.name, pc.amount, pc.payment_date
     </sql>
 
+    <select id="page" parameterType="com.dayou.vo.PaymentCollectionVO" resultType="com.dayou.vo.PaymentCollectionVO">
+        select <include refid="Base_Column_List"/>,i.name as itemName
+        from payment_collection pc left join item i on pc.item_id = i.id
+        where i.deleted = 0 and pc.deleted = 0
+        <if test="dto!=null and dto.itemId!=null">
+            and pc.item_id = #{dto.itemId}
+        </if>
+        <if test="dto!=null and dto.itemName!=null and dto.itemName!=''">
+            and i.name like concat ('%',#{dto.itemName},'%')
+        </if>
+        <if test="dto!=null and dto.name!=null and dto.name!=''">
+            and pc.name like concat ('%',#{dto.name},'%')
+        </if>
+        order by pc.payment_date DESC
+    </select>
+    <select id="getItemPayment" parameterType="com.dayou.vo.PaymentCollectionVO" resultType="com.dayou.vo.ItemPaymentVO">
+        SELECT
+            i.id,
+            i.business_no,
+            i.oa_no,
+            i.NAME,
+            i.client_unit,
+            i.client_manager,
+            i.sign_date,
+            i.amount,
+            ifnull(( SELECT sum( amount ) FROM payment_collection WHERE item_id = i.id AND deleted = 0 ), 0 ) AS payedAmount,
+            (
+                    i.amount -(
+                    ifnull(( SELECT sum( amount ) FROM payment_collection WHERE item_id = i.id AND deleted = 0 ), 0 ))) AS NotPayedAmount
+        FROM
+            item i
+        WHERE
+            i.deleted =0
+        <if test="dto!=null and dto.itemName!=null and dto.itemName!=''">
+            and i.name like concat ('%',#{dto.itemName},'%')
+        </if>
+order by i.id DESC
+    </select>
 </mapper>

+ 29 - 0
domain/src/main/java/com/dayou/dto/CustomerDTO.java

@@ -0,0 +1,29 @@
+package com.dayou.dto;
+
+import com.dayou.entity.Customer;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 类说明:
+ *
+ * @author: wucl
+ * @since: 2023/1/11
+ * created with IntelliJ IDEA.
+ */
+@Data
+public class CustomerDTO extends Customer {
+
+    private List<Long> citys;
+
+    /**
+     * 市
+     */
+    private String firstCity;
+
+    /**
+     * 区县
+     */
+    private String secCity;
+}

+ 5 - 2
domain/src/main/java/com/dayou/entity/Customer.java

@@ -6,6 +6,9 @@ import lombok.EqualsAndHashCode;
 import com.dayou.annotation.ExcelSheet;
 import com.dayou.annotation.ExportCell;
 import com.dayou.annotation.ImportCell;
+
+import java.util.List;
+
 /**
  * <p>
  * 客户表
@@ -29,14 +32,14 @@ public class Customer extends BaseEntity {
     private String name;
 
     /**
-     * 市
+     * 
      */
     @ImportCell
     @ExportCell(columnName = "市")
     private String city;
 
     /**
-     * 区/县
+     * 区/县 (已弃用)
      */
     @ImportCell
     @ExportCell(columnName = "区/县")

+ 18 - 0
domain/src/main/java/com/dayou/vo/BusinessOpportunityVO.java

@@ -0,0 +1,18 @@
+package com.dayou.vo;
+
+import com.dayou.entity.BusinessOpportunity;
+import lombok.Data;
+
+/**
+ * 类说明:
+ *
+ * @author: wucl
+ * @since: 2023/1/11
+ * created with IntelliJ IDEA.
+ */
+@Data
+public class BusinessOpportunityVO extends BusinessOpportunity {
+
+    private String customerName;
+
+}

+ 5 - 2
domain/src/main/java/com/dayou/vo/DistrictsTreeVO.java

@@ -17,7 +17,7 @@ import java.util.List;
  */
 @JsonInclude(JsonInclude.Include.NON_NULL)
 @Data
-public class DistrictsTreeVO implements Tree<Long ,String> {
+public class DistrictsTreeVO implements Tree<Long ,String>{
 
     private Long value;
 
@@ -26,6 +26,9 @@ public class DistrictsTreeVO implements Tree<Long ,String> {
     private List<DistrictsTreeVO> children;
 
     private Long parentId;
+
+    private int order;
+
     @Override
     public Long getId() {
         return value;
@@ -43,7 +46,7 @@ public class DistrictsTreeVO implements Tree<Long ,String> {
 
     @Override
     public int order() {
-        return 0;
+        return order;
     }
 
     @Override

+ 27 - 0
domain/src/main/java/com/dayou/vo/ItemPaymentVO.java

@@ -0,0 +1,27 @@
+package com.dayou.vo;
+
+import com.dayou.entity.Item;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 类说明:
+ *
+ * @author: wucl
+ * @since: 2023/1/11
+ * created with IntelliJ IDEA.
+ */
+@Data
+public class ItemPaymentVO extends Item {
+
+    /**
+     * 已回款
+     */
+    private BigDecimal payedAmount;
+
+    /**
+     * 未回款
+     */
+    private BigDecimal NotPayedAmount;
+}

+ 17 - 0
domain/src/main/java/com/dayou/vo/PaymentCollectionVO.java

@@ -0,0 +1,17 @@
+package com.dayou.vo;
+
+import com.dayou.entity.PaymentCollection;
+import lombok.Data;
+
+/**
+ * 类说明:
+ *
+ * @author: wucl
+ * @since: 2023/1/11
+ * created with IntelliJ IDEA.
+ */
+@Data
+public class PaymentCollectionVO extends PaymentCollection {
+
+    private String itemName;
+}

+ 2 - 1
service/src/main/java/com/dayou/service/IBusinessOpportunityService.java

@@ -3,6 +3,7 @@ import com.dayou.entity.BusinessOpportunity;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.dayou.vo.BusinessOpportunityVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
 /**
@@ -15,7 +16,7 @@ import org.springframework.web.multipart.MultipartFile;
  */
 public interface IBusinessOpportunityService extends IService<BusinessOpportunity> {
 
-        Page<BusinessOpportunity> selectPage(Page page,BusinessOpportunity businessOpportunity);
+        Page<BusinessOpportunityVO> selectPage(Page page, BusinessOpportunityVO businessOpportunity);
 
         BusinessOpportunity detail(Long id);
 

+ 5 - 4
service/src/main/java/com/dayou/service/ICustomerService.java

@@ -1,4 +1,5 @@
 package com.dayou.service;
+import com.dayou.dto.CustomerDTO;
 import com.dayou.entity.Customer;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -15,13 +16,13 @@ import org.springframework.web.multipart.MultipartFile;
  */
 public interface ICustomerService extends IService<Customer> {
 
-        Page<Customer> selectPage(Page page,Customer customer);
+        Page<CustomerDTO> selectPage(Page page,Customer customer);
 
-        Customer detail(Long id);
+        CustomerDTO detail(Long id);
 
-        Boolean add(Customer customer);
+        Boolean add(CustomerDTO customer);
 
-        Boolean update(Customer customer);
+        Boolean update(CustomerDTO customer);
 
         Boolean delete(Long id);
 

+ 4 - 1
service/src/main/java/com/dayou/service/IPaymentCollectionService.java

@@ -3,6 +3,8 @@ import com.dayou.entity.PaymentCollection;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.dayou.vo.ItemPaymentVO;
+import com.dayou.vo.PaymentCollectionVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
 /**
@@ -15,7 +17,7 @@ import org.springframework.web.multipart.MultipartFile;
  */
 public interface IPaymentCollectionService extends IService<PaymentCollection> {
 
-        Page<PaymentCollection> selectPage(Page page,PaymentCollection paymentCollection);
+        Page<PaymentCollectionVO> selectPage(Page page, PaymentCollectionVO paymentCollection);
 
         PaymentCollection detail(Long id);
 
@@ -25,4 +27,5 @@ public interface IPaymentCollectionService extends IService<PaymentCollection> {
 
         Boolean delete(Long id);
 
+    IPage<ItemPaymentVO> getItemPayment(Page page,PaymentCollectionVO paymentCollectionVO);
 }

+ 7 - 2
service/src/main/java/com/dayou/service/impl/BusinessOpportunityServiceImpl.java

@@ -4,6 +4,8 @@ import com.dayou.entity.BusinessOpportunity;
 import com.dayou.mapper.BusinessOpportunityMapper;
 import com.dayou.service.IBusinessOpportunityService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayou.vo.BusinessOpportunityVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -35,11 +37,14 @@ import com.dayou.enums.BatchTaskTypeEnum;
 @Service
 public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportunityMapper, BusinessOpportunity> implements IBusinessOpportunityService {
 
+    @Autowired
+    private BusinessOpportunityMapper businessOpportunityMapper;
 
     @Override
     @SuppressWarnings("unchecked")
-    public Page<BusinessOpportunity> selectPage(Page page,BusinessOpportunity businessOpportunity){
-        return this.page(page, new QueryWrapper<BusinessOpportunity>(businessOpportunity));
+    public Page<BusinessOpportunityVO> selectPage(Page page, BusinessOpportunityVO businessOpportunity){
+        Page<BusinessOpportunityVO> result = businessOpportunityMapper.getPage(page,businessOpportunity);
+        return result;
     }
 
 

+ 42 - 6
service/src/main/java/com/dayou/service/impl/CustomerServiceImpl.java

@@ -1,9 +1,18 @@
 package com.dayou.service.impl;
 
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.dayou.dto.CustomerDTO;
 import com.dayou.entity.Customer;
+import com.dayou.entity.Districts;
 import com.dayou.mapper.CustomerMapper;
 import com.dayou.service.ICustomerService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayou.service.IDistrictsService;
+import com.fasterxml.jackson.databind.util.BeanUtil;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -19,6 +28,9 @@ import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
+
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.ArrayList;
 import org.springframework.transaction.annotation.Transactional;
@@ -36,25 +48,49 @@ import com.dayou.enums.BatchTaskTypeEnum;
 public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> implements ICustomerService {
 
 
+    @Autowired
+    private IDistrictsService districtsService;
+
     @Override
     @SuppressWarnings("unchecked")
-    public Page<Customer> selectPage(Page page,Customer customer){
-        return this.page(page, new QueryWrapper<Customer>(customer));
+    public Page<CustomerDTO> selectPage(Page page,Customer customer){
+        Page result = this.page(page, new QueryWrapper<Customer>(customer));
+        List<CustomerDTO> xRecords = new ArrayList<>();
+        List<Customer> records = result.getRecords();
+        records.stream().forEach(x->{
+            CustomerDTO dto = new CustomerDTO();
+            BeanUtils.copyProperties(x,dto);
+            if (StrUtil.isNotEmpty(x.getCity())){
+                List<Long> citys = JSON.parseArray(x.getCity(), Long.class);
+                List<Districts> list = districtsService.list(new LambdaQueryWrapper<Districts>().select(Districts::getExtName).in(Districts::getId, citys));
+                dto.setFirstCity(list.get(1).getExtName());
+                dto.setSecCity(list.get(2).getExtName());
+            }
+            xRecords.add(dto);
+        });
+        result.setRecords(xRecords);
+        return result;
     }
 
 
     @Override
-    public Customer detail(Long id){
-        return this.getById(id);
+    public CustomerDTO detail(Long id){
+        Customer byId = this.getById(id);
+        CustomerDTO dto = new CustomerDTO();
+        BeanUtils.copyProperties(byId,dto);
+        dto.setCitys(JSON.parseArray(byId.getCity(),Long.class));
+        return dto;
     }
 
     @Override
-    public Boolean add(Customer customer){
+    public Boolean add(CustomerDTO customer){
+        customer.setCity(JSON.toJSONString(customer.getCitys()));
         return  this.save(customer);
     }
 
     @Override
-    public Boolean update(Customer customer){
+    public Boolean update(CustomerDTO customer){
+        customer.setCity(JSON.toJSONString(customer.getCitys()));
         return  this.updateById(customer);
     }
 

+ 1 - 0
service/src/main/java/com/dayou/service/impl/DistrictsServiceImpl.java

@@ -64,6 +64,7 @@ public class DistrictsServiceImpl extends ServiceImpl<DistrictsMapper, Districts
                 districtsTreeVO.setValue(x.getId());
                 districtsTreeVO.setLabel(x.getExtName());
                 districtsTreeVO.setParentId(x.getPid());
+                districtsTreeVO.setOrder(x.getWeight());
                 return districtsTreeVO;
             });
 

+ 13 - 2
service/src/main/java/com/dayou/service/impl/PaymentCollectionServiceImpl.java

@@ -4,6 +4,9 @@ import com.dayou.entity.PaymentCollection;
 import com.dayou.mapper.PaymentCollectionMapper;
 import com.dayou.service.IPaymentCollectionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayou.vo.ItemPaymentVO;
+import com.dayou.vo.PaymentCollectionVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -35,11 +38,13 @@ import com.dayou.enums.BatchTaskTypeEnum;
 @Service
 public class PaymentCollectionServiceImpl extends ServiceImpl<PaymentCollectionMapper, PaymentCollection> implements IPaymentCollectionService {
 
+    @Autowired
+    private PaymentCollectionMapper paymentCollectionMapper;
 
     @Override
     @SuppressWarnings("unchecked")
-    public Page<PaymentCollection> selectPage(Page page,PaymentCollection paymentCollection){
-        return this.page(page, new QueryWrapper<PaymentCollection>(paymentCollection));
+    public Page<PaymentCollectionVO> selectPage(Page page, PaymentCollectionVO paymentCollection){
+        return paymentCollectionMapper.page(page, paymentCollection);
     }
 
 
@@ -63,4 +68,10 @@ public class PaymentCollectionServiceImpl extends ServiceImpl<PaymentCollectionM
         //逻辑删除
         return this.removeById(id);
     }
+
+    @Override
+    public IPage<ItemPaymentVO> getItemPayment(Page page,PaymentCollectionVO paymentCollectionVO) {
+        IPage<ItemPaymentVO> result = paymentCollectionMapper.getItemPayment(page,paymentCollectionVO);
+        return result;
+    }
 }