From e23200de9d77fbadfac13106d9933427ea896b4b Mon Sep 17 00:00:00 2001 From: gongbiao Date: Wed, 5 Jun 2019 15:58:11 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=AE=A3=E4=BC=A0=E6=B4=BB=E5=8A=A8][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E8=B0=83=E6=95=B4]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schedule/BillNotificationSchedule.java | 116 +++++++++++------- .../iformall/schedule/CampaginSchedule.java | 114 +++++++---------- .../resources/mapper/WxCampaignMapper.xml | 2 +- 3 files changed, 116 insertions(+), 116 deletions(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/BillNotificationSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/BillNotificationSchedule.java index d40387d9b..dadf31b93 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/BillNotificationSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/BillNotificationSchedule.java @@ -1,21 +1,20 @@ package com.iformall.schedule; -import com.iformall.domain.po.WxCampaign; -import com.iformall.domain.po.WxCampaignJoin; +import com.alibaba.fastjson.JSONObject; import com.iformall.domain.po.msg.WxMsgRecord; import com.iformall.enums.*; -import com.iformall.mapper.WxCampaignJoinMapper; -import com.iformall.mapper.WxCampaignMapper; +import com.iformall.mapper.WxBillAllMapper; import com.iformall.mq.MqBaseProducer; -import com.iformall.utils.DateUtils; +import com.iformall.service.WxBillAllService; import org.apache.commons.collections.map.HashedMap; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.List; import java.util.Map; @@ -25,61 +24,86 @@ import java.util.Map; @Component public class BillNotificationSchedule { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired - private WxCampaignMapper wxCampaignMapper; + private WxBillAllMapper wxBillAllMapper; @Autowired - private WxCampaignJoinMapper wxCampaignJoinMapper; + private MqBaseProducer mqBaseProducer; @Autowired - private MqBaseProducer mqBaseProducer; + WxBillAllService wxBillAllService; /** - * 每天12点执行 + * 每天9点执行 */ - @Scheduled(cron = "0 0 12 * * ?") - public void sendMsg() { - logger.info("限时活动参与提醒任务启动"); - WxCampaign wxCampaign = new WxCampaign(); - wxCampaign.setStatus(EnumCampaignStatus.STATUS_THROW_IN.getCode()); - List wxCampaigns = wxCampaignMapper.queryNotify(wxCampaign); - WxCampaignJoin wxCampaignJoin = null; - for (WxCampaign campaign : wxCampaigns) { - wxCampaignJoin = new WxCampaignJoin(); - wxCampaignJoin.setTenantId(campaign.getTenantId()); - wxCampaignJoin.setCampaignId(campaign.getId()); - wxCampaignJoin.setStatus(EnumCampaignJoinStatus.CONFIRMED.getCode()); - List list = wxCampaignJoinMapper.findList(wxCampaignJoin); - for (WxCampaignJoin campaignJoin : list) { - send(campaign, campaignJoin); - } - } + @Scheduled(cron = "0 0 14 * * ?") + public void sendMsgFromBill() { + logger.info("账单通知任务启动"); + sendWaitPayBill(); + wxBillAllService.sendWaitPayBillEmail(); + sendOweBill(); + wxBillAllService.sendOweBillForEmail(); + logger.info("账单通知任务结束"); } - private void send(WxCampaign campaign, WxCampaignJoin campaignJoin) { - logger.info("限时活动参与提醒短信发送开始"); - String phone = campaignJoin.getPhone(); - String person = campaignJoin.getName(); - person = StringUtils.isNotEmpty(person) ? person : ""; - String time = DateUtils.date2String(campaign.getActivityTime()); - String party = campaign.getTitle(); - WxMsgRecord wxMsgRecord = new WxMsgRecord(); - wxMsgRecord.setMsgType(EnumMsgRecordType.SMS.getCode()); - wxMsgRecord.setModelType(EnumMsgModel.TIME_LIMIT_CAMPAIGN_NOTIFY.getCode()); - wxMsgRecord.setReceiver(phone); - wxMsgRecord.setTenantId(campaignJoin.getTenantId()); - Map map = new HashedMap(); - map.put("person", person); - map.put("party", party); - map.put("time", time); - wxMsgRecord.setDynamicContentMap(map); - mqBaseProducer.sendMessage(wxMsgRecord, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); - logger.info("限时活动参与提醒短信发送结束"); + private void sendOweBill() { + logger.info("查询欠缴账单数据"); + List> oweBillList = wxBillAllMapper.getOweBill(); + for (Map bill : oweBillList) { + logger.info("欠缴账单:" + JSONObject.toJSONString(bill)); + String tenantId = bill.get("tenantId").toString(); + BigDecimal owe = (BigDecimal) bill.get("owe"); + BigDecimal price = owe.divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); + String phone = bill.get("linkPhone").toString(); + String appname = bill.get("appname").toString(); + String merchantName = bill.get("merchantName").toString(); + logger.info("欠缴账单检验短信配置信息"); + WxMsgRecord wxMsgRecord = new WxMsgRecord(); + wxMsgRecord.setMsgType(EnumMsgRecordType.SMS.getCode()); + wxMsgRecord.setModelType(EnumMsgModel.BILL_OWE.getCode()); + wxMsgRecord.setReceiver(phone); + wxMsgRecord.setTenantId(tenantId); + Map map = new HashedMap(); + map.put("price", price.toString()); + map.put("app", appname); + map.put("merName", merchantName); + wxMsgRecord.setDynamicContentMap(map); + mqBaseProducer.sendMessage(wxMsgRecord, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); + } } + private void sendWaitPayBill() { + logger.info("查询待缴账单数据"); + List> waitBillList = wxBillAllMapper.getWaitPayBill(); + for (Map bill : waitBillList) { + logger.info("待缴账单账单:" + JSONObject.toJSONString(bill)); + String tenantId = bill.get("tenantId").toString(); + String receiveDate = bill.get("receiveDate").toString(); + BigDecimal needPay = (BigDecimal) bill.get("needPay"); + BigDecimal price = needPay.divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); + String phone = bill.get("linkPhone").toString(); + String appname = bill.get("appname").toString(); + String merchantName = bill.get("merchantName").toString(); + logger.info("待缴账单检验短信配置信息"); + + WxMsgRecord wxMsgRecord = new WxMsgRecord(); + wxMsgRecord.setMsgType(EnumMsgRecordType.SMS.getCode()); + wxMsgRecord.setModelType(EnumMsgModel.BILL_WAIT_PAY.getCode()); + wxMsgRecord.setReceiver(phone); + wxMsgRecord.setTenantId(tenantId); + Map map = new HashedMap(); + map.put("price", price.toString()); + map.put("app", appname); + map.put("date", receiveDate); + map.put("merName", merchantName); + wxMsgRecord.setDynamicContentMap(map); + mqBaseProducer.sendMessage(wxMsgRecord, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); + } + } diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/CampaginSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/CampaginSchedule.java index eb0fb38ce..a282ef35c 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CampaginSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/CampaginSchedule.java @@ -1,20 +1,21 @@ package com.iformall.schedule; -import com.alibaba.fastjson.JSONObject; +import com.iformall.domain.po.WxCampaign; +import com.iformall.domain.po.WxCampaignJoin; import com.iformall.domain.po.msg.WxMsgRecord; import com.iformall.enums.*; -import com.iformall.mapper.WxBillAllMapper; +import com.iformall.mapper.WxCampaignJoinMapper; +import com.iformall.mapper.WxCampaignMapper; import com.iformall.mq.MqBaseProducer; -import com.iformall.service.WxBillAllService; +import com.iformall.utils.DateUtils; import org.apache.commons.collections.map.HashedMap; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import java.math.BigDecimal; -import java.math.RoundingMode; import java.util.List; import java.util.Map; @@ -27,81 +28,56 @@ public class CampaginSchedule { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired - private WxBillAllMapper wxBillAllMapper; + private WxCampaignMapper wxCampaignMapper; @Autowired - private MqBaseProducer mqBaseProducer; + private WxCampaignJoinMapper wxCampaignJoinMapper; @Autowired - WxBillAllService wxBillAllService; + private MqBaseProducer mqBaseProducer; /** - * 每天9点执行 + * 每天12点执行 */ - @Scheduled(cron = "0 0 14 * * ?") - public void sendMsgFromBill() { - logger.info("账单通知任务启动"); - sendWaitPayBill(); - wxBillAllService.sendWaitPayBillEmail(); - sendOweBill(); - wxBillAllService.sendOweBillForEmail(); - logger.info("账单通知任务结束"); - } - - private void sendOweBill() { - logger.info("查询欠缴账单数据"); - List> oweBillList = wxBillAllMapper.getOweBill(); - for (Map bill : oweBillList) { - logger.info("欠缴账单:" + JSONObject.toJSONString(bill)); - String tenantId = bill.get("tenantId").toString(); - BigDecimal owe = (BigDecimal) bill.get("owe"); - BigDecimal price = owe.divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); - String phone = bill.get("linkPhone").toString(); - String appname = bill.get("appname").toString(); - String merchantName = bill.get("merchantName").toString(); - logger.info("欠缴账单检验短信配置信息"); - - WxMsgRecord wxMsgRecord = new WxMsgRecord(); - wxMsgRecord.setMsgType(EnumMsgRecordType.SMS.getCode()); - wxMsgRecord.setModelType(EnumMsgModel.BILL_OWE.getCode()); - wxMsgRecord.setReceiver(phone); - wxMsgRecord.setTenantId(tenantId); - Map map = new HashedMap(); - map.put("price", price.toString()); - map.put("app", appname); - map.put("merName", merchantName); - wxMsgRecord.setDynamicContentMap(map); - mqBaseProducer.sendMessage(wxMsgRecord, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); + @Scheduled(cron = "0 0 12 * * ?") + public void sendMsg() { + logger.info("限时活动参与提醒任务启动"); + WxCampaign wxCampaign = new WxCampaign(); + wxCampaign.setStatus(EnumCampaignStatus.STATUS_THROW_IN.getCode()); + List wxCampaigns = wxCampaignMapper.queryNotify(wxCampaign); + WxCampaignJoin wxCampaignJoin = null; + for (WxCampaign campaign : wxCampaigns) { + wxCampaignJoin = new WxCampaignJoin(); + wxCampaignJoin.setTenantId(campaign.getTenantId()); + wxCampaignJoin.setCampaignId(campaign.getId()); + wxCampaignJoin.setStatus(EnumCampaignJoinStatus.CONFIRMED.getCode()); + List list = wxCampaignJoinMapper.findList(wxCampaignJoin); + for (WxCampaignJoin campaignJoin : list) { + send(campaign, campaignJoin); + } } } - private void sendWaitPayBill() { - logger.info("查询待缴账单数据"); - List> waitBillList = wxBillAllMapper.getWaitPayBill(); - for (Map bill : waitBillList) { - logger.info("待缴账单账单:" + JSONObject.toJSONString(bill)); - String tenantId = bill.get("tenantId").toString(); - String receiveDate = bill.get("receiveDate").toString(); - BigDecimal needPay = (BigDecimal) bill.get("needPay"); - BigDecimal price = needPay.divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN); - String phone = bill.get("linkPhone").toString(); - String appname = bill.get("appname").toString(); - String merchantName = bill.get("merchantName").toString(); - logger.info("待缴账单检验短信配置信息"); + private void send(WxCampaign campaign, WxCampaignJoin campaignJoin) { + logger.info("限时活动参与提醒短信发送开始"); + String phone = campaignJoin.getPhone(); + String person = campaignJoin.getName(); + person = StringUtils.isNotEmpty(person) ? person : ""; + String time = DateUtils.date2String(campaign.getActivityStartTime()); + String party = campaign.getTitle(); + WxMsgRecord wxMsgRecord = new WxMsgRecord(); + wxMsgRecord.setMsgType(EnumMsgRecordType.SMS.getCode()); + wxMsgRecord.setModelType(EnumMsgModel.TIME_LIMIT_CAMPAIGN_NOTIFY.getCode()); + wxMsgRecord.setReceiver(phone); + wxMsgRecord.setTenantId(campaignJoin.getTenantId()); + Map map = new HashedMap(); + map.put("person", person); + map.put("party", party); + map.put("time", time); + wxMsgRecord.setDynamicContentMap(map); + mqBaseProducer.sendMessage(wxMsgRecord, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); + logger.info("限时活动参与提醒短信发送结束"); - WxMsgRecord wxMsgRecord = new WxMsgRecord(); - wxMsgRecord.setMsgType(EnumMsgRecordType.SMS.getCode()); - wxMsgRecord.setModelType(EnumMsgModel.BILL_WAIT_PAY.getCode()); - wxMsgRecord.setReceiver(phone); - wxMsgRecord.setTenantId(tenantId); - Map map = new HashedMap(); - map.put("price", price.toString()); - map.put("app", appname); - map.put("date", receiveDate); - map.put("merName", merchantName); - wxMsgRecord.setDynamicContentMap(map); - mqBaseProducer.sendMessage(wxMsgRecord, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); - } } diff --git a/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml b/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml index 8a31870ec..374f98ea2 100644 --- a/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml @@ -168,7 +168,7 @@