| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package com.cyksj.service.template.impl;
- import cn.hutool.core.date.DateTime;
- import cn.hutool.core.date.DateUtil;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.cyksj.common.EnvCommonService;
- import com.cyksj.common.constant.TemplateEnum;
- import com.cyksj.common.util.Jsons;
- import com.cyksj.config.WeChatConfig;
- import com.cyksj.mapper.gzh.UserGzhRelationMapper;
- import com.cyksj.model.dto.WxMpTemplateData;
- import com.cyksj.model.dto.WxMpTemplateMessage;
- import com.cyksj.model.entity.*;
- import com.cyksj.service.template.TemplateCommonService;
- import com.cyksj.service.wechat.WeChatService;
- import com.ejlchina.searcher.BeanSearcher;
- import com.ejlchina.searcher.util.MapBuilder;
- import com.ejlchina.searcher.util.MapUtils;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.stereotype.Service;
- import java.math.BigDecimal;
- /*
- *项目名: netflix
- *文件名: TemplateCommonServiceImpl
- *创建者: JavaZou
- *创建时间:2023/1/11 9:59
- */
- @Service
- @RequiredArgsConstructor
- @Slf4j
- public class TemplateCommonServiceImpl implements TemplateCommonService {
- private final EnvCommonService envCommonService;
- private final WeChatService weChatService;
- private final BeanSearcher beanSearcher;
- private final UserGzhRelationMapper userGzhRelationMapper;
- private final WeChatConfig weChatConfig;
- public void newOderSendMsgByType(OrderDon order, GoodsDon goodsDon, GoodsDonSku sku, User user, String toPeople) throws Exception {
- Long userId = order.getUserId();
- WxAppTemplateView wxAppTemplateView = this.getWxAppByUserId(userId, TemplateEnum.NEW_ORDER_TEMPLATE.getDesc());
- if (wxAppTemplateView != null) {
- WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
- .setToUser(toPeople)
- .setTemplateId(wxAppTemplateView.getTemplateId())
- //TODO
- .setUrl(" ");
- WxMpTemplateMessage.TemplateData data = templateMessage.getData();
- data.setFirst(new WxMpTemplateData("新订单通知!"));
- data.setKeyword1(new WxMpTemplateData(order.getOrderNo()));
- data.setKeyword2(new WxMpTemplateData(String.format("%s,%s", goodsDon.getTitle(), sku.getSpecVal())));
- data.setKeyword3(new WxMpTemplateData(user == null ? "推广未登录用户" : user.getNickname()));
- data.setKeyword4(new WxMpTemplateData(order.getMoney().divide(BigDecimal.valueOf(100)).toString()));
- data.setKeyword5(new WxMpTemplateData(DateUtil.format(order.getCreatedTime(), "yyyy-MM-dd HH:mm:ss")));
- data.setRemark(new WxMpTemplateData("点击查看详情"));
- weChatService.sendTemplateMessage(weChatService.getAccessToken(wxAppTemplateView.getAppId()), Jsons.toJson(templateMessage));
- }
- }
- @Override
- public WxAppTemplateView getWxAppByUserId(Long userId, String templateMark) {
- UserGzhRelation userGzhRelation = userGzhRelationMapper.selectOne(Wrappers.lambdaQuery(UserGzhRelation.class)
- .eq(UserGzhRelation::getUserId, userId).last("limit 1"));
- MapBuilder builder = MapUtils.builder()
- .field(WxAppTemplateView::getRemark, templateMark);
- if (userGzhRelation == null) {
- builder.field(WxAppTemplateView::getAppId, weChatConfig.getAppid());
- }else {
- builder.field(WxAppTemplateView::getWxAppId, userGzhRelation.getWxAppId());
- }
- String type;
- if (EnvCommonService.active.equals(envCommonService.getEnv())) {
- type = EnvCommonService.active;
- } else {
- type = EnvCommonService.active_prd;
- }
- builder.field(WxAppTemplateView::getType, type);
- return beanSearcher.searchFirst(WxAppTemplateView.class, builder.build());
- }
- @Override
- public void sendWxGzhQrCodeSuccessMsg(User user) throws Exception {
- Long userId = user.getId();
- if (EnvCommonService.active.equals(envCommonService.getEnv())) {
- WxAppTemplateView wxAppTemplateView = this.getWxAppByUserId(userId, TemplateEnum.WX_GZH_QR_CODE_LOGIN.getDesc());
- String url = String.format("%sauth/weChat?url=%s", envCommonService.getHost(), envCommonService.getDomain() + "yinhe/web/");
- WxMpTemplateMessage templateMessage = new WxMpTemplateMessage()
- .setToUser(user.getOpenId())
- .setTemplateId(wxAppTemplateView.getTemplateId())
- .setUrl(url);
- WxMpTemplateMessage.TemplateData data = templateMessage.getData();
- data.setFirst(new WxMpTemplateData("您已登录成功"));
- data.setKeyword1(new WxMpTemplateData("银河录像局"));
- data.setKeyword2(new WxMpTemplateData(DateUtil.format(DateTime.now(), "yyyy-MM-dd HH:mm:ss")));
- data.setRemark(new WxMpTemplateData("欢迎使用银河录像局"));
- weChatService.sendTemplateMessage(weChatService.getAccessToken(), Jsons.toJson(templateMessage));
- }
- }
- }
|