Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop

This commit is contained in:
Chopper 2021-07-22 12:17:15 +08:00
commit d6b59c23af
9 changed files with 96 additions and 37 deletions

View File

@ -1,6 +1,7 @@
package cn.lili.event.impl;
import cn.lili.event.*;
import cn.lili.modules.distribution.entity.enums.DistributionCashStatusEnum;
import cn.lili.modules.member.entity.dto.MemberPointMessage;
import cn.lili.modules.member.entity.dto.MemberWithdrawalMessage;
import cn.lili.modules.member.entity.enums.MemberWithdrawalDestinationEnum;
@ -171,27 +172,58 @@ public class NoticeMessageExecute implements TradeEvent, OrderStatusChangeEvent,
@Override
public void memberWithdrawal(MemberWithdrawalMessage memberWithdrawalMessage) {
//如果提现到余额
if (memberWithdrawalMessage.getDestination().equals(MemberWithdrawalDestinationEnum.WALLET.name())) {
//组织参数
NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO();
noticeMessageDTO.setMemberId(memberWithdrawalMessage.getMemberId());
Map<String, String> params = new HashMap<>(2);
params.put("income", memberWithdrawalMessage.getPrice().toString());
noticeMessageDTO.setParameter(params);
noticeMessageDTO.setNoticeMessageNodeEnum(NoticeMessageNodeEnum.WALLET_WITHDRAWAL_SUCCESS);
//发送提现申请成功消息
noticeMessageService.noticeMessage(noticeMessageDTO);
params.put("income", memberWithdrawalMessage.getPrice().toString());
params.put("expenditure", "0");
noticeMessageDTO.setNoticeMessageNodeEnum(NoticeMessageNodeEnum.WALLET_CHANGE);
noticeMessageDTO.setParameter(params);
//发送余额变动消息
noticeMessageService.noticeMessage(noticeMessageDTO);
//如果提现状态为申请则发送申请提现站内消息
if(memberWithdrawalMessage.getStatus().equals(DistributionCashStatusEnum.APPLY.name())){
//如果提现到余额
if (memberWithdrawalMessage.getDestination().equals(MemberWithdrawalDestinationEnum.WALLET.name())) {
NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO();
noticeMessageDTO.setMemberId(memberWithdrawalMessage.getMemberId());
noticeMessageDTO.setNoticeMessageNodeEnum(NoticeMessageNodeEnum.WALLET_WITHDRAWAL_CREATE);
Map<String, String> params = new HashMap<>(2);
params.put("price", memberWithdrawalMessage.getPrice().toString());
noticeMessageDTO.setParameter(params);
//发送提现申请成功消息
noticeMessageService.noticeMessage(noticeMessageDTO);
}
}
//如果提现状态为通过则发送审核通过站内消息
if(memberWithdrawalMessage.getStatus().equals(DistributionCashStatusEnum.PASS.name())){
//如果提现到余额
if (memberWithdrawalMessage.getDestination().equals(MemberWithdrawalDestinationEnum.WALLET.name())) {
//组织参数
NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO();
noticeMessageDTO.setMemberId(memberWithdrawalMessage.getMemberId());
Map<String, String> params = new HashMap<>(2);
params.put("income", memberWithdrawalMessage.getPrice().toString());
noticeMessageDTO.setParameter(params);
noticeMessageDTO.setNoticeMessageNodeEnum(NoticeMessageNodeEnum.WALLET_WITHDRAWAL_SUCCESS);
//发送提现成功消息
noticeMessageService.noticeMessage(noticeMessageDTO);
params.put("income", memberWithdrawalMessage.getPrice().toString());
params.put("expenditure", "0");
noticeMessageDTO.setNoticeMessageNodeEnum(NoticeMessageNodeEnum.WALLET_CHANGE);
noticeMessageDTO.setParameter(params);
//发送余额变动消息
noticeMessageService.noticeMessage(noticeMessageDTO);
}
}
//如果提现状态为拒绝则发送审核拒绝站内消息
if(memberWithdrawalMessage.getStatus().equals(DistributionCashStatusEnum.REFUSE.name())){
//如果提现到余额
if (memberWithdrawalMessage.getDestination().equals(MemberWithdrawalDestinationEnum.WALLET.name())) {
NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO();
noticeMessageDTO.setMemberId(memberWithdrawalMessage.getMemberId());
noticeMessageDTO.setNoticeMessageNodeEnum(NoticeMessageNodeEnum.WALLET_WITHDRAWAL_ERROR);
Map<String, String> params = new HashMap<>(2);
params.put("price", memberWithdrawalMessage.getPrice().toString());
noticeMessageDTO.setParameter(params);
//发送提现申请成功消息
noticeMessageService.noticeMessage(noticeMessageDTO);
}
}
}

View File

@ -184,6 +184,7 @@ public class StockUpdateExecute implements OrderStatusChangeEvent {
skuKeys.add(GoodsSkuService.getStockCacheKey(orderItem.getSkuId()));
GoodsSku goodsSku = new GoodsSku();
goodsSku.setId(orderItem.getSkuId());
goodsSku.setGoodsId(orderItem.getGoodsId());
//如果有促销信息
if (null != orderItem.getPromotionType() && null != orderItem.getPromotionId()) {
//如果促销有库存信息

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

@ -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

@ -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.mybatis.util.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;
@ -30,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) {
@ -53,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);

View File

@ -140,7 +140,7 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
throw new ServiceException(ResultCode.AFTER_SALES_NOT_PAY_ERROR);
}
//判断支付方式是否为线上支付
if (order.getPaymentMethod().equals(PaymentMethodEnum.BANK_TRANSFER)) {
if (order.getPaymentMethod().equals(PaymentMethodEnum.BANK_TRANSFER.name())) {
afterSaleApplyVO.setRefundWay(AfterSaleRefundWayEnum.OFFLINE.name());
} else {
afterSaleApplyVO.setRefundWay(AfterSaleRefundWayEnum.ORIGINAL.name());

View File

@ -11,7 +11,7 @@
Target Server Version : 80023
File Encoding : 65001
Date: 18/07/2021 17:11:47
Date: 21/07/2021 19:26:53
*/
SET NAMES utf8mb4;
@ -56,8 +56,10 @@ INSERT INTO `li_notice_message` VALUES (13, NULL, '2021-07-15 19:39:31.000000',
INSERT INTO `li_notice_message` VALUES (14, NULL, '2021-07-15 19:39:39.000000', NULL, NULL, '2021-07-15 19:39:43.000000', '订单 #{商品名称} 商家已签收哦请关注后续退款状态将在1-3个工作日内自动退款~', '退货物品签收通知', 'OPEN', '退货物品签收通知', 'goods');
INSERT INTO `li_notice_message` VALUES (15, NULL, '2021-07-15 19:44:38.000000', NULL, NULL, '2021-07-15 19:44:40.000000', '售后单 #{商品名称} 已经完成,请关注及时关注售后单状态~', '售后完成通知', 'OPEN', '售后完成通知', 'goods');
INSERT INTO `li_notice_message` VALUES (16, NULL, '2021-07-15 19:47:27.000000', NULL, NULL, '2021-07-15 19:47:31.000000', '您当前到账{获得积分}积分,消费#{消费积分} 积分,积分可以抵现金哦,真的很棒棒呢~', '积分变更通知', 'OPEN', '积分变更通知', 'income_points,expenditure_points');
INSERT INTO `li_notice_message` VALUES (17, NULL, '2021-07-15 19:53:10.000000', NULL, NULL, '2021-07-15 19:53:13.000000', '您的余额账户今日收入#{收入金额},支出#{支出金额},如遇异常变动,请及时联系我们哦~', '余额账户变更通知', 'OPEN', '余额账户变更通知', 'income,expenditure');
INSERT INTO `li_notice_message` VALUES (18, NULL, '2021-07-15 19:57:01.000000', NULL, NULL, '2021-07-15 19:57:04.000000', '恭喜您,您的提处理成功,提现金额为#{收入金额}将在1-3工作日内到账', '提现成功通知', 'OPEN', '提现成功通知', 'income');
INSERT INTO `li_notice_message` VALUES (17, NULL, '2021-07-15 19:53:10.000000', NULL, NULL, '2021-07-15 19:53:13.000000', '您的余额账户今日收入¥#{收入金额},支出¥#{支出金额},如遇异常变动,请及时联系我们哦~', '余额账户变更通知', 'OPEN', '余额账户变更通知', 'income,expenditure');
INSERT INTO `li_notice_message` VALUES (18, NULL, '2021-07-15 19:57:01.000000', NULL, NULL, '2021-07-15 19:57:04.000000', '恭喜您,您的提处理成功,提现金额为¥#{收入金额}将在1-3工作日内到账', '提现成功通知', 'OPEN', '提现成功通知', 'income');
INSERT INTO `li_notice_message` VALUES (19, NULL, '2021-07-21 18:58:10.000000', NULL, NULL, '2021-07-21 18:58:13.000000', '恭喜您,您的提现金额为¥#{金额}的申请已经提交审核,请及时关注审核动态哦~', '提现申请提交成功通知', 'OPEN', '提现申请提交成功通知', 'price');
INSERT INTO `li_notice_message` VALUES (20, NULL, '2021-07-21 19:16:58.000000', NULL, NULL, '2021-07-21 19:17:02.000000', '很抱歉,您的提现金额为¥#{金额}的申请已被拒绝,如有问题请及时联系管理员哦~', '提现申请驳回通知', 'OPEN', '提现申请驳回通知', 'price');
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -20,3 +20,6 @@ INSERT INTO `lilishop`.`li_menu` (`id`, `create_by`, `create_time`, `delete_flag
/** 修改会员评价店铺图片字段类型 **/
alter table li_member_evaluation modify column reply_image text;
/** 修改售后图片字段类型 **/
alter table li_after_sale modify column after_sale_image text;