diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestTaskController.java b/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestTaskController.java index f5100aa93..b9d213f25 100755 --- a/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestTaskController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestTaskController.java @@ -60,7 +60,7 @@ public class InvestTaskController extends InvestBaseController { @SystemServiceLog @PostMapping("/save") public InvestResultData save(@RequestBody InvestTaskEntity investTask) { - return execute(investTask, p -> investTaskService.save(p)); + return execute(investTask, p -> bizService.saveTask(p)); } /** @@ -69,7 +69,7 @@ public class InvestTaskController extends InvestBaseController { @SystemServiceLog @PostMapping("/update") public InvestResultData update(@RequestBody InvestTaskEntity investTask) { - return execute(investTask, p -> investTaskService.updateById(p)); + return execute(investTask, p -> bizService.updateTask(p)); } /** diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/invest/InvestPageResult.java b/mallinkService/src/main/java/com/iformall/domain/vo/invest/InvestPageResult.java index 725611355..2b256ef35 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/invest/InvestPageResult.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/invest/InvestPageResult.java @@ -33,7 +33,7 @@ public class InvestPageResult { public void setRecords(Collection records) { this.records = records; - if (total > (records.size() + current * size)) { + if (total > (records.size() + (current-1) * size)) { hasNextPage = true; } } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java index c0d007443..6ed92f61e 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java @@ -60,7 +60,8 @@ public interface WxRentContractMapper extends CommonMapper List selectRentContractByShopId(WxRentContract record); - List selectRentContractByShopIds(@Param("shopIds") Collection shopIds, @Param("shopIdsRegexp") String shopIdsRegexp); + List selectRentContractByShopIds(@Param("shopIds") Collection shopIds, + @Param("shopIdsRegexp") String shopIdsRegexp,@Param("tenantId") String tenantId); int hasContractNumber(WxRentContract wxRentContract); @@ -70,6 +71,7 @@ public interface WxRentContractMapper extends CommonMapper WxRentContract getByBill(WxBillRent billRent); + int selectContractCountByShopId(WxRentContract wxRentContract); int getShopCountMax(); List> queryContractByBus(WxBusiness wxBusiness); diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java index ebe2ada4e..ade291945 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java @@ -94,6 +94,7 @@ public interface WxRentContractService { WxRentContract getByBill(WxBillRent billRent); - Map selectRentContractByShopIds(Collection shopIds, String shopIdsRegexp); + Map selectRentContractByShopIds(Collection shopIds, String shopIdsRegexp,String tenantId); + int selectContractCountByShopId(WxRentContract wxRentContract); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 13707b314..3ceac0416 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -2492,8 +2492,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { } @Override - public Map selectRentContractByShopIds(Collection shopIds, String shopIdsRegexp) { - List list = wxRentContractMapper.selectRentContractByShopIds(shopIds, shopIdsRegexp); + public Map selectRentContractByShopIds(Collection shopIds, String shopIdsRegexp,String tenantId) { + List list = wxRentContractMapper.selectRentContractByShopIds(shopIds, shopIdsRegexp,tenantId); List shopIdArr = Arrays.asList(StringUtils.split(shopIdsRegexp,"|")) ; Map allShopContract = new HashMap<>(); for (WxRentContract wxRentContract : list) { @@ -2522,4 +2522,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { } return allShopContract; } + + @Override + public int selectContractCountByShopId(WxRentContract wxRentContract) { + return wxRentContractMapper.selectContractCountByShopId(wxRentContract) ; + } } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java b/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java index c02341f5f..f61664680 100644 --- a/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java @@ -3,6 +3,7 @@ package com.iformall.service.invest; import com.iformall.domain.dto.InvestDemandDto; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.invest.InvestMessageEntity; +import com.iformall.domain.po.invest.InvestTaskEntity; import com.iformall.domain.vo.invest.*; import java.util.Collection; @@ -31,6 +32,10 @@ public interface InvestBizService { boolean updateCustomerAndDemand(InvestDemandDto customerDto) ; + boolean saveTask(InvestTaskEntity investTaskEntity) ; + + boolean updateTask(InvestTaskEntity investTaskEntity) ; + InvestDemandVo findDemandById(Long id) ; InvestTaskVo findTaskById(Long id) ; diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java index 3a3686236..808cd8598 100644 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java @@ -152,7 +152,8 @@ public class InvestBizServiceImpl implements InvestBizService { if (CollectionUtils.isNotEmpty(shops)) { Collection shopPointIds = buildShopContractQuery(shops, EnumRentShopType.POINT); Collection shopIds = buildShopContractQuery(shops, EnumRentShopType.SHOP); - shopContractMap = rentContractService.selectRentContractByShopIds(shopPointIds, StringUtils.join(shopIds, "|")); + shopContractMap = rentContractService.selectRentContractByShopIds(shopPointIds, StringUtils.join(shopIds, "|"), + InvestUserContext.getUser().getTenantId()); } for (WxShop shop : shops) { WxRentContract contract = shopContractMap.get(shop.getId()); @@ -367,6 +368,18 @@ public class InvestBizServiceImpl implements InvestBizService { return demandService.updateById(demandEntity); } + @Override + public boolean saveTask(InvestTaskEntity investTaskEntity) { + syncTargetStatus(investTaskEntity); + return taskService.save(investTaskEntity); + } + + @Override + public boolean updateTask(InvestTaskEntity investTaskEntity) { + syncTargetStatus(investTaskEntity); + return taskService.updateById(investTaskEntity); + } + @Override public InvestDemandVo findDemandById(Long id) { InvestCustomerEntity customerEntity = customerService.getByIdNotNull(id); @@ -472,6 +485,21 @@ public class InvestBizServiceImpl implements InvestBizService { return buildFollowRecordItem(usersMap, followRecordEntity, customerEntity, brand); } + private void syncTargetStatus(InvestTaskEntity investTaskEntity) { + WxRentContract contractQuery = new WxRentContract(); + contractQuery.setTenantId(InvestUserContext.getUser().getTenantId()); + contractQuery.setShopId(investTaskEntity.getTargetId()); + contractQuery.setStatus(EnumRentContractStatus.INTENTION.getCode()); + int count = rentContractService.selectContractCountByShopId(contractQuery); + if (count > 0) { + investTaskEntity.setStatus(EnumTaskStatus.INTENTION); + } else { + if (StringUtils.isNotEmpty(investTaskEntity.getOwner())) { + investTaskEntity.setStatus(EnumTaskStatus.NEGOTIATING); + } + } + } + private InvestFollowRecordVo buildFollowRecordItem(Map usersMap, InvestFollowRecordEntity item, InvestCustomerEntity customerEntity, WxBrand brand) { List ownerInfo = getMallUserInfos(usersMap, item); diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java index 5433dc26a..334f08c3f 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java @@ -30,6 +30,7 @@ public class InvestTaskServiceImpl extends InvestBaseServiceImpl updateWrapper) { super.updateActon(entity, updateWrapper, this::checkBeforeSaveOrUpdate); saveMessage(entity); + //TODO 同步一下签约状态 return true; } diff --git a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml index 499e9c8e8..cc1e84cac 100644 --- a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml @@ -435,7 +435,7 @@ + +