diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractExtensionController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractExtensionController.java deleted file mode 100644 index fbb2fd81e..000000000 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractExtensionController.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.iformall.controller.contract; - -import com.iformall.annotation.SystemControllerLog; -import com.iformall.common.Result; -import com.iformall.common.ResultData; -import com.iformall.controller.base.BaseController; -import com.iformall.domain.po.MallUserInfo; -import com.iformall.domain.po.WxPropertyContract; -import com.iformall.domain.po.WxRentContract; -import com.iformall.enums.EnumContractType; -import com.iformall.enums.EnumRentStartType; -import com.iformall.service.WxPropertyContractService; -import com.iformall.service.WxRentPropertyContractService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -/** - * @author: furunxin - * @Date: 2020/7/20 18:11 - * @Description: - */ - -@Slf4j -@RestController -@Api(description = "物业合同续签") -@RequestMapping("wxPropertyContractExtension") -public class WxPropertyContractExtensionController extends WxContractBaseController { - - @Autowired - private WxPropertyContractService wxPropertyContractService; - - @Autowired - private WxRentPropertyContractService wxRentPropertyContractService; - - @GetMapping("getMerchantList") - @SystemControllerLog(description = "获取可续签商户列表") - @ApiImplicitParams({ - @ApiImplicitParam(name = "shopType", value = "店铺类型 1:店铺 2:多经点位", dataType = "Integer", paramType = "query", required = true)}) - public ResultData getMerchantList(Integer shopType) throws Exception{ - WxPropertyContract wxPropertyContract = new WxPropertyContract(); - wxPropertyContract.updateTenantInfo(getTenantInfo()); - wxPropertyContract.setRentShopType(shopType); - return new ResultData(Result.SUCCESS, "查询成功", wxPropertyContractService.getMerchantList(wxPropertyContract)); - } - - @PostMapping("add") - @SystemControllerLog(description = "物业合同-新增") - public ResultData add(@RequestBody WxPropertyContract wxPropertyContract) { - log.debug("[" + getIpAddr() + "] WxPropertyContractController::add"); - MallUserInfo user = getUser(); - wxPropertyContract.updateTenantInfo(user); - wxPropertyContract.setAdjustPeriodHandle(); - Integer contractType = wxRentPropertyContractService.getContractType(wxPropertyContract.getRentShopType(), wxPropertyContract.getOperationType(), EnumContractType.PROPERTY.getCode()); - wxPropertyContract.setContractType(contractType); - if(wxPropertyContract.getRentStartType()!=null && wxPropertyContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ - wxPropertyContract.setRentalStartDate(wxPropertyContract.getStartDate()); - } - return wxPropertyContractService.saveOrUpdate2(wxPropertyContract, user.getId(), user.getName()); - } - - @PostMapping("update") - @SystemControllerLog(description = "物业合同-修改") - public ResultData update(@RequestBody WxPropertyContract wxPropertyContract) { - log.debug("[" + getIpAddr() + "] WxPropertyContractController::update"); - MallUserInfo user = getUser(); - wxPropertyContract.updateTenantInfo(user); - wxPropertyContract.setAdjustPeriodHandle(); - //第三步提交 SWITCH - return wxPropertyContractService.saveOrUpdate2(wxPropertyContract, user.getId(), user.getName()); - - } -} 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 a9a03401e..82a4fde26 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -12,6 +12,8 @@ import com.iformall.enums.EnumFlowContractType; import com.iformall.enums.EnumFlowKey; import com.iformall.enums.EnumFromType; import com.iformall.enums.EnumIsPreview; +import com.iformall.enums.EnumRentContractAppStatus; +import com.iformall.enums.EnumRentContractStatus; import com.iformall.enums.EnumRentStartType; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxBillPropertyMapper; @@ -64,51 +66,6 @@ public class WxRentContractController extends WxContractBaseController { private WxRentPropertyContractService wxRentPropertyContractService; - - - @GetMapping("getMerchantList") - @SystemControllerLog(description = "获取商户列表") - @ApiImplicitParams({ - @ApiImplicitParam(name = "shopType", value = "店铺类型 1:店铺 2:多经点位", dataType = "Integer", paramType = "query", required = true)}) - public ResultData getMerchantList(Integer shopType) throws Exception{ - WxMerchant wxMerchant = new WxMerchant(); - wxMerchant.updateTenantInfo(getTenantInfo()); - wxMerchant.setRentShopType(shopType); - return new ResultData(Result.SUCCESS, "查询成功", wxMerchantService.getMerchantList(wxMerchant)); - } - - @GetMapping("autolatePay") - @SystemControllerLog(description = "autolatePay") - public ResultData autolatePay(String startDate, String endDate) throws Exception{ - try { - logger.info("账单滞纳金更新开始"); - wxBillRentMapper.insertBillAction(); - wxBillPropertyMapper.insertBillAction(); - - wxBillRentMapper.autoAddLatePayPrice(); - wxBillPropertyMapper.autoAddLatePayPrice(); - logger.info("账单滞纳金更新结束"); - }catch (Exception e){ - logger.error("LatePayBillActionSchedule error! message:{}",e.getMessage()); - logger.error("LatePayBillActionSchedule error!",e); - } - return new ResultData(); - } - - @GetMapping("getDateDiff") - @ApiImplicitParams({ - @ApiImplicitParam(name = "startDate", value = "开始时间", dataType = "string", paramType = "query", required = true), - @ApiImplicitParam(name = "endtDate", value = "结束时间", dataType = "string", paramType = "query", required = true)}) - @SystemControllerLog(description = "获取两个时间相差,返回n月零n天") - public ResultData getDateDiff(String startDate, String endDate) throws Exception{ - SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); - Map map = new HashMap<>(); - int[] array = DateUtils.getDiff(sd.parse(startDate),sd.parse(endDate)); - map.put("month",array[0]); - map.put("day",array[1]); - return new ResultData(map); - } - @UserDataRuleAnnotation("rent_contract_list") @GetMapping("/list") @ApiImplicitParams({ @@ -124,26 +81,12 @@ public class WxRentContractController extends WxContractBaseController { //Map result = wxRentContractService.listAsPage(wxRentContract, pageNum, pageSize); return new ResultData(wxRentContractService.getRentContractList(wxRentContract, pageNum, pageSize)); } - + /** - * 预览账单展示,编辑账期,后端生成账单金额 + * 新增第一步 * @param wxRentContract * @return */ - @PostMapping("buildBillPriceList") - @SystemControllerLog(description = "租赁合同-生成账单列表金额") - public ResultData buildBillPriceList(@RequestBody WxRentContract wxRentContract) throws Exception{ - logger.debug("[" + getIpAddr() + "] WxRentContractController::buildBillPriceList"); - WxRentContract dbRent = wxRentContractMapper.selectById(wxRentContract.getId()); - dbRent.setPreviewBillRentList(wxRentContract.getPreviewBillRentList()); - - if(dbRent.getRentStartType()!=null && dbRent.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ - dbRent.setRentalStartDate(dbRent.getStartDate()); - } - List result = wxRentContractService.buildRent(getUserId(),dbRent, EnumIsPreview.YES.getCode(), false); - return new ResultData(result); - } - @PostMapping("add") @SystemControllerLog(description = "租赁合同-添加") public ResultData add(@RequestBody WxRentContract wxRentContract) { @@ -175,7 +118,7 @@ public class WxRentContractController extends WxContractBaseController { /** - * 防止前端3秒重复提交 + * 新增第二步 防止前端3秒重复提交 * @param wxRentContract * @return */ @@ -197,6 +140,11 @@ public class WxRentContractController extends WxContractBaseController { return wxRentContractService.update(wxRentContract, user.getId(),user.getName(),EnumFromType.OTHER.getCode(),oldDate); } + /** + * 新增第三步 + * @param wxRentContract + * @return + */ @PostMapping("updateFile") @SystemControllerLog(description = "租赁合同-更新文件") public ResultData updateFile(@RequestBody WxRentContract wxRentContract) { @@ -213,9 +161,162 @@ public class WxRentContractController extends WxContractBaseController { wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); } return wxRentContractService.updateFile(wxRentContract, user.getId(),user.getName(),oldDate); + } + + @GetMapping("/findById") + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) + @SystemControllerLog(description = "租赁合同-查找") + public ResultData findById(Long id) { + logger.debug("[" + getIpAddr() + "] WxRentContractController::findById"); + // 同步欠缴状态 + WxBillRent wxBillRent = new WxBillRent(); + wxBillRent.updateTenantInfo(getTenantInfo()); + wxBillRentService.updateBillStatus(wxBillRent); + try { + Map data = wxRentContractService.getById(id); + return new ResultData(data); + } catch (MallinkException e) { + logger.error(e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + } + } + + @GetMapping("/hasRentStatus") + @SystemControllerLog(description = "查询店铺租赁状态") + public ResultData hasRentStatus(@ModelAttribute WxRentContract wxRentContract) { + logger.debug("[" + getIpAddr() + "] WxRentContractController::hasRentStatus"); + wxRentContract.updateTenantInfo(getTenantInfo()); + return wxRentContractService.hasRentStatus(wxRentContract); + } + + @GetMapping("/hasContractNumber") + @SystemControllerLog(description = "租赁合同-检查合同编号是否存在") + public ResultData hasContractNumber(@ModelAttribute WxRentContract wxRentContract) { + logger.debug("[" + getIpAddr() + "] WxRentContractController::hasContractNumber"); + wxRentContract.updateTenantInfo(getTenantInfo()); + return wxRentContractService.hasContractNumber(wxRentContract); + } + + @PostMapping("update") + @SystemControllerLog(description = "租赁合同-更新") + public ResultData update(@RequestBody WxRentContract rentContract) { + logger.debug("[" + getIpAddr() + "] WxRentContractController::update"); + + WxRentContract cure = wxRentContractService.getSimpleDeatil(rentContract.getId()); + if (null == cure) { + return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"租赁合同未查询到"); + } + + if (cure.getStatus().intValue() == EnumRentContractStatus.DRAFT.getCode().intValue() || + (cure.getStatus().intValue() == EnumRentContractStatus.PERFORMANCE.getCode().intValue() + && cure.getApplyStatus().intValue()== EnumRentContractAppStatus.REJECT.getCode().intValue())) { + if(StringUtils.isBlank(rentContract.getBusDiscountRatio())){ + rentContract.setBusDiscountTime(new Integer(0)); + } + MallUserInfo user = getUser(); + rentContract.updateTenantInfo(user); + rentContract.setAdjustPeriodHandle(); + rentContract.setRentPriceHandle(); + Date oldDate = rentContract.getRentalStartDate(); + if(rentContract.getRentStartType()!=null && rentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ + rentContract.setRentalStartDate(rentContract.getStartDate()); + } + ResultData update = null; + try { + update = wxRentContractService.update(rentContract, user.getId(), user.getName(), EnumFromType.OTHER.getCode(), oldDate); + } catch (MallinkException e) { + return new ResultData(ErrorCode.SYS_SERVER_ERROR); + } + return update; + }else { + return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"当前合同状态不允许修改"); + } + } + + @GetMapping("/endRentContract") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true), + @ApiImplicitParam(name = "status", value = "status", dataType = "int", paramType = "query", required = true)}) + @SystemControllerLog(description = "租赁合同-终结合同") + public ResultData endRentContract(Long id,Integer status) { + logger.debug("[" + getIpAddr() + "] WxRentContractController::endRentContract"); + return wxRentContractService.endRentContract(id,status); } + + + + + + + + + @GetMapping("getMerchantList") + @SystemControllerLog(description = "获取商户列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "shopType", value = "店铺类型 1:店铺 2:多经点位", dataType = "Integer", paramType = "query", required = true)}) + public ResultData getMerchantList(Integer shopType) throws Exception{ + WxMerchant wxMerchant = new WxMerchant(); + wxMerchant.updateTenantInfo(getTenantInfo()); + wxMerchant.setRentShopType(shopType); + return new ResultData(Result.SUCCESS, "查询成功", wxMerchantService.getMerchantList(wxMerchant)); + } + + @GetMapping("autolatePay") + @SystemControllerLog(description = "autolatePay") + public ResultData autolatePay(String startDate, String endDate) throws Exception{ + try { + logger.info("账单滞纳金更新开始"); + wxBillRentMapper.insertBillAction(); + wxBillPropertyMapper.insertBillAction(); + + wxBillRentMapper.autoAddLatePayPrice(); + wxBillPropertyMapper.autoAddLatePayPrice(); + logger.info("账单滞纳金更新结束"); + }catch (Exception e){ + logger.error("LatePayBillActionSchedule error! message:{}",e.getMessage()); + logger.error("LatePayBillActionSchedule error!",e); + } + return new ResultData(); + } + + @GetMapping("getDateDiff") + @ApiImplicitParams({ + @ApiImplicitParam(name = "startDate", value = "开始时间", dataType = "string", paramType = "query", required = true), + @ApiImplicitParam(name = "endtDate", value = "结束时间", dataType = "string", paramType = "query", required = true)}) + @SystemControllerLog(description = "获取两个时间相差,返回n月零n天") + public ResultData getDateDiff(String startDate, String endDate) throws Exception{ + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); + Map map = new HashMap<>(); + int[] array = DateUtils.getDiff(sd.parse(startDate),sd.parse(endDate)); + map.put("month",array[0]); + map.put("day",array[1]); + return new ResultData(map); + } + + /** + * 预览账单展示,编辑账期,后端生成账单金额 + * @param wxRentContract + * @return + */ + @PostMapping("buildBillPriceList") + @SystemControllerLog(description = "租赁合同-生成账单列表金额") + public ResultData buildBillPriceList(@RequestBody WxRentContract wxRentContract) throws Exception{ + logger.debug("[" + getIpAddr() + "] WxRentContractController::buildBillPriceList"); + WxRentContract dbRent = wxRentContractMapper.selectById(wxRentContract.getId()); + dbRent.setPreviewBillRentList(wxRentContract.getPreviewBillRentList()); + + if(dbRent.getRentStartType()!=null && dbRent.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ + dbRent.setRentalStartDate(dbRent.getStartDate()); + } + List result = wxRentContractService.buildRent(getUserId(),dbRent, EnumIsPreview.YES.getCode(), false); + return new ResultData(result); + } + + + + @PostMapping("updateRentStartTime") @SystemControllerLog(description = "租赁合同-更新租赁开始日期") public ResultData updateRentStartTime(@RequestBody WxRentContract wxRentContract) { @@ -233,34 +334,6 @@ public class WxRentContractController extends WxContractBaseController { return wxRentContractService.update(rentContract, user.getId(),user.getName(), EnumFromType.SWITCH.getCode(),oldDate); } - @PostMapping("update") - @SystemControllerLog(description = "租赁合同-更新") - public ResultData update(@RequestBody WxRentContract rentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::update"); - - if(StringUtils.isBlank(rentContract.getBusDiscountRatio())){ - rentContract.setBusDiscountTime(new Integer(0)); - } - MallUserInfo user = getUser(); - rentContract.updateTenantInfo(user); - rentContract.setAdjustPeriodHandle(); - rentContract.setRentPriceHandle(); - Date oldDate = rentContract.getRentalStartDate(); - if(rentContract.getRentStartType()!=null && rentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ - rentContract.setRentalStartDate(rentContract.getStartDate()); - } - ResultData update = null; - try { - update = wxRentContractService.update(rentContract, user.getId(), user.getName(), EnumFromType.OTHER.getCode(), oldDate); - } catch (MallinkException e) { - return new ResultData(ErrorCode.SYS_SERVER_ERROR); - } - return update; - } - - - - @GetMapping("/del") @ApiImplicitParam(name = "id", value = "id", dataType = "String", paramType = "query", required = true) @@ -270,23 +343,7 @@ public class WxRentContractController extends WxContractBaseController { return wxRentContractService.deleteById(id); } - @GetMapping("/findById") - @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) - @SystemControllerLog(description = "租赁合同-查找") - public ResultData findById(Long id) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::findById"); - // 同步欠缴状态 - WxBillRent wxBillRent = new WxBillRent(); - wxBillRent.updateTenantInfo(getTenantInfo()); - wxBillRentService.updateBillStatus(wxBillRent); - try { - Map data = wxRentContractService.getById(id); - return new ResultData(data); - } catch (MallinkException e) { - logger.error(e.getMessage()); - return new ResultData(e.getErrorCode(), e.getMessage()); - } - } + @RequestMapping("/download") public void download(HttpServletRequest request, HttpServletResponse response){ @@ -302,15 +359,7 @@ public class WxRentContractController extends WxContractBaseController { // return new ResultData(Result.SUCCESS, "查询成功", wxRentContractService.getRentContractStatusInfo(wxRentContract)); // } - @GetMapping("/endRentContract") - @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true), - @ApiImplicitParam(name = "status", value = "status", dataType = "int", paramType = "query", required = true)}) - @SystemControllerLog(description = "租赁合同-终结合同") - public ResultData endRentContract(Long id,Integer status) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::endRentContract"); - return wxRentContractService.endRentContract(id,status); - } + @PostMapping("updateMerchant") @SystemControllerLog(description = "租赁合同-更新商户") @@ -392,21 +441,6 @@ public class WxRentContractController extends WxContractBaseController { return new ResultData(Result.SUCCESS, "查询成功", wxRentContractService.getMerchants(wxRentContract)); } - @GetMapping("/hasRentStatus") - @SystemControllerLog(description = "查询店铺租赁状态") - public ResultData hasRentStatus(@ModelAttribute WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::hasRentStatus"); - wxRentContract.updateTenantInfo(getTenantInfo()); - return wxRentContractService.hasRentStatus(wxRentContract); - } - - @GetMapping("/hasContractNumber") - @SystemControllerLog(description = "租赁合同-检查合同编号是否存在") - public ResultData hasContractNumber(@ModelAttribute WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::hasContractNumber"); - wxRentContract.updateTenantInfo(getTenantInfo()); - return wxRentContractService.hasContractNumber(wxRentContract); - } @PostMapping("endContract") @SystemControllerLog(description = "租赁合同-终止合同") diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractExtensionController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractExtensionController.java deleted file mode 100644 index bbdf47349..000000000 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractExtensionController.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.iformall.controller.contract; - -import com.iformall.annotation.SystemControllerLog; -import com.iformall.common.ErrorCode; -import com.iformall.common.ResultData; -import com.iformall.controller.base.BaseController; -import com.iformall.domain.po.MallUserInfo; -import com.iformall.domain.po.WxMerchant; -import com.iformall.domain.po.WxRentContract; -import com.iformall.domain.po.WxShop; -import com.iformall.enums.EnumContractType; -import com.iformall.enums.EnumFromType; -import com.iformall.enums.EnumRentStartType; -import com.iformall.service.WxRentContractService; -import com.iformall.service.WxRentPropertyContractService; -import com.iformall.service.WxShopService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author: furunxin - * @Date: 2020/7/14 11:21 - * @Description: - */ - -@Slf4j -@RestController -@Api(description = "租赁合同续签") -@RequestMapping("wxRentContractExtension") -public class WxRentContractExtensionController extends WxContractBaseController { - - - @Autowired - private WxRentContractService wxRentContractService; - - - @Autowired - private WxRentPropertyContractService wxRentPropertyContractService; - - @GetMapping("searchMerchant") - @ApiImplicitParams({ - @ApiImplicitParam(name = "merchantName", value = "商户名称", dataType = "string", paramType = "query", required = true), - @ApiImplicitParam(name = "shopType", value = "店铺类型 1:店铺 2:多经点位", dataType = "Integer", paramType = "query", required = true)}) - @SystemControllerLog(description = "商户搜索") - public ResultData searchMerchant(String merchantName,Integer shopType) throws Exception{ - WxRentContract wxRentContract = new WxRentContract(); - wxRentContract.updateTenantInfo(getTenantInfo()); - wxRentContract.setMerchantName(merchantName); - wxRentContract.setRentShopType(shopType); - List> result = wxRentContractService.searchMerchantByname(wxRentContract); - return new ResultData(result); - } - - - @GetMapping("getContractInfo") - @ApiImplicitParams({ - @ApiImplicitParam(name = "merchantId", value = "商户id", dataType = "int", paramType = "query", required = true)}) - @SystemControllerLog(description = "根据商户id查询该商户计租中合同信息") - public ResultData getContractInfo(Long merchantId) throws Exception{ - WxRentContract wxRentContract = new WxRentContract(); - wxRentContract.setMerchantId(merchantId); - wxRentContract = wxRentContractService.getByMerchantId(wxRentContract); - Map data = wxRentContractService.getById(wxRentContract.getId()); - return new ResultData(data); - } - - @GetMapping("getAllContractInfo") - @ApiImplicitParams({ - @ApiImplicitParam(name = "merchantId", value = "商户id", dataType = "int", paramType = "query", required = true)}) - @SystemControllerLog(description = "根据商户id查询该商户下所有合同") - public ResultData getAllContractInfo(Long merchantId) throws Exception{ - WxRentContract wxRentContract = new WxRentContract(); - wxRentContract.setMerchantId(merchantId); - List rentContracts = wxRentContractService.getAllContractByMerchantId(wxRentContract); - return new ResultData(rentContracts); - } - - @PostMapping("extension") - @SystemControllerLog(description = "租赁合同续签") - public ResultData extension(@RequestBody WxRentContract wxRentContract) { - log.debug("[" + getIpAddr() + "] WxRentContractExtensionController::add"); - Integer contractType = wxRentPropertyContractService.getContractType(wxRentContract.getRentShopType(), wxRentContract.getOperationType(), EnumContractType.RENT.getCode()); - wxRentContract.setContractType(contractType); - if(StringUtils.isBlank(wxRentContract.getBusDiscountRatio())){ - wxRentContract.setBusDiscountTime(new Integer(0)); - } - MallUserInfo user = getUser(); - wxRentContract.updateTenantInfo(user); - //wxRentContract.setTenantId("789"); - //wxRentContract.setParentTenantId("788"); - //user.setId(Long.parseLong("321127266275430400")); - //user.setUsername("alitest"); - wxRentContract.setAdjustPeriodHandle(); - Date oldDate = wxRentContract.getRentalStartDate(); - if(wxRentContract.getRentStartType()!=null &&wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ - wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); - } - return wxRentContractService.extension(wxRentContract, user.getId(),user.getName(),oldDate); - } - - @PostMapping("updateMoney") - @SystemControllerLog(description = "租赁合同续签-更新金额") - public ResultData updateMoney(@RequestBody WxRentContract wxRentContract) { - log.debug("[" + getIpAddr() + "] WxRentContractExtensionController::updateMoney"); - if(StringUtils.isBlank(wxRentContract.getBusDiscountRatio())){ - wxRentContract.setBusDiscountTime(new Integer(0)); - } - MallUserInfo user = getUser(); - wxRentContract.updateTenantInfo(user); - wxRentContract.setAdjustPeriodHandle(); - wxRentContract.setRentPriceHandle(); - Date oldDate = wxRentContract.getRentalStartDate(); - if(wxRentContract.getRentStartType()!=null &&wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ - wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); - } - return wxRentContractService.extensionUpdate(wxRentContract, user.getId(),user.getName(), EnumFromType.OTHER.getCode(),oldDate); - } - - @PostMapping("updateFile") - @SystemControllerLog(description = "租赁合同续签-更新文件") - public ResultData updateFile(@RequestBody WxRentContract wxRentContract) { - log.debug("[" + getIpAddr() + "] WxRentContractExtensionController::updateFile"); - if(StringUtils.isBlank(wxRentContract.getBusDiscountRatio())){ - wxRentContract.setBusDiscountTime(new Integer(0)); - } - MallUserInfo user = getUser(); - wxRentContract.updateTenantInfo(user); - wxRentContract.setAdjustPeriodHandle(); - wxRentContract.setRentPriceHandle(); - Date oldDate = wxRentContract.getRentalStartDate(); - if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ - wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); - } - return wxRentContractService.extensionUpdateFile(wxRentContract, user.getId(),user.getName(),oldDate); - } -} diff --git a/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql b/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql index e170666f2..535c45c08 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql @@ -54,13 +54,6 @@ ADD COLUMN `plat` SMALLINT(3) NOT NULL DEFAULT 1 COMMENT '平台 1:微信 2:阿 ALTER TABLE wx_rent_contract DROP COLUMN shop_id; -CREATE TABLE `wx_rent_contract_shop` ( - `id` bigint(20) NOT NULL, - `rent_contract_id` bigint(20) NOT NULL COMMENT '租金合同编码', - `shop_id` bigint(20) NOT NULL COMMENT '店铺编码', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租金合同关联的店铺'; - ALTER TABLE `wx_rent_contract` ADD COLUMN `shop_name` VARCHAR(100) COMMENT '店铺名称'; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java index 74de4e2a1..f9a359e9b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java @@ -195,11 +195,6 @@ public class WxRentContract extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "物业合同预账单列表", name = "reviewBillPropertyPList") private List reviewBillPropertyPList; - @TableField(exist = false) - @io.swagger.annotations.ApiModelProperty(value = "店铺列表", name = "shopIdList") - private List shopIdList; - - @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value = "审批说明", name = "remark") private String remark; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractShop.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractShop.java deleted file mode 100644 index 01d65a317..000000000 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractShop.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.iformall.domain.po; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.iformall.domain.po.base.BaseEntity; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -@TableName(value = "wx_rent_contract_shop") -@Data -@ToString(callSuper = true) -@EqualsAndHashCode(callSuper = true) -public class WxRentContractShop extends BaseEntity { - - private static final long serialVersionUID = 6159346068143408562L; - - protected Long id; - - @io.swagger.annotations.ApiModelProperty(value="合同编号",name="rentContractId") - private Long rentContractId; - - @io.swagger.annotations.ApiModelProperty(value="店铺编号",name="shopId") - private Long shopId; - -} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java index 4f757ca13..7071ad175 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxPropertyContractMapper.java @@ -53,6 +53,4 @@ public interface WxPropertyContractMapper extends CommonMapper getMerchantList(WxPropertyContract wxPropertyContract); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java index b706d7645..56bc67102 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java @@ -75,8 +75,6 @@ public interface WxRentContractMapper extends CommonMapper List> queryContractByBus(WxBusiness wxBusiness); - List> searchMerchantByname(WxRentContract wxRentContract); - WxRentContract getByMerchantId(WxRentContract wxRentContract); List getAllContractBymerchantId(WxRentContract wxRentContract); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractShopMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractShopMapper.java deleted file mode 100644 index ddd783fdc..000000000 --- a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractShopMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.iformall.mapper; - -import com.iformall.common.CommonMapper; -import com.iformall.domain.po.WxRentContractShop; -import java.util.List; - -import org.apache.ibatis.annotations.Param; - -public interface WxRentContractShopMapper extends CommonMapper { - - List findList(WxRentContractShop record); - - void deleteShops(@Param("contractId") Long contractId); -} diff --git a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java index 28459ca00..028eee46c 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java @@ -43,8 +43,6 @@ public interface WxPropertyContractService { */ ResultData saveOrUpdate(WxPropertyContract record, Long userId, String userName); - ResultData saveOrUpdate2(WxPropertyContract record, Long userId, String userName); - /** * 根据Id删除实体 * @@ -79,8 +77,6 @@ public interface WxPropertyContractService { WxPropertyContract getByBill(WxBillProperty billRent); - Object getMerchantList(WxPropertyContract record); - ResultData apply(WxPropertyContract wxPropertyContract,MallUserInfo user); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java index f87a280cd..99aa4e656 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java @@ -102,18 +102,6 @@ public interface WxRentContractService { ResultData getContractByContractNumber(WxRentContract wxRentContract); - List> searchMerchantByname(WxRentContract wxRentContract); - - WxRentContract getByMerchantId(WxRentContract wxRentContract); - - List getAllContractByMerchantId(WxRentContract wxRentContract); - - ResultData extension(WxRentContract record,Long userId,String userName,Date oldRentStartDate); - - ResultData extensionUpdate(WxRentContract record, Long userId,String userName,int from,Date oldRentStartDate); - - ResultData extensionUpdateFile(WxRentContract wxRentContract, Long userId,String userName,Date oldRentStartDate); - ResultData apply(WxRentContract wxRentContract,MallUserInfo user); boolean hasContract(WxRentContract wxRentContract); @@ -124,4 +112,6 @@ public interface WxRentContractService { */ void outDateContract(WxRentContract wxRentContract); + WxRentContract getSimpleDeatil(Long id); + } 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 cbc199abe..ccd538a7a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -415,162 +415,6 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService return new ResultData(Result.SUCCESS, message, record); } - @Override - @Transactional(rollbackFor = {Exception.class}) - public ResultData saveOrUpdate2(WxPropertyContract record, Long userId, String userName) { - // 保存调整金额(预账单调整) - boolean haspreview = false; - if(!CollectionUtils.isEmpty(record.getPreviewBillRentList())){ - savePreviewBill(record); - haspreview = true; - } - - if (record.getRentShopType().equals(EnumRentShopType.POINT.getCode()) && null == record.getShopId()) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "shopId不能为空"); - } - - WxRentContract wxRentContract = wxRentContractMapper.selectById(record.getRentContractId()); - if (wxRentContract != null) { -// if (wxRentContract.getStatus().equals(EnumRentContractStatus.CONTRACT_END.getCode()) || -// wxRentContract.getStatus().equals(EnumRentContractStatus.CONTRACT_TERMINATE.getCode()) || -// wxRentContract.getStatus().equals(EnumRentContractStatus.INVALID.getCode())) { - if (wxRentContract.getStatus().equals(EnumRentContractStatus.OUT_DATE.getCode()) || - wxRentContract.getStatus().equals(EnumRentContractStatus.TERMINATE.getCode()) || - wxRentContract.getStatus().equals(EnumRentContractStatus.INVALID.getCode())) { - return new ResultData(ErrorCode.RENT_CONTRACT_IS_TERMINATED); - } - } else { - return new ResultData(ErrorCode.RENT_CONTRACT_IS_NOT_FOUND); - } - if (null == record.getMerchantId() && record.getOperationType().equals(EnumContractOperationType.PART.getCode())) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "merchantId不能为空"); - } - if (record.getOperationType().equals(EnumContractOperationType.PART.getCode())) { - WxMerchant merchant = wxMerchantMapper.selectById(record.getMerchantId()); - if (merchant == null) { - return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); - } - } - if (null == record.getReceivePeriod()) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "付款周期不能为空"); - } - if (null == record.getLease()) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "租期不能为空"); - } - if (null == record.getPrice()) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "物业费不能为空"); - } - if (null == record.getDeposit()) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "押金不能为空"); - } - if (record.getPrice().longValue() <= 0) { - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "物业费要大于0"); - } - - WxPropertyContract propertyContract = new WxPropertyContract(); - propertyContract.updateTenantInfo(wxRentContract); - propertyContract.setRentContractId(record.getRentContractId()); - long count = wxPropertyContractMapper.findList(propertyContract) -// .stream().filter(p -> p.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) || -// p.getStatus().equals(EnumRentContractStatus.RENT_PAID.getCode()) || -// p.getStatus().equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count(); - .stream().filter(p -> p.getStatus().equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) || - p.getStatus().equals(EnumRentContractStatus.PAING.getCode())).count(); - if (count > 1) { - return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); - } - //保存物业合同信息 - String message; - boolean hasFlow = true; - if (record.getId() == null) { - if (record.getOperationType().equals(EnumContractOperationType.WHOLE.getCode())) { - WxPropertyContract propertyContractQuery = new WxPropertyContract(); - propertyContractQuery.setRentContractId(record.getRentContractId()); - int propertyContractCount = wxPropertyContractMapper.selectCount(new QueryWrapper(propertyContractQuery)); - if (propertyContractCount > 0) { - throw new MallinkException(ErrorCode.SYS_SERVER_ERROR); - } - } - hasFlow = false; - final IdWorker idWorker = IdWorker.get(); - record.setId(idWorker.nextId()); - record.setRentalStartDate(wxRentContract.getRentalStartDate()); - record.setRentalEndDate(wxRentContract.getRentalEndDate()); - record.setStartDate(wxRentContract.getStartDate()); - record.setEndDate(wxRentContract.getEndDate()); - Date date = new Date(); - record.setCreatetime(date); - record.setUpdatetime(date); - record.setStatus(EnumRentContractStatus.DRAFT.getCode()); - record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); - try { - wxPropertyContractMapper.insert(record); - } catch (Exception e) { - logger.error("保存物业合同信息失败,e:" + e.getMessage()); - throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); - } - - //生成预览账单 - wxBillPropertyMapper.deletePreviewBill(record); - //重新生成 - List billList = buildProperty(new WxMerchant(),userId,record,EnumIsPreview.YES.getCode(),true); - record.setPreviewBillRentList(billList); - - message = "保存物业合同信息成功"; - } else {//更新物业合同信息 - //查询预账单用于展示 - WxBillProperty wxBillRent = new WxBillProperty(); - wxBillRent.setPropertyContractId(record.getId()); - wxBillRent.setSortColumns(BaseEntity.SortField.Period_ASC); - wxBillRent.setIsPreview(EnumIsPreview.YES.getCode()); - List billList = wxBillPropertyMapper.findList(wxBillRent); - record.setPreviewBillRentList(billList); - - if(!haspreview){ - if (record.getReceivePeriod() != null && record.getLease() != null && record.getPrice() != null - && !record.getReceivePeriod().equals(0) && !record.getLease().equals(0) && !record.getPrice().equals(0l)) { - //删除预账单,重新生成 - wxBillPropertyMapper.deletePreviewBill(record); - //重新生成 - billList = buildProperty(new WxMerchant(),userId,record,EnumIsPreview.YES.getCode(),true); - record.setPreviewBillRentList(billList); - } - } - - WxPropertyContract wxPropertyContract = wxPropertyContractMapper.selectById(record.getId()); - if (wxPropertyContract == null) { - return new ResultData(ErrorCode.PROPERTY_CONTRACT_IS_NOT_FOUND); - } - - record.setRentalStartDate(wxRentContract.getRentalStartDate()); - record.setRentalEndDate(wxRentContract.getRentalEndDate()); - record.setStartDate(wxRentContract.getStartDate()); - record.setEndDate(wxRentContract.getEndDate()); - record.setPrice(record.getPrice() != null ? record.getPrice() : 0); - record.setDeposit(record.getDeposit() != null ? record.getDeposit() : 0); - record.setUpdatetime(new Date()); - - //如果是合并合同 物业合同的状态为 意向 - if (record.getOperationType().equals(EnumContractOperationType.WHOLE.getCode())) { - record.setStatus(EnumRentContractStatus.DRAFT.getCode()); - } - - if (CollectionUtils.isEmpty(record.getFlowParams())) { - hasFlow = false; - record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); - } - try { - wxPropertyContractMapper.updateById(record); - } catch (Exception e) { - logger.error("更新物业合同信息失败,e:" + e.getMessage()); - throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); - } - - message = "更新物业合同信息成功"; - } - return new ResultData(Result.SUCCESS, message, record); - } - @Override public ResultData updatePropertyContractStatus(Long id) { if (id == null) { @@ -1277,11 +1121,6 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService return wxPropertyContractMapper.getByBill(billRent); } - @Override - public Object getMerchantList(WxPropertyContract record) { - return wxPropertyContractMapper.getMerchantList(record); - } - @Override public ResultData apply(WxPropertyContract record, MallUserInfo user) { 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 ebe567120..458d38342 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -114,9 +114,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Autowired WxPayAccountBillService wxPayAccountBillService; - @Autowired - WxRentContractShopMapper wxRentContractShopMapper; - // @Override // public Map listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize) { // //Object rentContractStatusInfo = getRentContractStatusInfo(record); @@ -490,15 +487,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { record.setRentalStartDate(oldRentStartDate); record.setShopName(shopName); wxRentContractMapper.insert(record); - wxRentContractShopMapper.deleteShops(record.getId()); - record.setShopIdList(shopList); - for (Long shopId: shopList) { - WxRentContractShop rentShop = new WxRentContractShop(); - rentShop.setShopId(shopId); - rentShop.setRentContractId(record.getId()); - wxRentContractShopMapper.insert(rentShop); - } - record.setRentalStartDate(tempDate); } catch (Exception e) { logger.error("保存租赁合同信息失败,e:" + e.getMessage()); @@ -666,7 +654,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { } else { record.setDeposit(0L); } - + List shopList = Lists.newArrayList(); record.setUpdatetime(new Date()); // if (record.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { String rentInfo = record.getRentInfo(); @@ -676,6 +664,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { return new ResultData(ErrorCode.SHOP_NOT_SELECTED); } //查询rent_info 包括 shopId + String shopName = ""; for (int i = 0; i < size; i++) { JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); WxRentContract wxRentContractQuery = new WxRentContract(); @@ -709,6 +698,10 @@ public class WxRentContractServiceImpl implements WxRentContractService { return new ResultData(ErrorCode.SHOP_IS_RENT.getCode(), "店铺 " + wxShop.getShopNumber() + " 已出租"); } } + if (!shopList.contains(shopId)) { + shopList.add(shopId); + shopName = shopName +","+shopNumber; + } } // } else { // WxRentContract wxRentContractQuery = new WxRentContract(); @@ -729,6 +722,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { try { Date tempDate = record.getRentalStartDate(); record.setRentalStartDate(oldRentStartDate); + record.setShopName(shopName); wxRentContractMapper.updateById(record); record.setRentalStartDate(tempDate); } catch (Exception e) { @@ -1271,8 +1265,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { wxBillRent.setIsDel(0); wxBillRent.setMerchantId(wxRentContract.getMerchantId()); wxBillRent.setUserId(userId); - if (null != wxRentContract.getShopIdList() && wxRentContract.getShopIdList().size() == 1) { - wxBillRent.setShopId(wxRentContract.getShopIdList().get(0)); + if (null != wxRentContract.shopIdsByRentInfo() && wxRentContract.shopIdsByRentInfo().size() == 1) { + wxBillRent.setShopId(wxRentContract.shopIdsByRentInfo().get(0)); } wxBillRent.setCreatetime(date); wxBillRent.setUpdatetime(date); @@ -1485,8 +1479,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { try { wxRentContract.setUpdatetime(new Date()); wxRentContractMapper.updateById(wxRentContract); - //停用商户 - wxMerchantService.disable(wxRentContract.getMerchantId()); + //不停用商户 + //wxMerchantService.disable(wxRentContract.getMerchantId()); //物业合同终止 if (status == 1) { WxPropertyContract wxPropertyContract = new WxPropertyContract(); @@ -2456,271 +2450,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { return new ResultData(wxRentContract); } - @Override - public List> searchMerchantByname(WxRentContract wxRentContract) { - return wxRentContractMapper.searchMerchantByname(wxRentContract); - } - - @Override - public WxRentContract getByMerchantId(WxRentContract wxRentContract) { - return wxRentContractMapper.getByMerchantId(wxRentContract); - } - - @Override - public List getAllContractByMerchantId(WxRentContract wxRentContract) { - return wxRentContractMapper.getAllContractBymerchantId(wxRentContract); - } - - @Transactional(rollbackFor = {Exception.class}) - @Override - public ResultData extension(WxRentContract record, Long userId, String userName, Date oldRentStartDate) { - //保存租赁合同信息 - final IdWorker idWorker = IdWorker.get(); - record.setId(idWorker.nextId()); - int dayType = record.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_DAY.getCode()) ? Calendar.DAY_OF_MONTH : Calendar.MONTH; - //计租开始时间 - Calendar instance = Calendar.getInstance(); - instance.setTime(record.getRentalStartDate()); - instance.add(dayType, record.getLease()); - instance.add(Calendar.DAY_OF_MONTH, -1); - //起租结束时间 - if (!record.getStartDate().equals(record.getRentalStartDate())) { - instance.clear(); - instance.setTime(record.getRentalStartDate()); - instance.add(Calendar.DAY_OF_MONTH, -1); - record.setEndDate(instance.getTime()); - } else { - record.setEndDate(record.getStartDate()); - } - - if (record.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) { - if(record.getRevenue() == null || record.getRevenue().longValue() <= 0){ - record.setPrice(0l); - }else{ - if(record.getPayRatio()!=null && record.getPayRatio().intValue() > 0){ - record.setPrice(countPrice(record.getPayRatio(),record.getRevenue(),EnumMissTimeType.OTHER.getCode(),record.getAdjustPeriod(),EnumGetRatioFrom.RENT.getCode())); - }else{ - int dayCount = record.getReceivePeriod() * 30; - RatioVo ratioVo = getPayRatio(EnumGetRatioFrom.RENT.getCode(),record.getRevenue(),record.getBusDiscountRatio(),record.getBusDiscountTime(),dayCount,record.getReceivePeriod()); - //record.setPayRatio(ratioVo.getRatio()); - record.setPrice(ratioVo.getPrice()); - } - } - } else { - if (StringUtils.isNotEmpty(record.getPriceStr())) { - record.setPrice(new BigDecimal(record.getPriceStr()).multiply(new BigDecimal(100)).longValue()); - } else { - record.setPrice(0L); - } - } - if (StringUtils.isNotEmpty(record.getDepositStr())) { - record.setDeposit(new BigDecimal(record.getDepositStr()).multiply(new BigDecimal(100)).longValue()); - } else { - record.setDeposit(0L); - } - - Date date = new Date(); - record.setCreatetime(date); - record.setUpdatetime(date); - - List shopList = Lists.newArrayList(); - String shopName = ""; - //if (record.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { - String rentInfo = record.getRentInfo(); - JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); - int size = rentInfoArray.size(); - if (size == 0) { - return new ResultData(ErrorCode.SHOP_NOT_SELECTED); - } - //查询rent_info 包括 shopId - for (int i = 0; i < size; i++) { - JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); - WxRentContract wxRentContract = new WxRentContract(); - wxRentContract.updateTenantInfo(record); - Long shopId = rentInfoObject.getLong("shopId"); - String shopNumber = rentInfoObject.getString("shopNumber"); - WxShop wxShop = wxShopMapper.selectById(shopId); - if (wxShop == null) { - return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 已删除"); - } - if (!shopList.contains(shopId)) { - shopList.add(shopId); - shopName = shopName+","+shopNumber; - } - } - //} else { - // shopList.add(record.getShopId()); - //} - - try { - record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); - record.setStatus(EnumRentContractStatus.DRAFT.getCode()); - Date tempDate = record.getRentalStartDate(); - record.setRentalStartDate(oldRentStartDate); - record.setShopName(shopName); - wxRentContractMapper.insert(record); - record.setRentalStartDate(tempDate); - } catch (Exception e) { - logger.error("保存租赁合同信息失败,e:" + e.getMessage()); - throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); - } - - //生成预览账单(补录第二步,第三步走编辑) -// if (record.getReceivePeriod() != null && record.getLease() != null && record.getPrice() != null -// && !record.getReceivePeriod().equals(0) && !record.getLease().equals(0) && !record.getPrice().equals(0l)) { -// wxBillRentMapper.deletePreviewBill(record); -// //重新生成 -// List resultList = buildRent(new WxMerchant(), null, record, EnumIsPreview.YES.getCode(),true); -// record.setPreviewBillRentList(resultList); -// } - List resultList = buildRent(null, record, EnumIsPreview.YES.getCode(),true); - record.setPreviewBillRentList(resultList); - EventUtil.publistRentEvent(this, record); - return new ResultData(Result.SUCCESS, "保存租赁合同信息成功", record); - } - - @Transactional(rollbackFor = {Exception.class}) - @Override - public ResultData extensionUpdate(WxRentContract record, Long userId, String userName, int from, Date oldRentStartDate) { - //查询预账单用于展示 - WxBillRent wxBillRent = new WxBillRent(); - wxBillRent.setRentContractId(record.getId()); - wxBillRent.setSortColumns(BaseEntity.SortField.Period_ASC); - wxBillRent.setIsPreview(EnumIsPreview.YES.getCode()); - List resultList = wxBillRentMapper.findList(wxBillRent); - - //更新 - ResultData resultData = getResultDataForExtensionUpdate(record, userId,from,oldRentStartDate); - if (resultData.code != Result.SUCCESS) { - return resultData; - } - - if(CollectionUtils.isEmpty(record.getPreviewBillRentList())) { - if (record.getReceivePeriod() != null && record.getLease() != null - && !record.getReceivePeriod().equals(0) && !record.getLease().equals(0)) { - //删除预账单,重新生成 - wxBillRentMapper.deletePreviewBill(record); - resultList = buildRent( null, record, EnumIsPreview.YES.getCode(),true); - } - } - - //保存调整金额(预账单调整) - savePreviewBill(record); - - WxRentContract wxRentContract = (WxRentContract)resultData.data; - wxRentContract.setPreviewBillRentList(resultList); - return new ResultData(wxRentContract); - } - - public ResultData getResultDataForExtensionUpdate(WxRentContract record, Long userId,int from,Date oldRentStartDate) { - //更新租赁合同信息 - WxRentContract wxRentContract = wxRentContractMapper.selectById(record.getId()); - if (wxRentContract == null) { - return new ResultData(ErrorCode.RENT_CONTRACT_IS_NOT_FOUND); - } - wxRentContract.setBusDiscountTime(record.getBusDiscountTime()); - wxRentContract.setBusDiscountRatio(record.getBusDiscountRatio()); - wxRentContract.setPayRatio(record.getPayRatio()); - - int dayType = wxRentContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_DAY.getCode()) ? Calendar.DAY_OF_MONTH : Calendar.MONTH; - - Calendar instance = Calendar.getInstance(); - instance.setTime(record.getRentalStartDate()); - instance.add(dayType, record.getLease()); - instance.add(Calendar.DAY_OF_MONTH, -1); - - if(!EnumFromType.SWITCH.getCode().equals(from)){ - if (record.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) { - if(record.getPayRatio()!=null && record.getPayRatio().intValue() > 0){ - record.setPrice(countPrice(record.getPayRatio(),record.getRevenue(),EnumMissTimeType.OTHER.getCode(),record.getAdjustPeriod(),from)); - }else{ - int dayCount = record.getReceivePeriod() * 30; - RatioVo ratioVo = getPayRatio(EnumGetRatioFrom.RENT.getCode(),record.getRevenue(),record.getBusDiscountRatio(),record.getBusDiscountTime(),dayCount,record.getReceivePeriod()); - //record.setPayRatio(ratioVo.getRatio()); - record.setPrice(ratioVo.getPrice()); - } - } else { - if (StringUtils.isNotEmpty(record.getPriceStr())) { - record.setPrice(new BigDecimal(record.getPriceStr()).multiply(new BigDecimal(100)).longValue()); - } else { - record.setPrice(0L); - } - } - } - - if (StringUtils.isNotEmpty(record.getDepositStr())) { - record.setDeposit(new BigDecimal(record.getDepositStr()).multiply(new BigDecimal(100)).longValue()); - } else { - record.setDeposit(0L); - } - - record.setUpdatetime(new Date()); - -// if (record.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { - String rentInfo = record.getRentInfo(); - JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); - int size = rentInfoArray.size(); - if (size == 0) { - return new ResultData(ErrorCode.SHOP_NOT_SELECTED); - } - //查询rent_info 包括 shopId - for (int i = 0; i < size; i++) { - JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); - WxRentContract wxRentContractQuery = new WxRentContract(); - wxRentContractQuery.updateTenantInfo(record); - Long shopId = rentInfoObject.getLong("shopId"); - String shopNumber = rentInfoObject.getString("shopNumber"); - if (shopId == null) { - return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 已删除"); - } - WxShop wxShop = wxShopMapper.selectById(shopId); - if (wxShop == null) { - return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 已删除"); - } - } -// } else { -// WxRentContract wxRentContractQuery = new WxRentContract(); -// wxRentContractQuery.updateTenantInfo(record); -// wxRentContractQuery.setShopId(record.getShopId()); -//// long count = wxRentContractMapper.queryRentContractData(wxRentContract).stream(). -//// filter(rc -> rc.get("status").equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) -//// || rc.get("status").equals(EnumRentContractStatus.RENT_PAID.getCode()) -//// || rc.get("status").equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count(); -// long count = wxRentContractMapper.queryRentContractData(wxRentContract).stream(). -// filter(rc -> rc.get("status").equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) -// || rc.get("status").equals(EnumRentContractStatus.PAING.getCode())).count(); -// if (count > 0) { -// return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); -// } -// } - - try { - Date tempDate = record.getRentalStartDate(); - record.setRentalStartDate(oldRentStartDate); - wxRentContractMapper.updateById(record); - record.setRentalStartDate(tempDate); - } catch (Exception e) { - logger.error("更新租赁合同信息失败,e:" + e.getMessage()); - throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); - } - return new ResultData(Result.SUCCESS, "保存租赁合同信息成功", wxRentContract); - } - - @Transactional(rollbackFor = {Exception.class}) - @Override - public ResultData extensionUpdateFile(WxRentContract record, Long userId,String userName,Date oldRentStartDate) { - // 保存调整金额(预账单调整) - if(!CollectionUtils.isEmpty(record.getPreviewBillRentList())){ - savePreviewBill(record); - } - ResultData resultData = getResultDataForExtensionUpdate(record, userId,0,oldRentStartDate); - if (resultData.code != Result.SUCCESS) { - return resultData; - } - - return resultData; - } - @Override public ResultData apply(WxRentContract wxRentContract,MallUserInfo user) { WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); @@ -2796,4 +2525,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { // } // } } + @Override + public WxRentContract getSimpleDeatil(Long id) { + return wxRentContractMapper.selectById(id); + } } diff --git a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml index c6c5240be..836ce21ef 100644 --- a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml @@ -386,25 +386,4 @@ select property_contract_id from wx_bill_property id = #{id} ) - - diff --git a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml index 1039b9e90..0bceca796 100644 --- a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml @@ -660,18 +660,6 @@ ) --> - - - - - - diff --git a/mallinkService/src/main/resources/mapper/WxRentContractShopMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractShopMapper.xml deleted file mode 100644 index bde24f179..000000000 --- a/mallinkService/src/main/resources/mapper/WxRentContractShopMapper.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - `id`,`rent_contract_id`,`shop_id` - - - - - where 1 = 1 - and `id` = #{id} - and `rent_contract_id` = #{rentContractId} - and `shop_id` = #{shopId} - order by ${sortColumns} - - - - - - delete from wx_rent_contract_shop where rent_contract_id = #{contractId} - - -