diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxAgileContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxAgileContractController.java index 461c59ee6..c2ff11a14 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxAgileContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxAgileContractController.java @@ -339,6 +339,18 @@ public class WxAgileContractController extends WxContractBaseController { record.setSortColumns("starttime asc , status asc"); return new ResultData(wxAllBillService.listAsPage(record, pageNum, pageSize)); } + + @ApiOperation("分页列表接口") + @GetMapping("contractCustomerList") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData contractCustomerList(@ModelAttribute WxContractCustomers record, Integer pageNum, Integer pageSize) { + if (record == null) record = new WxContractCustomers(); + record.updateTenantInfo(getTenantInfo()); + record.setSortColumns(BaseEntity.SortField.CreateDate_DESC); + return new ResultData(wxAgileContractService.getContractCustomersList(record, pageNum, pageSize)); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/WxAgileContractService.java b/mallinkService/src/main/java/com/iformall/service/WxAgileContractService.java index a0a67b408..0457c751c 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxAgileContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxAgileContractService.java @@ -40,4 +40,6 @@ public interface WxAgileContractService { List findShopContractIds(TenantEntity tenantEntity,List shopIds); WxContractCustomers findCustomers(TenantEntity tenantEntity,Long customerId); + + PageInfo getContractCustomersList(WxContractCustomers record, Integer pageIndex, Integer pageSize); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java index ecb3cd0a6..45cac4bee 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java @@ -25,6 +25,7 @@ import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.BillTimeVo; import com.iformall.enums.EnumBillAllType; import com.iformall.enums.EnumBillExtraCreateFrom; +import com.iformall.enums.EnumContractCustomersStatus; import com.iformall.enums.EnumFeesShopTimeType; import com.iformall.enums.EnumRentContractAdjustPeriod; import com.iformall.enums.EnumRentContractAgilPriceUnit; @@ -164,6 +165,10 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { if (StringUtils.isEmpty(record.getDeposit())) { record.setDeposit("0"); } + List shopList = record.shopIdsByRentInfo(); + setShops(record,shopList); + //关联客户 + setCustomers(record); try { record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); record.setStatus(EnumRentContractStatus.DRAFT.getCode()); @@ -179,6 +184,58 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { return new ResultData(Result.SUCCESS, "保存合同信息成功", record); } + + + public void setCustomers(WxRentContract record) { + WxContractCustomers cq = new WxContractCustomers(); + cq.updateTenantInfo(record); + cq.setPrincipalType(record.getCustomerType()); + cq.setNameEqal(record.getCustomerName()); + cq.setPhoneEqal(record.getCustomerPhone()); + List list = wxContractCustomersMapper.findList(cq); + WxContractCustomers cus = null; + if (null != list && list.size() > 0 ){ + cus = list.get(0); + } + if (null == cus) { + final IdWorker idWorker = IdWorker.get(); + cus = new WxContractCustomers(); + cus.updateTenantInfo(record); + cus.setId(idWorker.nextId()); + cus.setPrincipalType(record.getCustomerType()); + cus.setName(record.getCustomerName()); + cus.setPhone(record.getCustomerPhone()); + cus.setLegalPerson(record.getCustomerLegalPerson()); + cus.setLinkPerson(record.getCustomerLinkPerson()); + cus.setCreateDate(new Date()); + cus.setUpdateDate(new Date()); + cus.setStatus(EnumContractCustomersStatus.TEMP.getCode()); + wxContractCustomersMapper.insert(cus); + } + record.setCustomersId(cus.getId()); + } + + public void setShops(WxRentContract record,List shopIdList) { + WxContractShop sdel = new WxContractShop(); + sdel.updateTenantInfo(record); + sdel.setContractId(record.getId()); + wxContractShopMapper.deleteByCondition(sdel); + + if (null != shopIdList && shopIdList.size() > 0 ) { + final IdWorker idWorker = IdWorker.get(); + for ( int i = 0 ; i < shopIdList.size(); i ++) { + WxContractShop s = new WxContractShop(); + s.updateTenantInfo(record); + s.setContractId(record.getId()); + s.setShopId(shopIdList.get(i)); + s.setCreateDate(new Date()); + s.setUpdateDate(new Date()); + s.setId(idWorker.nextId()); + wxContractShopMapper.insert(s); + } + } + + } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override @@ -629,6 +686,10 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { return wxContractCustomersMapper.selectById(customerId, tenantEntity.getTenantId()); } - + @Override + public PageInfo getContractCustomersList(WxContractCustomers record, Integer pageIndex, Integer pageSize) { + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxContractCustomersMapper.findList(record)); + return pageInfo; + } }