去掉无用代码以及对站内信模版等进行了优化

This commit is contained in:
pikachu
2021-07-21 19:36:04 +08:00
parent f35ae5b1ee
commit 9f3a4dbf68
21 changed files with 90 additions and 642 deletions

View File

@@ -84,6 +84,7 @@ public class DistributionCashServiceImpl extends ServiceImpl<DistributionCashMap
memberWithdrawalMessage.setMemberId(distribution.getMemberId());
memberWithdrawalMessage.setPrice(applyMoney);
memberWithdrawalMessage.setDestination(MemberWithdrawalDestinationEnum.WALLET.name());
memberWithdrawalMessage.setStatus(DistributionCashStatusEnum.APPLY.name());
String destination = rocketmqCustomProperties.getMemberTopic() + ":" + MemberTagsEnum.MEMBER_WITHDRAWAL.name();
rocketMQTemplate.asyncSend(destination, memberWithdrawalMessage, RocketmqSendCallbackBuilder.commonCallback());
return true;
@@ -122,8 +123,10 @@ public class DistributionCashServiceImpl extends ServiceImpl<DistributionCashMap
//获取分销员
Distribution distribution = distributionService.getById(distributorCash.getDistributionId());
if (distribution != null && distributorCash != null && distribution.getDistributionStatus().equals(DistributionStatusEnum.PASS.name())) {
MemberWithdrawalMessage memberWithdrawalMessage = new MemberWithdrawalMessage();
//审核通过
if (result.equals(DistributionCashStatusEnum.PASS.name())) {
memberWithdrawalMessage.setStatus(DistributionCashStatusEnum.PASS.name());
//审核通过需要校验冻结金额不足情况
if (distribution.getCommissionFrozen() < distributorCash.getPrice()) {
throw new ServiceException(ResultCode.WALLET_WITHDRAWAL_INSUFFICIENT);
@@ -136,6 +139,7 @@ public class DistributionCashServiceImpl extends ServiceImpl<DistributionCashMap
//提现到余额
memberWalletService.increase(distributorCash.getPrice(), distribution.getMemberId(), "分销佣金提现到余额", DepositServiceTypeEnum.WALLET_COMMISSION.name());
} else {
memberWithdrawalMessage.setStatus(DistributionCashStatusEnum.REFUSE.name());
//分销员佣金解冻
distribution.setCommissionFrozen(CurrencyUtil.sub(distribution.getCommissionFrozen(), distributorCash.getPrice()));
//分销员可提现金额退回
@@ -145,7 +149,15 @@ public class DistributionCashServiceImpl extends ServiceImpl<DistributionCashMap
//分销员金额相关处理
distributionService.updateById(distribution);
//修改分销提现申请
this.updateById(distributorCash);
boolean bool = this.updateById(distributorCash);
if (bool) {
//组织会员提现审核消息
memberWithdrawalMessage.setMemberId(distribution.getMemberId());
memberWithdrawalMessage.setPrice(distributorCash.getPrice());
memberWithdrawalMessage.setDestination(MemberWithdrawalDestinationEnum.WALLET.name());
String destination = rocketmqCustomProperties.getMemberTopic() + ":" + MemberTagsEnum.MEMBER_WITHDRAWAL.name();
rocketMQTemplate.asyncSend(destination, memberWithdrawalMessage, RocketmqSendCallbackBuilder.commonCallback());
}
return distributorCash;
}
throw new ServiceException(ResultCode.DISTRIBUTION_NOT_EXIST);

View File

@@ -1,43 +0,0 @@
package cn.lili.modules.member.entity.dos;
import cn.lili.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
* 会员站内信
*
* @author Chopper
* @date 2020-02-25 14:10:16
*/
@Data
@Entity
@Table(name = "li_member_notice")
@TableName("li_member_notice")
@ApiModel(value = "会员站内信")
public class MemberNotice extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "会员id")
private String memberId;
@ApiModelProperty(value = "是否已读")
private Boolean isRead;
@ApiModelProperty(value = "阅读时间")
private Long receiveTime;
@ApiModelProperty(value = "标题")
private String title;
@ApiModelProperty(value = "站内信内容")
private String content;
}

View File

@@ -1,76 +0,0 @@
package cn.lili.modules.member.entity.dos;
import cn.lili.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
* 会员消息
*
* @author Chopper
* @date 2020-02-25 14:10:16
*/
@Data
@Entity
@Table(name = "li_member_notice_log")
@TableName("li_member_notice_log")
@ApiModel(value = "会员消息")
public class MemberNoticeLog extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 标题
*/
@Column(name = "title")
@ApiModelProperty(value = "标题")
private String title;
/**
* 消息内容
*/
@Column(name = "content")
@ApiModelProperty(value = "消息内容")
private String content;
/**
* 会员id
*/
@Column(name = "member_ids")
@ApiModelProperty(value = "会员id")
private String memberIds;
/**
* 管理员id
*/
@Column(name = "admin_id")
@ApiModelProperty(value = "管理员id")
private String adminId;
/**
* 管理员名称
*/
@Column(name = "admin_name")
@ApiModelProperty(value = "管理员名称")
private String adminName;
/**
* 发送时间
*/
@Column(name = "send_time")
@ApiModelProperty(value = "发送时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
private Date sendTime;
/**
* 发送类型
*/
@Column(name = "send_type")
@ApiModelProperty(value = "发送类型,0全站1指定会员")
private Integer sendType;
}

View File

@@ -1,50 +0,0 @@
package cn.lili.modules.member.entity.dos;
import cn.lili.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
* 会员消息
*
* @author Chopper
* @date 2020-02-25 14:10:16
*/
@Data
@Entity
@Table(name = "li_member_notice_senter")
@TableName("li_member_notice_senter")
@ApiModel(value = "会员消息")
public class MemberNoticeSenter extends BaseEntity {
/**
* 标题
*/
@Column(name = "title")
@ApiModelProperty(value = "标题")
private String title;
/**
* 消息内容
*/
@Column(name = "content")
@ApiModelProperty(value = "消息内容")
private String content;
/**
* 会员id
*/
@Column(name = "member_ids")
@ApiModelProperty(value = "会员id")
private String memberIds;
/**
* 发送类型
*/
@Column(name = "send_type")
@ApiModelProperty(value = "发送类型,ALL 全站SELECT 指定会员")
private String sendType;
}

View File

@@ -18,6 +18,9 @@ public class MemberWithdrawalMessage {
@ApiModelProperty(value = "会员id")
private String memberId;
@ApiModelProperty(value = "提现状态")
private String status;
/**
* @see cn.lili.modules.member.entity.enums.MemberWithdrawalDestinationEnum
*/

View File

@@ -1,14 +0,0 @@
package cn.lili.modules.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.lili.modules.member.entity.dos.MemberNoticeLog;
/**
* 会员消息数据处理层
*
* @author Chopper
* @date 2020-02-25 14:10:16
*/
public interface MemberNoticeLogMapper extends BaseMapper<MemberNoticeLog> {
}

View File

@@ -1,14 +0,0 @@
package cn.lili.modules.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.lili.modules.member.entity.dos.MemberNotice;
/**
* 会员站内信数据处理层
*
* @author Chopper
* @date 2020-02-25 14:10:16
*/
public interface MemberNoticeMapper extends BaseMapper<MemberNotice> {
}

View File

@@ -1,14 +0,0 @@
package cn.lili.modules.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.lili.modules.member.entity.dos.MemberNoticeSenter;
/**
* 会员消息数据处理层
*
* @author Chopper
* @date 2020-02-25 14:10:16
*/
public interface MemberNoticeSenterMapper extends BaseMapper<MemberNoticeSenter> {
}

View File

@@ -1,14 +0,0 @@
package cn.lili.modules.member.service;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.lili.modules.member.entity.dos.MemberNoticeLog;
/**
* 会员消息业务层
*
* @author Chopper
* @date 2020/11/17 3:44 下午
*/
public interface MemberNoticeLogService extends IService<MemberNoticeLog> {
}

View File

@@ -1,22 +0,0 @@
package cn.lili.modules.member.service;
import cn.lili.modules.member.entity.dos.MemberNoticeSenter;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 会员消息业务层
*
* @author Chopper
* @date 2020/11/17 3:44 下午
*/
public interface MemberNoticeSenterService extends IService<MemberNoticeSenter> {
/**
* 自定义保存方法
*
* @param memberNoticeSenter 会员消息
* @return 操作状态
*/
boolean customSave(MemberNoticeSenter memberNoticeSenter);
}

View File

@@ -1,15 +0,0 @@
package cn.lili.modules.member.service;
import cn.lili.modules.member.entity.dos.MemberNotice;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 会员站内信业务层
*
* @author Chopper
* @date 2020/11/17 3:44 下午
*/
public interface MemberNoticeService extends IService<MemberNotice> {
}

View File

@@ -1,17 +0,0 @@
package cn.lili.modules.member.serviceimpl;
import cn.lili.modules.member.entity.dos.MemberNoticeLog;
import cn.lili.modules.member.mapper.MemberNoticeLogMapper;
import cn.lili.modules.member.service.MemberNoticeLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* 会员消息业务层实现
*
* @author Chopper
* @date 2020/11/17 3:44 下午
*/
@Service
public class MemberNoticeLogServiceImpl extends ServiceImpl<MemberNoticeLogMapper, MemberNoticeLog> implements MemberNoticeLogService {
}

View File

@@ -1,91 +0,0 @@
package cn.lili.modules.member.serviceimpl;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.utils.StringUtils;
import cn.lili.modules.member.entity.dos.Member;
import cn.lili.modules.member.entity.dos.MemberNotice;
import cn.lili.modules.member.entity.dos.MemberNoticeSenter;
import cn.lili.modules.member.entity.enums.SendTypeEnum;
import cn.lili.modules.member.mapper.MemberNoticeSenterMapper;
import cn.lili.modules.member.service.MemberNoticeSenterService;
import cn.lili.modules.member.service.MemberNoticeService;
import cn.lili.modules.member.service.MemberService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
* 会员消息业务层实现
*
* @author Chopper
* @date 2020/11/17 3:44 下午
*/
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = java.lang.Exception.class)
public class MemberNoticeSenterServiceImpl extends ServiceImpl<MemberNoticeSenterMapper, MemberNoticeSenter> implements MemberNoticeSenterService {
/**
* 会员
*/
@Autowired
private MemberService memberService;
/**
* 会员站内信
*/
@Autowired
private MemberNoticeService memberNoticeService;
@Override
public boolean customSave(MemberNoticeSenter memberNoticeSenter) {
if (this.saveOrUpdate(memberNoticeSenter)) {
List<MemberNotice> memberNotices = new ArrayList<>();
//如果是选中会员发送
if (memberNoticeSenter.getSendType().equals(SendTypeEnum.SELECT.name())) {
//判定消息是否有效
if (!StringUtils.isEmpty(memberNoticeSenter.getMemberIds())) {
String[] ids = memberNoticeSenter.getMemberIds().split(",");
MemberNotice memberNotice;
for (String id : ids) {
memberNotice = new MemberNotice();
memberNotice.setIsRead(false);
memberNotice.setContent(memberNoticeSenter.getContent());
memberNotice.setMemberId(id);
memberNotice.setTitle(memberNoticeSenter.getTitle());
memberNotices.add(memberNotice);
}
} else {
return true;
}
} //否则是全部会员发送
else {
List<Member> members = memberService.list();
MemberNotice memberNotice;
for (Member member : members) {
memberNotice = new MemberNotice();
memberNotice.setIsRead(false);
memberNotice.setContent(memberNoticeSenter.getContent());
memberNotice.setMemberId(member.getId());
memberNotice.setTitle(memberNoticeSenter.getTitle());
memberNotices.add(memberNotice);
}
}
//防止没有会员导致报错
if (memberNotices.size() > 0) {
//批量保存
if (memberNoticeService.saveBatch(memberNotices)) {
return true;
} else {
throw new ServiceException(ResultCode.NOTICE_SEND_ERROR);
}
}
}
return true;
}
}

View File

@@ -1,18 +0,0 @@
package cn.lili.modules.member.serviceimpl;
import cn.lili.modules.member.entity.dos.MemberNotice;
import cn.lili.modules.member.mapper.MemberNoticeMapper;
import cn.lili.modules.member.service.MemberNoticeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* 会员站内信业务层实现
*
* @author Chopper
* @date 2020/11/17 3:44 下午
*/
@Service
public class MemberNoticeServiceImpl extends ServiceImpl<MemberNoticeMapper, MemberNotice> implements MemberNoticeService {
}

View File

@@ -35,7 +35,11 @@ public enum NoticeMessageParameterEnum {
/**
* 取消原因
*/
CANCEL_REASON("cancel_reason", "取消原因");
CANCEL_REASON("cancel_reason", "取消原因"),
/**
* 取消原因
*/
PRICE("price", "金额");
private final String type;
private final String description;

View File

@@ -4,12 +4,13 @@ import cn.lili.common.enums.SwitchEnum;
import cn.lili.common.utils.PageUtil;
import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.member.entity.dos.MemberNotice;
import cn.lili.modules.member.service.MemberNoticeService;
import cn.lili.modules.message.entity.dos.MemberMessage;
import cn.lili.modules.message.entity.dos.NoticeMessage;
import cn.lili.modules.message.entity.dto.NoticeMessageDTO;
import cn.lili.modules.message.entity.enums.MessageStatusEnum;
import cn.lili.modules.message.entity.enums.NoticeMessageParameterEnum;
import cn.lili.modules.message.mapper.NoticeMessageTemplateMapper;
import cn.lili.modules.message.service.MemberMessageService;
import cn.lili.modules.message.service.NoticeMessageService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -17,7 +18,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Map;
@@ -31,7 +31,7 @@ import java.util.Map;
public class NoticeMessageServiceImpl extends ServiceImpl<NoticeMessageTemplateMapper, NoticeMessage> implements NoticeMessageService {
@Autowired
private MemberNoticeService memberNoticeService;
private MemberMessageService memberMessageService;
@Override
public IPage<NoticeMessage> getMessageTemplate(PageVO pageVO, String type) {
@@ -54,18 +54,19 @@ public class NoticeMessageServiceImpl extends ServiceImpl<NoticeMessageTemplateM
NoticeMessage noticeMessage = this.getOne(new LambdaQueryWrapper<NoticeMessage>().eq(NoticeMessage::getNoticeNode, noticeMessageDTO.getNoticeMessageNodeEnum().getDescription().trim()));
//如果通知类站内信开启的情况下
if (noticeMessage != null && noticeMessage.getNoticeStatus().equals(SwitchEnum.OPEN.name())) {
MemberNotice memberNotice = new MemberNotice();
memberNotice.setMemberId(noticeMessageDTO.getMemberId());
memberNotice.setTitle(noticeMessage.getNoticeTitle());
memberNotice.setContent(noticeMessage.getNoticeContent());
MemberMessage memberMessage = new MemberMessage();
memberMessage.setMemberId(noticeMessageDTO.getMemberId());
memberMessage.setTitle(noticeMessage.getNoticeTitle());
memberMessage.setContent(noticeMessage.getNoticeContent());
//参数不为空,替换内容
if (noticeMessageDTO.getParameter() != null) {
memberNotice.setContent(replaceNoticeContent(noticeMessage.getNoticeContent(), noticeMessageDTO.getParameter()));
memberMessage.setContent(replaceNoticeContent(noticeMessage.getNoticeContent(), noticeMessageDTO.getParameter()));
} else {
memberNotice.setContent(noticeMessage.getNoticeContent());
memberMessage.setContent(noticeMessage.getNoticeContent());
}
memberMessage.setStatus(MessageStatusEnum.UN_READY.name());
//添加站内信
memberNoticeService.save(memberNotice);
memberMessageService.save(memberMessage);
}
} catch (Exception e) {
log.error("站内信发送失败:", e);