From 643f289d2c17304f310b279112d1bac271964771 Mon Sep 17 00:00:00 2001 From: winter Date: Wed, 3 Jul 2024 15:39:13 +0800 Subject: [PATCH] fix --- .../contract/WxRentContractController.java | 11 ++--- .../WxRentContractDepositTypeController.java | 45 +++++++++++++++++++ .../iformall/domain/po/WxRentContract.java | 18 ++++---- .../domain/po/WxRentContractDepositType.java | 33 ++++++++++++++ .../enums/EnumRentContractDepositType.java | 35 --------------- .../WxRentContractDepositTypeMapper.java | 14 ++++++ .../service/WxRentContractService.java | 6 +++ .../impl/WxRentContractServiceImpl.java | 42 ++++++++++++++++- .../WxRentContractDepositTypeMapper.xml | 42 +++++++++++++++++ 9 files changed, 195 insertions(+), 51 deletions(-) create mode 100644 mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractDepositTypeController.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/WxRentContractDepositType.java delete mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumRentContractDepositType.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/WxRentContractDepositTypeMapper.java create mode 100644 mallinkService/src/main/resources/mapper/WxRentContractDepositTypeMapper.xml 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 71783fc36..c969f9d29 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -71,13 +71,14 @@ public class WxRentContractController extends WxContractBaseController { */ @GetMapping("depositType") public ResultData billTypes() { - Map tmap = new HashMap(); - for (EnumRentContractDepositType t : EnumRentContractDepositType.values()) { - tmap.put(t.getCode(), t.getMessage()); - } - return new ResultData(tmap); + WxRentContractDepositType dt = new WxRentContractDepositType(); + dt.updateTenantInfo(getTenantInfo()); + dt.setIsDel(EnumYesOrNo.NO.getCode()); + List types = wxRentContractService.findDepositTypes(dt); + return new ResultData(types); } + @GetMapping("/list") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractDepositTypeController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractDepositTypeController.java new file mode 100644 index 000000000..18d6acc59 --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractDepositTypeController.java @@ -0,0 +1,45 @@ +package com.iformall.controller.contract; + +import com.iformall.common.ResultData; +import com.iformall.domain.po.*; +import com.iformall.enums.*; +import com.iformall.service.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import java.util.*; + +/** + * @author gongbiao + */ +@RestController +@RequestMapping("wxRentContractDepositType") +public class WxRentContractDepositTypeController extends WxContractBaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private WxRentContractService wxRentContractService; + + /** + * 押金类型 + * @return + */ + @GetMapping("list") + public ResultData billTypes() { + WxRentContractDepositType dt = new WxRentContractDepositType(); + dt.updateTenantInfo(getTenantInfo()); + dt.setIsDel(EnumYesOrNo.NO.getCode()); + List types = wxRentContractService.findDepositTypes(dt); + return new ResultData(types); + } + + @PostMapping("save") + public ResultData add(@RequestBody WxRentContractDepositType wxRentContract) { + wxRentContractService.saveOrUpdateDepositType(wxRentContract); + return new ResultData(); + } + +} + + 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 adc9f0aee..43c05523e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java @@ -8,7 +8,6 @@ import com.iformall.common.SortColumn; import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumPriceUnit; import com.iformall.enums.EnumRentContractAdjustPeriod; -import com.iformall.enums.EnumRentContractDepositType; import com.iformall.enums.EnumRentContractType; import com.iformall.utils.Constant; @@ -247,8 +246,8 @@ public class WxRentContract extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "押金", name = "deposit") private String deposit; -// @io.swagger.annotations.ApiModelProperty(value = "押金详细", name = "depositInfo") -// private String depositInfo; +//// @io.swagger.annotations.ApiModelProperty(value = "押金详细", name = "depositInfo") +//// private String depositInfo; @io.swagger.annotations.ApiModelProperty(value = "押金详细EnumRentContractDepositType", name = "cashtypeContentLsit") private String cashtypeContentLsit; @io.swagger.annotations.ApiModelProperty(value = "押金详细", name = "cashtypeLsit") @@ -515,22 +514,21 @@ public class WxRentContract extends TenantEntity { return sb.toString(); } - public String getDepositDetail() { + public String getDepositDetail(Map typeMap) { StringBuffer sb = new StringBuffer(""); String dsdstr = this.getCashtypeContentLsit(); - if (!StringUtils.isBlank(dsdstr)) { + if (!StringUtils.isBlank(dsdstr) && null != typeMap) { JSONArray rentInfoArray = JSONArray.parseArray(dsdstr); int size = rentInfoArray.size(); for (int i = 0; i < size; i++) { JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); String depositType = rentInfoObject.getString("value"); String deposit = rentInfoObject.getString("deposit"); - Integer dt = Integer.parseInt(depositType); - EnumRentContractDepositType de = EnumRentContractDepositType.getEnum(dt); - if (null != dt && StringUtils.isNotBlank(deposit)) { - sb.append(de.getMessage()).append(":").append(deposit).append(","); + Long dt = Long.parseLong(depositType); + WxRentContractDepositType dtt = typeMap.get(dt); + if (null != dtt) { + sb.append(dtt.getName()).append(":").append(deposit).append(","); } - } } return sb.toString(); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractDepositType.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractDepositType.java new file mode 100644 index 000000000..f428f1d16 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractDepositType.java @@ -0,0 +1,33 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import java.util.Date; +/** + * @author gongbiao + */ +@TableName(value = "wx_rent_contract_deposit_type") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxRentContractDepositType extends TenantEntity { + + private static final long serialVersionUID = -2034956838395479510L; + + protected Long id; + + @io.swagger.annotations.ApiModelProperty(value = "是否删除1是0否", name = "isDel") + private Integer isDel; + @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updatetime") + private Date updateTime; + @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createtime") + private Date createTime; + @io.swagger.annotations.ApiModelProperty(value = "名称", name = "createtime") + private String name; + + +} + diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumRentContractDepositType.java b/mallinkService/src/main/java/com/iformall/enums/EnumRentContractDepositType.java deleted file mode 100644 index b921f9603..000000000 --- a/mallinkService/src/main/java/com/iformall/enums/EnumRentContractDepositType.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.iformall.enums; - - -public enum EnumRentContractDepositType { - - COMMON(0,"一般押金"), - CONTRACT_DEPOSIT(1,"合同保证金"), - QUALITY_DEPOSIT(2,"质量保证金") - ; - - public static EnumRentContractDepositType getEnum(Integer code) { - for (EnumRentContractDepositType value : values()) { - if (value.getCode().equals(code)) { - return value; - } - } - return null; - } - - private Integer code; - private String message; - - EnumRentContractDepositType(Integer code, String message) { - this.code = code; - this.message = message; - } - - public Integer getCode() { - return code; - } - - public String getMessage() { - return message; - } -} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractDepositTypeMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractDepositTypeMapper.java new file mode 100644 index 000000000..d13fd4485 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractDepositTypeMapper.java @@ -0,0 +1,14 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxRentContractDepositType; +import java.util.List; + +/** + * @author gongbiao + */ +public interface WxRentContractDepositTypeMapper extends CommonMapper { + + List findList(WxRentContractDepositType wxRentContract); + +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java index b016d32c8..177a65a3b 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java @@ -6,6 +6,7 @@ import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxBillRent; import com.iformall.domain.po.WxMall; import com.iformall.domain.po.WxRentContract; +import com.iformall.domain.po.WxRentContractDepositType; import com.iformall.domain.po.base.TenantEntity; import javax.servlet.http.HttpServletRequest; @@ -144,4 +145,9 @@ public interface WxRentContractService { List findToEndContractList(WxRentContract record); void calcuteByTradeDaily(WxRentContract wxRentContract); + + List findDepositTypes(WxRentContractDepositType rentContract); + + void saveOrUpdateDepositType(WxRentContractDepositType rentContract); + } 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 3d43f193d..bb19fe2d7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -130,6 +130,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Autowired WxMerchantTradeDailyMapper wxMerchantTradeDailyMapper; + @Autowired + WxRentContractDepositTypeMapper wxRentContractDepositTypeMapper; + @Lazy @Autowired WxBillAllHelper wxBillAllHelper; @@ -922,11 +925,16 @@ public class WxRentContractServiceImpl implements WxRentContractService { WxRentContract wxRentContract = wxRentContractMapper.selectById(rentContractId); if (wxRentContract != null && StringUtils.isNotBlank(wxRentContract.getDeposit()) && new BigDecimal(wxRentContract.getDeposit()).compareTo(new BigDecimal(0)) > 0 ) { + + WxRentContractDepositType dt = new WxRentContractDepositType(); + dt.updateTenantInfo(wxRentContract); + Map typeMap = findDepositTypesMap(dt); + final IdWorker idWorker = IdWorker.get(); WxBillDeposit wxBillDeposit = new WxBillDeposit(); wxBillDeposit.setId(idWorker.nextId()); wxBillDeposit.setRentContractId(wxRentContract.getId()); - wxBillDeposit.setContractDepoistDetail(wxRentContract.getDepositDetail()); + wxBillDeposit.setContractDepoistDetail(wxRentContract.getDepositDetail(typeMap)); wxBillDeposit.setPay("0"); String needpay = wxRentContract.getDeposit(); wxBillDeposit.setReceivePay(needpay); @@ -3416,4 +3424,36 @@ public class WxRentContractServiceImpl implements WxRentContractService { return new BigDecimal(sumMoney); } } + + @Override + public List findDepositTypes(WxRentContractDepositType rentContract) { + return wxRentContractDepositTypeMapper.findList(rentContract); + } + + private Map findDepositTypesMap(WxRentContractDepositType rentContract) { + List types = findDepositTypes(rentContract); + if (null != types && types.size() > 0 ) { + Map tmap = new HashMap(); + for (int i = 0 ; i < types.size(); i++ ) { + WxRentContractDepositType dt = types.get(i); + tmap.put(dt.getId(), dt); + } + return tmap; + } + return null; + } + + @Override + public void saveOrUpdateDepositType(WxRentContractDepositType rentContract) { + if (null == rentContract.getId()) { + final IdWorker idWorker = IdWorker.get(); + rentContract.setId(idWorker.nextId()); + rentContract.setCreateTime(new Date()); + rentContract.setUpdateTime(new Date()); + wxRentContractDepositTypeMapper.insert(rentContract); + }else { + rentContract.setUpdateTime(new Date()); + wxRentContractDepositTypeMapper.updateById(rentContract); + } + } } diff --git a/mallinkService/src/main/resources/mapper/WxRentContractDepositTypeMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractDepositTypeMapper.xml new file mode 100644 index 000000000..23e8364af --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxRentContractDepositTypeMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + `id`,`tenant_id`,`parent_tenant_id`,`is_del`,`name`,`update_time`,`create_time` + + + + + where 1 = 1 + and `id` = #{id} + and `tenant_id` = #{tenantId} + and `parent_tenant_id` = #{parentTenantId} + and `is_del` = #{isDel} + and `name` like concat('%', #{name},'%') + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + +