From af754dc0c5b9aa1830ec325d751fc213ae2de8e9 Mon Sep 17 00:00:00 2001 From: zhengfangyuan Date: Sat, 31 Dec 2022 16:09:32 +0800 Subject: [PATCH] fix bug --- .../WxPropertyContractController.java | 11 +++++ .../contract/WxRentContractController.java | 1 + .../controller/market/WxCouponController.java | 40 +++++++++++++++++++ .../db/migration/V202301200001__contract.sql | 4 ++ .../iformall/schedule/ContractSchedule.java | 22 ++++++++++ .../domain/po/WxPropertyContract.java | 3 ++ .../mapper/WxPropertyContractMapper.java | 6 ++- .../service/WxPropertyContractService.java | 6 +++ .../impl/WxPropertyContractServiceImpl.java | 10 +++++ .../impl/WxRentContractServiceImpl.java | 4 +- .../main/resources/mapper/WxCouponMapper.xml | 7 ++++ .../mapper/WxPropertyContractMapper.xml | 21 +++++++++- 12 files changed, 130 insertions(+), 5 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java index 473cdf465..0b6c0c919 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java @@ -277,6 +277,17 @@ public class WxPropertyContractController extends WxContractBaseController { return new ResultData(proertyContract); } + /** + * 设置定时终止时间 + * @return + */ + @PostMapping("setEndContractTime") + @SystemControllerLog(description = "物业合同-设置定时终止合同时间") + public ResultData setEndContractTime(@RequestBody WxPropertyContract proertyContract) { + wxPropertyContractService.setEndContractTime(proertyContract); + return new ResultData(); + } + @PostMapping("effective") @ApiImplicitParams({}) @SystemControllerLog(description = "物业合同-合同生效") diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java index 1160e0ccb..e64d8e732 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -481,6 +481,7 @@ public class WxRentContractController extends WxContractBaseController { if(contract.getOperationType().intValue() == EnumContractOperationType.WHOLE.getCode().intValue()) { WxPropertyContract wpc = new WxPropertyContract(); wpc.setId(wxRentContract.getPropertyId()); + wpc.setEndContractTime(wxRentContract.getEndContractTime()); wxPropertyContractService.endContract(wpc); } return new ResultData(); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java index 838f2c9e1..affda03cf 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java @@ -456,6 +456,16 @@ public class WxCouponController extends BaseController { wxCoupon.setEnddate(DateUtils.stringToDate(DateUtils.getSystemTime("yyyy-MM-dd") + " 23:59:59")); } wxCoupon.setSourceType(EnumCouponSourceType.COUPONSource_Admin.getCode()); + //根据上架时间查询券 + WxCouponChannel couponChannelQ = new WxCouponChannel(); + couponChannelQ.updateTenantInfo(tenantEntity); + couponChannelQ.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); + couponChannelQ.setStartdate(wxCoupon.getStartdate()); + couponChannelQ.setEnddate(wxCoupon.getEnddate()); + List couponIds = wxCouponChannelService.findCouponIdList(couponChannelQ); + if (null != couponIds && couponIds.size() > 0 ) { + wxCoupon.setIds(couponIds); + } PageInfo pageInfo = wxCouponService.findCountData(wxCoupon,tenantEntitys, pageNum, pageSize); for (WxCouponStatisVo coupon : pageInfo.getList()) { if (coupon.getSaleAmount() == null) { @@ -486,6 +496,16 @@ public class WxCouponController extends BaseController { wxCoupon.setEnddate(DateUtils.stringToDate(DateUtils.getSystemTime("yyyy-MM-dd") + " 23:59:59")); } wxCoupon.setSourceType(EnumCouponSourceType.COUPONSource_Admin.getCode()); + //根据上架时间查询券 + WxCouponChannel couponChannelQ = new WxCouponChannel(); + couponChannelQ.updateTenantInfo(tenantEntity); + couponChannelQ.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); + couponChannelQ.setStartdate(wxCoupon.getStartdate()); + couponChannelQ.setEnddate(wxCoupon.getEnddate()); + List couponIds = wxCouponChannelService.findCouponIdList(couponChannelQ); + if (null != couponIds && couponIds.size() > 0 ) { + wxCoupon.setIds(couponIds); + } wxCouponService.exportCardData(wxCoupon,tenantEntitys, request, response); } @@ -509,6 +529,16 @@ public class WxCouponController extends BaseController { } wxCoupon.setSourceType(EnumCouponSourceType.COUPONSource_Admin.getCode()); + //根据上架时间查询券 + WxCouponChannel couponChannelQ = new WxCouponChannel(); + couponChannelQ.updateTenantInfo(tenantEntity); + couponChannelQ.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); + couponChannelQ.setStartdate(wxCoupon.getStartdate()); + couponChannelQ.setEnddate(wxCoupon.getEnddate()); + List couponIds = wxCouponChannelService.findCouponIdList(couponChannelQ); + if (null != couponIds && couponIds.size() > 0 ) { + wxCoupon.setIds(couponIds); + } PageInfo pageInfo = wxCouponService.findCouponData(wxCoupon, tenantEntitys, pageNum, pageSize); for (WxCouponStatisVo coupon : pageInfo.getList()) { @@ -537,6 +567,16 @@ public class WxCouponController extends BaseController { } wxCoupon.setSourceType(EnumCouponSourceType.COUPONSource_Admin.getCode()); + //根据上架时间查询券 + WxCouponChannel couponChannelQ = new WxCouponChannel(); + couponChannelQ.updateTenantInfo(tenantEntity); + couponChannelQ.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); + couponChannelQ.setStartdate(wxCoupon.getStartdate()); + couponChannelQ.setEnddate(wxCoupon.getEnddate()); + List couponIds = wxCouponChannelService.findCouponIdList(couponChannelQ); + if (null != couponIds && couponIds.size() > 0 ) { + wxCoupon.setIds(couponIds); + } wxCouponService.exportCouponData(wxCoupon,tenantEntitys, request, response); } diff --git a/mallinkAdmin/src/main/resources/db/migration/V202301200001__contract.sql b/mallinkAdmin/src/main/resources/db/migration/V202301200001__contract.sql index 532d4f263..8b7ddf739 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V202301200001__contract.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V202301200001__contract.sql @@ -13,4 +13,8 @@ ADD COLUMN `revenue_ratio_set` JSON COMMENT '联营扣点调整比率(仅联 ALTER TABLE `mallink`.`wx_rent_contract` ADD COLUMN `end_contract_time` datetime COMMENT '终止时间'; +ALTER TABLE `mallink`.`wx_property_contract` +ADD COLUMN `end_contract_time` datetime COMMENT '终止时间'; +ALTER TABLE `mallink`.`wx_rent_contract` +ADD COLUMN `bussiness_management_fee` bigint(12) COMMENT '商业管理费'; diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java index 28c6e85de..4546016c5 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java @@ -105,5 +105,27 @@ public class ContractSchedule { } } } + + /** + * 凌晨5分 + */ + @Async + @Scheduled(cron = "0 5 0 * * ?") + public void endProperyContract() { + List wxMalls = wxMallMapper.findList(null); + for (WxMall wxMall : wxMalls) { + //物业合同 + WxPropertyContract record = new WxPropertyContract(); + record.updateTenantInfo(wxMall); + List contractList = wxPropertyContractService.findToEndContractList(record); + for (WxPropertyContract rent:contractList) { + try { + wxPropertyContractService.endContract(rent); + }catch(Exception e) { + log.error("rentcontract outDate error.",e); + } + } + } + } } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java b/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java index 76f501808..c8ce3b00a 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java @@ -124,6 +124,9 @@ public class WxPropertyContract extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "起租结束时间", name = "rentalEndDate") private Date endDate; + + @io.swagger.annotations.ApiModelProperty(value = "终止时间", name = "endContractTime") + private Date endContractTime; @io.swagger.annotations.ApiModelProperty(value = "租赁商铺类型", name = "rentShopType") private Integer rentShopType; diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java index 8f1d06b2d..1e340e752 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java @@ -56,5 +56,9 @@ public interface WxPropertyContractMapper extends CommonMapper findToEndContractList(WxPropertyContract rentContract); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java index 26f074b9f..5d59811e1 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java @@ -8,6 +8,8 @@ import com.iformall.domain.po.WxBillRent; import com.iformall.domain.po.WxMall; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxPropertyContract; +import com.iformall.domain.po.WxRentContract; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -93,5 +95,9 @@ public interface WxPropertyContractService { WxPropertyContract getSimpleDetail(@Param("id") Long id); void updatePropertyContract(WxPropertyContract record); + + void setEndContractTime(WxPropertyContract proertyContract); + + List findToEndContractList(WxPropertyContract record); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index 971f77026..d1956b86e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -1191,6 +1191,16 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService } } + + @Override + public void setEndContractTime(WxPropertyContract proertyContract) { + wxPropertyContractMapper.setEndContractTime(proertyContract); + } + + @Override + public List findToEndContractList(WxPropertyContract record) { + return wxPropertyContractMapper.findToEndContractList(record); + } } 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 06789543c..de4168c4d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1901,14 +1901,14 @@ public class WxRentContractServiceImpl implements WxRentContractService { wxPropertyContract.setStatuss(EnumRentContractStatus.getValidStatus()); wxPropertyContract.setUpdatetime(new Date()); wxPropertyContract.setStatus(EnumRentContractStatus.TERMINATE.getCode()); - wxPropertyContractMapper.endContract(wxRentContract); + wxPropertyContractMapper.endContract(wxPropertyContract); //作废未生效的合同 List unvalidstatuss = new ArrayList(); unvalidstatuss.add(EnumRentContractStatus.DRAFT.getCode()); unvalidstatuss.add(EnumRentContractStatus.PERFORMANCE.getCode()); wxPropertyContract.setStatuss(unvalidstatuss); wxPropertyContract.setStatus(EnumRentContractStatus.INVALID.getCode()); - wxPropertyContractMapper.endContract(wxRentContract); + wxPropertyContractMapper.endContract(wxPropertyContract); //物业账单失效 wxBillPropertyMapper.updateInvalidStatusByRent(wxRentContract); diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index 1ab55a626..90a9cd869 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -1048,6 +1048,13 @@ and c.id = #{wxCoupon.id} + + and c.id in + + #{idItem} + + + order by ${wxCoupon.sortColumns} order by c.status asc,c.create_date desc diff --git a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml index deaeb5c58..6f5ab6655 100644 --- a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml @@ -48,6 +48,8 @@ + + @@ -57,7 +59,7 @@ `shop_type`,`updatetime`,`createtime`,`rent_area`,`rent_shop_type`, `link_person`,`link_phone`,`pay_account`,`filename`,`lease`,`rent_contract_id`, `start_date`,`end_date`,`apply_status`,`adjust_period`,`business_type`,adjust_ratio,`rent_info`,fixed_price, - `file_names`,price_unit,rent_price,subject_name,rent_start_type,`operation_type`,late_pay_ratio,late_pay_day + `file_names`,price_unit,rent_price,subject_name,rent_start_type,`operation_type`,late_pay_ratio,late_pay_day,end_contract_time @@ -395,7 +397,11 @@ - update wx_property_contract set status=#{status} where id=#{id} + update wx_property_contract set status=#{status} + + ,end_contract_time = #{endContractTime} + + where id=#{id} @@ -430,4 +436,15 @@ + + update wx_property_contract set end_contract_time = #{endContractTime} where id = #{id} + + + +