diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantShopController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantShopController.java index afbe00f4c..75d65e427 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantShopController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantShopController.java @@ -51,8 +51,6 @@ public class WxMerchantShopController extends BaseController { @PostMapping("add") public ResultData add(@RequestBody WxMerchantShop wxMerchantShop) { logger.debug("[" + getIpAddr() + "] WxMerchantShopController::add"); - //Assert.notNull(wxMerchantShop.getName(), "角色名不能为空"); - //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); wxMerchantShopService.saveOrUpdate(wxMerchantShop); return new ResultData(); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxPropertyContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxPropertyContractController.java index 9f9b761e6..c918602fa 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxPropertyContractController.java @@ -111,4 +111,11 @@ public class WxPropertyContractController extends BaseController return wxPropertyContractService.hasRentContract(rentContractId); } + @GetMapping("updatePropertyContractStatus") + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) + public ResultData updatePropertyContractStatus(Long id) { + logger.debug("[" + getIpAddr() + "] WxRentContractController::updateRentContractStatus"); + return wxPropertyContractService.updatePropertyContractStatus(id); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java index 079485791..b92f88249 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java @@ -58,4 +58,5 @@ public interface WxPropertyContractService { ResultData hasRentContract(Long rentContractId); + ResultData updatePropertyContractStatus(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 fa16058d7..bf4291fb7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -173,25 +173,9 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService Date date = new Date(); record.setCreatetime(date); record.setUpdatetime(date); - + record.setStatus(EnumRentContractStatus.WAIT_SIGN.getCode()); try { wxPropertyContractMapper.insertSelective(record); - //建立账单 - if (record.getMerchantId() != null && record.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) - && record.getReceivePeriod() != null && record.getDeposit() > 0 && record.getPrice() > 0) { - WxBillProperty wxBillProperty = new WxBillProperty(); - wxBillProperty.setMerchantId(record.getMerchantId()); - List> billPropertyList = wxBillPropertyMapper.queryBillPropertyList(wxBillProperty); - if (billPropertyList.size() == 0) { - WxMerchant wxMerchant = new WxMerchant(); - wxMerchant.setId(record.getMerchantId()); - wxMerchant.setTenantId(record.getTenantId()); - //物业账单 - buildProperty(wxMerchant, userId); - //物业押金账单 - buildDeposit(wxMerchant, userId); - } - } } catch (Exception e) { logger.error("保存物业合同信息失败,e:" + e.getMessage()); throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); @@ -229,8 +213,38 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService } } + @Override + public ResultData updatePropertyContractStatus(Long id) { + if (id == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + } + //更新合同状态为签约 + WxPropertyContract wxPropertyContract = new WxPropertyContract(); + wxPropertyContract.setId(id); + wxPropertyContract.setStatus(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()); + wxPropertyContractMapper.updateByPrimaryKeySelective(wxPropertyContract); + //建立账单 + WxPropertyContract record = wxPropertyContractMapper.selectByPrimaryKey(id); + if (record.getMerchantId() != null && record.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) + && record.getReceivePeriod() != null && record.getDeposit() > 0 && record.getPrice() > 0) { + WxBillProperty wxBillProperty = new WxBillProperty(); + wxBillProperty.setMerchantId(record.getMerchantId()); + List> billPropertyList = wxBillPropertyMapper.queryBillPropertyList(wxBillProperty); + if (billPropertyList.size() == 0) { + WxMerchant wxMerchant = new WxMerchant(); + wxMerchant.setId(record.getMerchantId()); + wxMerchant.setTenantId(record.getTenantId()); + //物业账单 + buildProperty(wxMerchant); + //物业押金账单 + buildDeposit(wxMerchant); + } + } + return new ResultData(Result.SUCCESS, "操作成功"); + } + @Transactional(rollbackFor = {Exception.class}) - public void buildDeposit(WxMerchant wxMerchant, Long userId) { + public void buildDeposit(WxMerchant wxMerchant) { WxPropertyContract wxPropertyContract = new WxPropertyContract(); wxPropertyContract.setMerchantId(wxMerchant.getId()); List list = wxPropertyContractMapper.findList(wxPropertyContract); @@ -274,7 +288,6 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService wxBillDeposit.setTenantId(wxMerchant.getTenantId()); wxBillDeposit.setIsDel(0); wxBillDeposit.setMerchantId(wxMerchant.getId()); - wxBillDeposit.setUserId(userId); wxBillDeposit.setShopId(wxPropertyContract.getShopId()); wxBillDeposit.setCreatetime(date); wxBillDeposit.setUpdatetime(date); @@ -289,7 +302,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService } @Transactional(rollbackFor = {Exception.class}) - public void buildProperty(WxMerchant wxMerchant, Long userId) { + public void buildProperty(WxMerchant wxMerchant) { //根据商户ID找出合同 WxPropertyContract wxPropertyContract = new WxPropertyContract(); wxPropertyContract.setMerchantId(wxMerchant.getId()); @@ -367,7 +380,6 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService wxBillProperty.setTenantId(wxMerchant.getTenantId()); wxBillProperty.setIsDel(0); wxBillProperty.setMerchantId(wxMerchant.getId()); - wxBillProperty.setUserId(userId); wxBillProperty.setShopId(wxPropertyContract.getShopId()); wxBillProperty.setCreatetime(date); wxBillProperty.setUpdatetime(date); diff --git a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml index 7d6e88add..f07091b0b 100644 --- a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml @@ -100,7 +100,8 @@ rentalEndDate,rc.`status`,rc.price,rc.contract_number contractNumber,s.shop_number shopNumber, f.floor_name floorName,b.building_name buildingName,receive_period receivePeriod, rc.lease,rc.filepath,rc.filename,rc.pay_account payAccount,rc.sign_date signDate, - start_date startDate,end_date endDate,rc.rent_contract_id rentContractId,br.`name` brandName + start_date startDate,end_date endDate,rc.rent_contract_id rentContractId,br.`name` brandName, + s.addr from wx_property_contract rc left join wx_shop s on rc.shop_id=s.id left join wx_mall_floor f on s.floor=f.id