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; package cn.lili.event.impl;
import cn.lili.event.*; 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.MemberPointMessage;
import cn.lili.modules.member.entity.dto.MemberWithdrawalMessage; import cn.lili.modules.member.entity.dto.MemberWithdrawalMessage;
import cn.lili.modules.member.entity.enums.MemberWithdrawalDestinationEnum; import cn.lili.modules.member.entity.enums.MemberWithdrawalDestinationEnum;
@ -171,27 +172,58 @@ public class NoticeMessageExecute implements TradeEvent, OrderStatusChangeEvent,
@Override @Override
public void memberWithdrawal(MemberWithdrawalMessage memberWithdrawalMessage) { public void memberWithdrawal(MemberWithdrawalMessage memberWithdrawalMessage) {
//如果提现状态为申请则发送申请提现站内消息
//如果提现到余额 if(memberWithdrawalMessage.getStatus().equals(DistributionCashStatusEnum.APPLY.name())){
if (memberWithdrawalMessage.getDestination().equals(MemberWithdrawalDestinationEnum.WALLET.name())) { //如果提现到余额
if (memberWithdrawalMessage.getDestination().equals(MemberWithdrawalDestinationEnum.WALLET.name())) {
//组织参数 NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO();
NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO(); noticeMessageDTO.setMemberId(memberWithdrawalMessage.getMemberId());
noticeMessageDTO.setMemberId(memberWithdrawalMessage.getMemberId()); noticeMessageDTO.setNoticeMessageNodeEnum(NoticeMessageNodeEnum.WALLET_WITHDRAWAL_CREATE);
Map<String, String> params = new HashMap<>(2); Map<String, String> params = new HashMap<>(2);
params.put("income", memberWithdrawalMessage.getPrice().toString()); params.put("price", memberWithdrawalMessage.getPrice().toString());
noticeMessageDTO.setParameter(params); noticeMessageDTO.setParameter(params);
noticeMessageDTO.setNoticeMessageNodeEnum(NoticeMessageNodeEnum.WALLET_WITHDRAWAL_SUCCESS); //发送提现申请成功消息
//发送提现申请成功消息 noticeMessageService.noticeMessage(noticeMessageDTO);
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.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())); skuKeys.add(GoodsSkuService.getStockCacheKey(orderItem.getSkuId()));
GoodsSku goodsSku = new GoodsSku(); GoodsSku goodsSku = new GoodsSku();
goodsSku.setId(orderItem.getSkuId()); goodsSku.setId(orderItem.getSkuId());
goodsSku.setGoodsId(orderItem.getGoodsId());
//如果有促销信息 //如果有促销信息
if (null != orderItem.getPromotionType() && null != orderItem.getPromotionId()) { if (null != orderItem.getPromotionType() && null != orderItem.getPromotionId()) {
//如果促销有库存信息 //如果促销有库存信息

View File

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

View File

@ -18,6 +18,9 @@ public class MemberWithdrawalMessage {
@ApiModelProperty(value = "会员id") @ApiModelProperty(value = "会员id")
private String memberId; private String memberId;
@ApiModelProperty(value = "提现状态")
private String status;
/** /**
* @see cn.lili.modules.member.entity.enums.MemberWithdrawalDestinationEnum * @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 type;
private final String description; 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.mybatis.util.PageUtil;
import cn.lili.common.utils.StringUtils; import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.PageVO; import cn.lili.common.vo.PageVO;
import cn.lili.modules.member.entity.dos.MemberNotice; import cn.lili.modules.message.entity.dos.MemberMessage;
import cn.lili.modules.member.service.MemberNoticeService;
import cn.lili.modules.message.entity.dos.NoticeMessage; import cn.lili.modules.message.entity.dos.NoticeMessage;
import cn.lili.modules.message.entity.dto.NoticeMessageDTO; 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.entity.enums.NoticeMessageParameterEnum;
import cn.lili.modules.message.mapper.NoticeMessageTemplateMapper; import cn.lili.modules.message.mapper.NoticeMessageTemplateMapper;
import cn.lili.modules.message.service.MemberMessageService;
import cn.lili.modules.message.service.NoticeMessageService; import cn.lili.modules.message.service.NoticeMessageService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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 { public class NoticeMessageServiceImpl extends ServiceImpl<NoticeMessageTemplateMapper, NoticeMessage> implements NoticeMessageService {
@Autowired @Autowired
private MemberNoticeService memberNoticeService; private MemberMessageService memberMessageService;
@Override @Override
public IPage<NoticeMessage> getMessageTemplate(PageVO pageVO, String type) { 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())); NoticeMessage noticeMessage = this.getOne(new LambdaQueryWrapper<NoticeMessage>().eq(NoticeMessage::getNoticeNode, noticeMessageDTO.getNoticeMessageNodeEnum().getDescription().trim()));
//如果通知类站内信开启的情况下 //如果通知类站内信开启的情况下
if (noticeMessage != null && noticeMessage.getNoticeStatus().equals(SwitchEnum.OPEN.name())) { if (noticeMessage != null && noticeMessage.getNoticeStatus().equals(SwitchEnum.OPEN.name())) {
MemberNotice memberNotice = new MemberNotice(); MemberMessage memberMessage = new MemberMessage();
memberNotice.setMemberId(noticeMessageDTO.getMemberId()); memberMessage.setMemberId(noticeMessageDTO.getMemberId());
memberNotice.setTitle(noticeMessage.getNoticeTitle()); memberMessage.setTitle(noticeMessage.getNoticeTitle());
memberNotice.setContent(noticeMessage.getNoticeContent()); memberMessage.setContent(noticeMessage.getNoticeContent());
//参数不为空替换内容 //参数不为空替换内容
if (noticeMessageDTO.getParameter() != null) { if (noticeMessageDTO.getParameter() != null) {
memberNotice.setContent(replaceNoticeContent(noticeMessage.getNoticeContent(), noticeMessageDTO.getParameter())); memberMessage.setContent(replaceNoticeContent(noticeMessage.getNoticeContent(), noticeMessageDTO.getParameter()));
} else { } else {
memberNotice.setContent(noticeMessage.getNoticeContent()); memberMessage.setContent(noticeMessage.getNoticeContent());
} }
memberMessage.setStatus(MessageStatusEnum.UN_READY.name());
//添加站内信 //添加站内信
memberNoticeService.save(memberNotice); memberMessageService.save(memberMessage);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("站内信发送失败:", 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); 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()); afterSaleApplyVO.setRefundWay(AfterSaleRefundWayEnum.OFFLINE.name());
} else { } else {
afterSaleApplyVO.setRefundWay(AfterSaleRefundWayEnum.ORIGINAL.name()); afterSaleApplyVO.setRefundWay(AfterSaleRefundWayEnum.ORIGINAL.name());

View File

@ -11,7 +11,7 @@
Target Server Version : 80023 Target Server Version : 80023
File Encoding : 65001 File Encoding : 65001
Date: 18/07/2021 17:11:47 Date: 21/07/2021 19:26:53
*/ */
SET NAMES utf8mb4; 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 (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 (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 (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 (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 (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; COMMIT;
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;

View File

@ -19,4 +19,7 @@ update li_member_points_history set point_type = 'REDUCE' where point_type=0;
INSERT INTO `lilishop`.`li_menu` (`id`, `create_by`, `create_time`, `delete_flag`, `update_by`, `update_time`, `description`, `front_route`, `icon`, `level`, `name`, `parent_id`, `path`, `sort_order`, `title`, `front_component`) VALUES (1349247640584085511, 'admin', '2021-01-13 14:51:20', b'0', 'admin', '2021-02-25 09:02:59', 'null', 'customWords/index', 'ios-american-football', 2, 'customWords', '1349237129847005184', 'customWords', 8.00, '分词管理', 'null'); INSERT INTO `lilishop`.`li_menu` (`id`, `create_by`, `create_time`, `delete_flag`, `update_by`, `update_time`, `description`, `front_route`, `icon`, `level`, `name`, `parent_id`, `path`, `sort_order`, `title`, `front_component`) VALUES (1349247640584085511, 'admin', '2021-01-13 14:51:20', b'0', 'admin', '2021-02-25 09:02:59', 'null', 'customWords/index', 'ios-american-football', 2, 'customWords', '1349237129847005184', 'customWords', 8.00, '分词管理', 'null');
/** 修改会员评价店铺图片字段类型 **/ /** 修改会员评价店铺图片字段类型 **/
alter table li_member_evaluation modify column reply_image text; alter table li_member_evaluation modify column reply_image text;
/** 修改售后图片字段类型 **/
alter table li_after_sale modify column after_sale_image text;