diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java index 89be25512..0536fc52f 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java @@ -29,6 +29,15 @@ public class WxBillAllController extends BaseController private Logger logger = LoggerFactory.getLogger(WxBillAllController.class); + @GetMapping("hasOweBill") + @ApiImplicitParams({ + @ApiImplicitParam(name="contractId",value="合同id",dataType="long", paramType = "query",required=true), + @ApiImplicitParam(name="type",value="类型1租赁合同2物业合同",dataType="int", paramType = "query",required=true)}) + public ResultData hasOweBill(Long contractId,Integer type) { + Long count = wxBillAllService.hasOweBill(contractId,type); + return new ResultData(count); + } + @GetMapping("list") @ApiImplicitParams({ @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), diff --git a/mallinkService/src/main/java/com/iformall/domain/po/MailMsg.java b/mallinkService/src/main/java/com/iformall/domain/po/MailMsg.java index d60ea6f57..e547a62d5 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/MailMsg.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/MailMsg.java @@ -1,11 +1,16 @@ package com.iformall.domain.po; +import java.util.Map; + /** * @author luozukai * @date 2019/3/7 10:05 */ public class MailMsg extends BaseMsg { private static final long serialVersionUID = 923764283760321L; + // 模板id + private Integer modelId; + private String tenantId; private String[] to; private String from; @@ -21,6 +26,33 @@ public class MailMsg extends BaseMsg { private String rscPath; private String rscI; + //动态替换内容 + private Map dynamicContentMap; + + public String getTenantId() { + return tenantId; + } + + public void setTenantId(String tenantId) { + this.tenantId = tenantId; + } + + public Map getDynamicContentMap() { + return dynamicContentMap; + } + + public void setDynamicContentMap(Map dynamicContentMap) { + this.dynamicContentMap = dynamicContentMap; + } + + public Integer getModelId() { + return modelId; + } + + public void setModelId(Integer modelId) { + this.modelId = modelId; + } + public String[] getTo() { return to; } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java index 9537e66c9..866a4e798 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java @@ -33,4 +33,6 @@ public interface WxBillPropertyMapper extends CommonMapper void update(WxBillProperty wxBillProperty); void updatePreviewStatus(WxBillProperty record); + + Long oweBillCount(Long contractId); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java index 205a9ed62..da57cbe32 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java @@ -29,4 +29,6 @@ public interface WxBillRentMapper extends CommonMapper { void update(WxBillRent record); void updatePreviewStatus(WxBillRent record); + + Long oweBillCount(Long contractId); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMsgModelMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMsgModelMapper.java index bd6a37a64..397f79da0 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMsgModelMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMsgModelMapper.java @@ -7,9 +7,9 @@ import com.iformall.domain.po.WxMsgModel; public interface WxMsgModelMapper extends CommonMapper { List findList(WxMsgModel wxMsgModel); - - + + WxMsgModel findOneByModelId(WxMsgModel wxMsgModel); diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java b/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java index 270e5b0b0..27652f0bd 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java @@ -24,4 +24,6 @@ public interface WxBillAllService { void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillAll wxBillAll); Object getBillInfo(WxBillAll wxBillAll); + + Long hasOweBill(Long contractId,Integer type); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/SendEmailServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/SendEmailServiceImpl.java index 940bf533a..ec688ce68 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/SendEmailServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/SendEmailServiceImpl.java @@ -2,6 +2,8 @@ package com.iformall.service.impl; import com.iformall.domain.po.BaseMsg; import com.iformall.domain.po.MailMsg; +import com.iformall.domain.po.WxMsgModel; +import com.iformall.mapper.WxMsgModelMapper; import com.iformall.service.MsgSendService; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -15,6 +17,7 @@ import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import javax.mail.internet.MimeMessage; import java.io.File; +import java.util.Map; /** * 发送邮件 @@ -31,9 +34,28 @@ public class SendEmailServiceImpl implements MsgSendService { @Value("${spring.mail.username}") private String from; + @Autowired + private WxMsgModelMapper wxMsgModelMapper; + @Override public void send(BaseMsg baseMsg) throws Exception{ MailMsg mailMsg = (MailMsg)baseMsg; + //根据模板替换动态内容 + if(mailMsg.getModelId() != null){ + WxMsgModel msgModel = new WxMsgModel(); + msgModel.setTenantId(mailMsg.getTenantId()); + msgModel.setModelId(mailMsg.getModelId()); + WxMsgModel wxMsgModel = wxMsgModelMapper.findOneByModelId(msgModel); + if(wxMsgModel == null){ + throw new Exception("模板id:"+mailMsg.getModelId()+"不存在"); + } + + String msg = wxMsgModel.getContent(); + for (Map.Entry entry : mailMsg.getDynamicContentMap().entrySet()) { + msg = msg.replace("{"+entry.getKey()+"}", entry.getValue()); + } + mailMsg.setMsg(msg); + } if(mailMsg.isHtml()){ //html邮件 MimeMessage message = sender.createMimeMessage(); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java index 1f229f9a6..64c42c1d3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -515,4 +515,14 @@ public class WxBillAllServiceImpl implements WxBillAllService { result.put("paidInfoForPoint", paidInfoForPoint); return result; } + + @Override + public Long hasOweBill(Long contractId, Integer type) { + if(type.intValue() == 1){ + return wxBillRentMapper.oweBillCount(contractId); + }else if(type.intValue() == 2){ + return wxBillPropertyMapper.oweBillCount(contractId); + } + return 0l; + } } diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index 0aa68aba8..01deb3916 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -131,7 +131,7 @@ update wx_bill_property set status = 6 where property_contract_id in (select id from wx_property_contract where rent_contract_id = #{id}) - and status in(4,2) + and status != 3 @@ -148,4 +148,10 @@ update wx_bill_property set is_preview = #{isPreview},merchant_id = #{merchantId} where property_contract_id = #{propertyContractId} + + + diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index c81d0ca4a..e7a026ab6 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -127,7 +127,7 @@ update wx_bill_rent set status = 6 where rent_contract_id = #{rentContractId} - and status in(4,2) + and status != 3 @@ -144,4 +144,10 @@ update wx_bill_rent set is_preview = #{isPreview},merchant_id = #{merchantId} where rent_contract_id = #{rentContractId} + + + diff --git a/mallinkService/src/main/resources/mapper/WxMsgModelMapper.xml b/mallinkService/src/main/resources/mapper/WxMsgModelMapper.xml index 200f74f24..53762e162 100644 --- a/mallinkService/src/main/resources/mapper/WxMsgModelMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMsgModelMapper.xml @@ -72,10 +72,20 @@ + -