diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 856d09f85..af1350aa2 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -303,3 +303,12 @@ tencent: secret-key: "311b5309d714a20f7f5b54360ee21b1e24ec208ebcd25ce8f47d24753bccc091" # 你的密钥 administrator: "administrator" # 管理员账号 expire-time: 604800 # UserSig 过期时间(7天,单位:秒) + # mongodb + data: + mongodb: + uri: 82.156.121.2:37017 + database: wzj-shop + username: admin + password: A1969bf8 + authentication-database: admin + # replica-set-name: mongoreplset diff --git a/ruoyi-modules/ruoyi-im/pom.xml b/ruoyi-modules/ruoyi-im/pom.xml index 83297edf7..8ebfe72b0 100644 --- a/ruoyi-modules/ruoyi-im/pom.xml +++ b/ruoyi-modules/ruoyi-im/pom.xml @@ -105,6 +105,12 @@ org.dromara ruoyi-system + + org.apache.commons + commons-text + 1.10.0 + compile + diff --git a/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/domain/MessageTemplateType.java b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/domain/MessageTemplateType.java new file mode 100644 index 000000000..613d30d8a --- /dev/null +++ b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/domain/MessageTemplateType.java @@ -0,0 +1,16 @@ +package org.dromara.system.domain; + +/** + * 消息模板类型编号常量 + */ +public class MessageTemplateType { + public static final String FOLLOW = "1"; // 关注 + public static final String UNFOLLOW = "2"; // 取消关注 + public static final String LIKE = "3"; // 点赞 + public static final String MERCHANT_APPROVED = "5";// 商家通过审核通知 + public static final String VIDEO_APPROVED = "6"; // 视频审核通过 + public static final String VIDEO_REJECTED = "7"; // 视频审核不通过 + public static final String ORDER_NOTICE = "8"; // 订单通知 + public static final String VERIFY_SUCCESS = "9"; // 核销成功 + public static final String VERIFY_FAIL = "10"; // 核销失败 +} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/domain/SysMessage.java b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/domain/SysMessage.java index 2166e66c6..34627cf97 100644 --- a/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/domain/SysMessage.java +++ b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/domain/SysMessage.java @@ -54,4 +54,12 @@ public class SysMessage extends BaseAudit { /** 扩展参数 */ @TableField(exist = false) private Map params = new HashMap<>(); + + /** 模板类型编号(如1=关注,2=取消关注等) */ + @TableField(exist = false) + private String templateType; + + /** 模板参数 */ + @TableField(exist = false) + private Map templateParams; } diff --git a/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/domain/bo/SysMessageBo.java b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/domain/bo/SysMessageBo.java index 575165f4f..66b40aa5f 100644 --- a/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/domain/bo/SysMessageBo.java +++ b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/domain/bo/SysMessageBo.java @@ -19,6 +19,7 @@ import java.time.LocalDateTime; import java.util.Date; import java.util.List; +import com.baomidou.mybatisplus.annotation.TableField; /** * 消息业务对象 @@ -95,6 +96,27 @@ public class SysMessageBo extends BaseAudit { @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC") private LocalDateTime sendTime; + /** 模板类型编号(如1=关注,2=取消关注等) */ + @TableField(exist = false) + private String templateType; + + /** 模板参数 */ + @TableField(exist = false) + private java.util.Map templateParams; + + public String getTemplateType() { + return templateType; + } + public void setTemplateType(String templateType) { + this.templateType = templateType; + } + public java.util.Map getTemplateParams() { + return templateParams; + } + public void setTemplateParams(java.util.Map templateParams) { + this.templateParams = templateParams; + } + /** * 转换为查询条件 */ diff --git a/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/mapper/SysMessageTemplateMapper.java b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/mapper/SysMessageTemplateMapper.java index 7220814e7..19c70f7c3 100644 --- a/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/mapper/SysMessageTemplateMapper.java +++ b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/mapper/SysMessageTemplateMapper.java @@ -11,4 +11,8 @@ import org.dromara.system.domain.vo.SysMessageTemplateVo; */ public interface SysMessageTemplateMapper extends BaseMapperPlus { + /** + * 根据模板类型编号查找模板 + */ + SysMessageTemplate selectByTemplateType(String templateType); } \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/service/impl/SysMessageServiceImpl.java b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/service/impl/SysMessageServiceImpl.java index 1b4cf9b47..bf8390bae 100644 --- a/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/service/impl/SysMessageServiceImpl.java +++ b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/service/impl/SysMessageServiceImpl.java @@ -3,18 +3,21 @@ package org.dromara.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; + +import org.apache.commons.text.StringSubstitutor; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.system.domain.SysMessage; +import org.dromara.system.domain.SysMessageTemplate; import org.dromara.system.domain.SysMessageUser; import org.dromara.system.domain.bo.SysMessageBo; import org.dromara.system.domain.event.MessageEvent; import org.dromara.system.domain.vo.SysMessageVo; -//import org.dromara.system.job.SnailJobApiUtil; import org.dromara.system.mapper.SysMessageMapper; import org.dromara.system.mapper.SysMessageUserMapper; import org.dromara.system.service.ISysMessageService; @@ -22,12 +25,7 @@ import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; /** @@ -43,6 +41,8 @@ public class SysMessageServiceImpl extends ServiceImpl selectPageMessageList(SysMessageBo bo, PageQuery pageQuery) { @@ -87,6 +87,16 @@ public class SysMessageServiceImpl extends ServiceImpl> list(@RequestBody MemberAccountBO query, @RequestBody Page page) { - Page list = service.page(page,query.toWrapper() ); - return R.ok(convert.toVO(list)); + public R> list(@RequestBody MemberAccountBO bo, + @RequestParam(defaultValue = "1") int pageNum, + @RequestParam(defaultValue = "10") int pageSize) { + Page page = new Page<>(pageNum, pageSize); + IPage result = service.pageWithMember(page, bo); + return R.ok(result); } @Tag(name ="导出会员账户表列表") diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberAddressController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberAddressController.java index 2290df955..97ab3fc0f 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberAddressController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/controller/MemberAddressController.java @@ -1,13 +1,13 @@ package com.wzj.soopin.member.controller; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.wzj.soopin.member.annotation.MemberFillMethod; import com.wzj.soopin.member.convert.MemberAddressConvert; import com.wzj.soopin.member.domain.bo.MemberAddressBO; import com.wzj.soopin.member.domain.po.MemberAddress; import com.wzj.soopin.member.domain.vo.MemberAddressVO; +import org.dromara.system.mapper.AddressMapper; import com.wzj.soopin.member.service.IMemberAddressService; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -15,10 +15,10 @@ import org.dromara.common.core.domain.R; import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; -import org.springframework.http.ResponseEntity; +import org.dromara.common.redis.redis.RedisService; import org.springframework.web.bind.annotation.*; -import java.util.List; +import java.util.*; /** * 会员收货地址Controller @@ -36,6 +36,8 @@ public class MemberAddressController { private final MemberAddressConvert convert; + + @Tag(name ="查询会员收货地址列表") @PostMapping("/list") @MemberFillMethod diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/bo/MemberAccountBO.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/bo/MemberAccountBO.java index e05cdfd58..f6c42710b 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/bo/MemberAccountBO.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/bo/MemberAccountBO.java @@ -41,18 +41,34 @@ public class MemberAccountBO extends BaseBO { @Schema(description ="营收") private BigDecimal revenue; - + private String nickname; private String phone; - private String name; - @Schema(description ="余额") private BigDecimal moneyBalance; public LambdaQueryWrapper toWrapper() { - return new LambdaQueryWrapper() - .eq(MemberAccount::getId, id) - .eq(MemberAccount::getType, type) - .eq(MemberAccount::getMemberId, id); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (id != null) { + wrapper.eq(MemberAccount::getId, id); + } + if (type != null) { + wrapper.eq(MemberAccount::getType, type); + } + if (memberId != null) { + wrapper.eq(MemberAccount::getMemberId, memberId); + } + if (integral != null) { + wrapper.eq(MemberAccount::getIntegral, integral); + } + if (wallet != null) { + wrapper.eq(MemberAccount::getWallet, wallet); + } + if (revenue != null) { + wrapper.eq(MemberAccount::getRevenue, revenue); + } + + + return wrapper; } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberAccountVO.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberAccountVO.java index 1b3f93954..cbd157841 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberAccountVO.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/domain/vo/MemberAccountVO.java @@ -32,8 +32,6 @@ public class MemberAccountVO { private Long id; @Schema(description ="name") - private String name; - - @Schema(description ="phone") - private String phone; + private String nickname; // 会员姓名 + private String phone; // 会员手机号 } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/mapper/MemberAccountMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/mapper/MemberAccountMapper.java index e30381a3e..d994f7f47 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/mapper/MemberAccountMapper.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/mapper/MemberAccountMapper.java @@ -1,7 +1,11 @@ package com.wzj.soopin.member.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.wzj.soopin.member.domain.bo.MemberAccountBO; import com.wzj.soopin.member.domain.po.MemberAccount; +import com.wzj.soopin.member.domain.vo.MemberAccountVO; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; @@ -13,5 +17,6 @@ import java.util.List; * @author zcc */ public interface MemberAccountMapper extends BaseMapper { + IPage selectAccountWithMember(Page page, @Param("bo") MemberAccountBO bo); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/IFansService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/IFansService.java index 5efc90a65..eccac0f63 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/IFansService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/IFansService.java @@ -34,4 +34,7 @@ public interface IFansService extends IService { Long countFansByVloggerId(Long vloggerId); + + // 拉黑前只删除“我关注对方”的关系 + void removeFansRelationship(Long myId, Long vloggerId); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/IMemberAccountService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/IMemberAccountService.java index 8c3a8aeff..a7596d1ce 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/IMemberAccountService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/IMemberAccountService.java @@ -1,10 +1,15 @@ package com.wzj.soopin.member.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.wzj.soopin.member.domain.bo.MemberAccountBO; import com.wzj.soopin.member.domain.po.MemberAccount; import com.wzj.soopin.member.domain.vo.MemberAccountVO; public interface IMemberAccountService extends IService { MemberAccount getMemberAccount(Long memberId); + + IPage pageWithMember(Page page, MemberAccountBO bo); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/FansServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/FansServiceImpl.java index 2431abb5d..3abbfeecf 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/FansServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/FansServiceImpl.java @@ -45,6 +45,11 @@ public class FansServiceImpl extends ServiceImpl implements IF @Transactional(rollbackFor = Exception.class) @Override public void doFollow(Long myId, Long vloggerId) { + // 幂等性校验:已存在则不再插入 + Fans existing = queryFansRelationship(myId, vloggerId); + if (existing != null) { + return; + } Fans fans = new Fans(); fans.setFanId(myId); @@ -66,18 +71,18 @@ public class FansServiceImpl extends ServiceImpl implements IF Member follower = memberService.getById(myId); Member vlogger = memberService.getById(vloggerId); if (follower != null && vlogger != null && !myId.equals(vloggerId)) { - Long templateId = 1938489429145284609L; - SysMessageTemplateVo template = templateService.selectTemplateById(templateId); - if (template != null) { - String content = template.getTemplateContent() - .replace("${followerNickname}", follower.getNickname() == null ? "" : follower.getNickname()) - .replace("${vloggerNickname}", vlogger.getNickname() == null ? "" : vlogger.getNickname()); - SysMessageBo messageBo = new SysMessageBo(); - messageBo.setTitle(template.getTitle()); - messageBo.setContent(content); - messageBo.setSenderId(myId); - sysMessageService.sendMessageToUser(messageBo, vloggerId); - } + // 新版:使用模板类型编号和参数 + Map params = new HashMap<>(); + params.put("followerNickname", follower.getNickname() == null ? "" : follower.getNickname()); + params.put("vloggerNickname", vlogger.getNickname() == null ? "" : vlogger.getNickname()); + SysMessageBo messageBo = new SysMessageBo(); + // 关注类型编号 + messageBo.setTemplateType(org.dromara.system.domain.MessageTemplateType.FOLLOW); + messageBo.setTemplateParams(params); + messageBo.setSenderId(myId); + // 补充:设置消息标题,防止title为null + messageBo.setTitle("关注通知"); + sysMessageService.sendMessageToUser(messageBo, vloggerId); } } @@ -116,18 +121,17 @@ public class FansServiceImpl extends ServiceImpl implements IF Member follower = memberService.getById(myId); Member vlogger = memberService.getById(vloggerId); if (follower != null && vlogger != null && !myId.equals(vloggerId)) { - Long templateId = 1938491158159028226L; - SysMessageTemplateVo template = templateService.selectTemplateById(templateId); - if (template != null) { - String content = template.getTemplateContent() - .replace("${followerNickname}", follower.getNickname() == null ? "" : follower.getNickname()) - .replace("${vloggerNickname}", vlogger.getNickname() == null ? "" : vlogger.getNickname()); - SysMessageBo messageBo = new SysMessageBo(); - messageBo.setTitle(template.getTitle()); - messageBo.setContent(content); - messageBo.setSenderId(myId); - sysMessageService.sendMessageToUser(messageBo, vloggerId); - } + // 新版:使用模板类型编号和参数 + Map params = new HashMap<>(); + params.put("followerNickname", follower.getNickname() == null ? "" : follower.getNickname()); + params.put("vloggerNickname", vlogger.getNickname() == null ? "" : vlogger.getNickname()); + SysMessageBo messageBo = new SysMessageBo(); + messageBo.setTemplateType(org.dromara.system.domain.MessageTemplateType.UNFOLLOW); // 取关类型编号 + messageBo.setTemplateParams(params); + messageBo.setSenderId(myId); + // 补充:设置消息标题,防止title为null + messageBo.setTitle("取消关注通知"); + sysMessageService.sendMessageToUser(messageBo, vloggerId); } } @@ -166,4 +170,13 @@ public class FansServiceImpl extends ServiceImpl implements IF public Long countFansByVloggerId(Long vloggerId) { return baseMapper.selectCount(new LambdaQueryWrapper().eq(Fans::getVloggerId, vloggerId)); } + + // 拉黑前只删除“我关注对方”的关系 + @Override + public void removeFansRelationship(Long myId, Long vloggerId) { + Fans fan = queryFansRelationship(myId, vloggerId); + if (fan != null) { + baseMapper.deleteById(fan.getId()); + } + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/MemberAccountServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/MemberAccountServiceImpl.java index 6841134e5..62be25558 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/MemberAccountServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/wzj/soopin/member/service/impl/MemberAccountServiceImpl.java @@ -2,6 +2,7 @@ package com.wzj.soopin.member.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.wzj.soopin.member.domain.po.MemberAccount; import com.wzj.soopin.member.domain.bo.MemberAccountBO; @@ -38,6 +39,10 @@ public class MemberAccountServiceImpl extends ServiceImpl pageWithMember(Page page, MemberAccountBO bo) { + return baseMapper.selectAccountWithMember(page, bo); + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/MemberAccountMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/MemberAccountMapper.xml new file mode 100644 index 000000000..c1e1b2ba4 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/MemberAccountMapper.xml @@ -0,0 +1,41 @@ + + + + + + + + diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/AftersaleVO.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/AftersaleVO.java index ae89b67a2..1d65916f1 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/AftersaleVO.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/domain/vo/AftersaleVO.java @@ -34,6 +34,8 @@ public class AftersaleVO extends BaseAudit { @Schema(description = "订单编号") private Long orderSn; + private String nickname; // 会员昵称 + private String phone; // 会员手机号 /** 退款金额 */ @Schema(description = "退款金额") diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/OrderServiceImpl.java index 8ed8c8434..39af08049 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/OrderServiceImpl.java @@ -533,14 +533,14 @@ public class OrderServiceImpl extends ServiceImpl implements log.info("模板信息为: {}", template); if (template != null) { - String content = template.getTemplateContent() - .replace("${orderSn}", order.getOrderSn()) - .replace("${productName}", orderItemMapper.getName(orderId)); - log.info("模板内容为: {}", content); + Map params = new HashMap<>(); + params.put("orderSn", order.getOrderSn()); + params.put("productName", orderItemMapper.getName(orderId)); SysMessageBo messageBo = new SysMessageBo(); - messageBo.setTitle(template.getTitle()); - messageBo.setContent(content); + messageBo.setTemplateType(org.dromara.system.domain.MessageTemplateType.ORDER_NOTICE); + messageBo.setTemplateParams(params); messageBo.setSenderId(memberId); + messageBo.setTitle(template.getTitle()); sysMessageService.sendMessageToUser(messageBo, memberId); } } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/VerificationCodeServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/VerificationCodeServiceImpl.java index ef024ba0f..b004f9ebd 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/VerificationCodeServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/wzj/soopin/order/service/impl/VerificationCodeServiceImpl.java @@ -220,61 +220,42 @@ public class VerificationCodeServiceImpl extends ServiceImpl resultMap = codeMapper.getProduvtNameAndMemberId(code); String productName = (String) resultMap.get("productName"); Long memberId = (Long) resultMap.get("memberId"); - LocalDateTime verificationTime = codeMapper.verificationTime(code); String formattedTime = verificationTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - - // 核销成功模板ID - Long templateId = 1940678210012340225L; - // 查询模板信息 - SysMessageTemplateVo template = templateService.selectTemplateById(templateId); - log.info("模板信息为: {}", template); - - if (template != null) { - String content = template.getTemplateContent() - .replace("${productName}", productName) - .replace("${verificationTime}",formattedTime); - log.info("模板内容为: {}", content); - SysMessageBo messageBo = new SysMessageBo(); - messageBo.setTitle(template.getTitle()); - messageBo.setContent(content); - messageBo.setSenderId(memberId); - sysMessageService.sendMessageToUser(messageBo, memberId); - } + // 改为新版模板类型调用 + Map params = new HashMap<>(); + params.put("productName", productName); + params.put("verificationTime", formattedTime); + SysMessageBo messageBo = new SysMessageBo(); + messageBo.setTemplateType(org.dromara.system.domain.MessageTemplateType.VERIFY_SUCCESS); // 核销成功类型编号 + messageBo.setTemplateParams(params); + messageBo.setSenderId(memberId); + messageBo.setTitle("核销成功通知"); // 补充:设置消息标题 + sysMessageService.sendMessageToUser(messageBo, memberId); } @Override public void sendMessageNo(CodeVerificationDto codeVerificationDto) { String code = codeVerificationDto.getCodeValue(); - Map resultMap = codeMapper.getProduvtNameAndMemberId(code); String productName = (String) resultMap.get("productName"); Long memberId = (Long) resultMap.get("memberId"); - String reason = codeMapper.getReason(code); - - // 核销成功模板ID - Long templateId = 1940687666448195586L; - // 查询模板信息 - SysMessageTemplateVo template = templateService.selectTemplateById(templateId); - log.info("模板信息为: {}", template); - - if (template != null) { - String content = template.getTemplateContent() - .replace("${productName}", productName) - .replace("${reason}",reason); - log.info("模板内容为: {}", content); - SysMessageBo messageBo = new SysMessageBo(); - messageBo.setTitle(template.getTitle()); - messageBo.setContent(content); - messageBo.setSenderId(memberId); - sysMessageService.sendMessageToUser(messageBo, memberId); - } + // 核销失败模板ID + // 改为新版模板类型调用 + Map params = new HashMap<>(); + params.put("productName", productName); + params.put("reason", reason); + SysMessageBo messageBo = new SysMessageBo(); + messageBo.setTemplateType(org.dromara.system.domain.MessageTemplateType.VERIFY_FAIL); // 核销失败类型编号 + messageBo.setTemplateParams(params); + messageBo.setSenderId(memberId); + messageBo.setTitle("核销失败通知"); // 补充:设置消息标题 + sysMessageService.sendMessageToUser(messageBo, memberId); } } diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/AftersaleMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/AftersaleMapper.xml index c17cfe7ea..af1f6b544 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/AftersaleMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/AftersaleMapper.xml @@ -109,11 +109,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"