123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package com.caimei.modules.coupon.service;
- import com.caimei.modules.coupon.entity.CmCoupon;
- import com.caimei.modules.sys.utils.SMSUtils;
- import com.caimei.modules.user.dao.MessageCenterDao;
- import com.caimei.modules.user.entity.CmUser;
- import com.caimei.modules.user.entity.MessageCenter;
- import com.caimei.po.User;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.scheduling.annotation.Async;
- import org.springframework.scheduling.annotation.EnableAsync;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.annotation.Resource;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- @Service
- @EnableAsync
- @Transactional(readOnly = false)
- @Slf4j
- public class AsyncService {
- @Resource
- private MessageCenterDao messageCenterDao;
- //优惠券站内消息推送
- @Async("mytask")
- public void consumer(CmCoupon cmCoupon) {
- log.info("优惠券异步信推送开始--------------------》");
- String smsContent = "采美平台送您" + cmCoupon.getCouponAmount() + "元优惠券,众多大牌正品等着您,快戳采美网站链接www.caimei365.com" +
- "或微信搜索“采美采购商城”小程序登录采美平台领取下单吧。关注公众号“采美网”获取更多优惠和精彩资讯。退订回T";
- MessageCenter messageCenter = new MessageCenter();
- Date date = new Date();
- String now = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
- messageCenter.userType(1).couponType(cmCoupon.getCouponType()).messageType(4).time(now).couponMessageType(1).
- couponFee(cmCoupon.getCouponAmount().doubleValue());
- List<Integer> clubIds = messageCenterDao.ClubIds();
- List<User> users = new ArrayList<>();
- switch (cmCoupon.getCouponType()) {
- // 劵类型 0活动券 1品类券 2用户专享券 3店铺券 4新用户券
- case 0:
- setCouponMessage(messageCenter, clubIds, smsContent, null);
- break;
- case 1:
- String type = "1".equals(cmCoupon.getCategoryType()) ? "产品" : "仪器";
- smsContent = "采美平台" + type + "类商品大优惠,采美平台送您" + cmCoupon.getCouponAmount() + "元优惠券,快戳采美网站链接www.caimei365.com" +
- "或微信搜索“采美采购商城”小程序登录采美平台领取吧。关注公众号“采美网”获取更多优惠和精彩资讯。退订回T";
- setCouponMessage(messageCenter, clubIds, smsContent, null);
- break;
- case 2:
- users = messageCenterDao.getUserInfo(cmCoupon.getUserId());
- setCouponMessage(messageCenter, null, smsContent, users);
- break;
- case 3:
- String shopName = messageCenterDao.shopName(cmCoupon.getShopId());
- smsContent = "采美平台为了回馈客户,赠送您" + cmCoupon.getCouponAmount() + "元的店铺专属优惠券,快戳采美网站链接www.caimei365.com" +
- "或微信搜索“采美采购商城”小程序登录采美平台领取吧。关注公众号“采美网”获取更多优惠和精彩资讯。退订回T";
- messageCenter.content(shopName);
- setCouponMessage(messageCenter, clubIds, smsContent, null);
- break;
- case 4:
- smsContent = "恭喜成功注册采美平台。采美平台赠送您" + cmCoupon.getCouponAmount() + "元新用户优惠券,快戳采美网站链接www.caimei365.com" +
- "或微信搜索“采美采购商城”小程序登录采美平台领取吧。关注公众号“采美网”获取更多优惠和精彩资讯。退订回T";
- users = messageCenterDao.getNewUsers();
- setCouponMessage(messageCenter, null, smsContent, users);
- break;
- default:
- throw new IllegalStateException("Unexpected value: " + cmCoupon.getCouponType());
- }
- }
- public void setCouponMessage(MessageCenter messageCenter, List<Integer> clubIds, String sms, List<User> users) {
- if (null != clubIds && clubIds.size() > 0) {
- clubIds.forEach(c -> {
- CmUser user = messageCenterDao.clubList(c);
- messageCenter.clubId(c);
- messageCenterDao.addMessageCenter(messageCenter);
- SMSUtils.sendSms(3, user.getBindMobile(), sms);
- });
- } else if (null != users && users.size() > 0) {
- messageCenterDao.addMessageCenter(messageCenter);
- users.forEach(u -> {
- messageCenter.clubId(u.getClubID());
- messageCenterDao.addMessageCenter(messageCenter);
- SMSUtils.sendSms(3, u.getBindMobile(), sms);
- });
- }
- }
- }
|