Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop
This commit is contained in:
commit
bf2882b566
@ -7,6 +7,7 @@ import cn.lili.event.MemberRegisterEvent;
|
||||
import cn.lili.event.OrderStatusChangeEvent;
|
||||
import cn.lili.modules.member.entity.dos.Member;
|
||||
import cn.lili.modules.member.entity.dos.MemberEvaluation;
|
||||
import cn.lili.modules.member.entity.enums.PointTypeEnum;
|
||||
import cn.lili.modules.member.service.MemberService;
|
||||
import cn.lili.modules.order.order.entity.dos.Order;
|
||||
import cn.lili.modules.order.order.entity.dto.OrderMessage;
|
||||
@ -54,7 +55,7 @@ public class MemberExperienceExecute implements MemberRegisterEvent, GoodsCommen
|
||||
//获取经验值设置
|
||||
ExperienceSetting experienceSetting = getExperienceSetting();
|
||||
//赠送会员经验值
|
||||
memberService.updateMemberExperience(Long.valueOf(experienceSetting.getRegister().longValue()), true, member.getId(), "会员注册,赠送经验值" + experienceSetting.getRegister());
|
||||
memberService.updateMemberPoint(Long.valueOf(experienceSetting.getRegister().longValue()), PointTypeEnum.INCREASE.name(), member.getId(), "会员注册,赠送经验值" + experienceSetting.getRegister());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -67,7 +68,7 @@ public class MemberExperienceExecute implements MemberRegisterEvent, GoodsCommen
|
||||
//获取经验值设置
|
||||
ExperienceSetting experienceSetting = getExperienceSetting();
|
||||
//赠送会员经验值
|
||||
memberService.updateMemberExperience(Long.valueOf(experienceSetting.getComment().longValue()), true, memberEvaluation.getMemberId(), "会员评价,赠送经验值" + experienceSetting.getComment());
|
||||
memberService.updateMemberPoint(Long.valueOf(experienceSetting.getComment().longValue()), PointTypeEnum.INCREASE.name(), memberEvaluation.getMemberId(), "会员评价,赠送经验值" + experienceSetting.getComment());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -85,7 +86,7 @@ public class MemberExperienceExecute implements MemberRegisterEvent, GoodsCommen
|
||||
//计算赠送经验值数量
|
||||
Double point = CurrencyUtil.mul(experienceSetting.getMoney(), order.getFlowPrice(), 0);
|
||||
//赠送会员经验值
|
||||
memberService.updateMemberExperience(point.longValue(), true, order.getMemberId(), "会员下单,赠送经验值" + point + "分");
|
||||
memberService.updateMemberPoint(point.longValue(), PointTypeEnum.INCREASE.name(), order.getMemberId(), "会员下单,赠送经验值" + point + "分");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10,6 +10,7 @@ import cn.lili.event.MemberRegisterEvent;
|
||||
import cn.lili.event.OrderStatusChangeEvent;
|
||||
import cn.lili.modules.member.entity.dos.Member;
|
||||
import cn.lili.modules.member.entity.dos.MemberEvaluation;
|
||||
import cn.lili.modules.member.entity.enums.PointTypeEnum;
|
||||
import cn.lili.modules.member.service.MemberService;
|
||||
import cn.lili.modules.order.order.entity.dos.AfterSale;
|
||||
import cn.lili.modules.order.order.entity.dos.Order;
|
||||
@ -61,7 +62,7 @@ public class MemberPointExecute implements MemberRegisterEvent, GoodsCommentComp
|
||||
//获取积分设置
|
||||
PointSetting pointSetting = getPointSetting();
|
||||
//赠送会员积分
|
||||
memberService.updateMemberPoint(Long.valueOf(pointSetting.getRegister().longValue()), true, member.getId(), "会员注册,赠送积分" + pointSetting.getRegister() + "分");
|
||||
memberService.updateMemberPoint(Long.valueOf(pointSetting.getRegister().longValue()), PointTypeEnum.INCREASE.name(), member.getId(), "会员注册,赠送积分" + pointSetting.getRegister() + "分");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -74,7 +75,7 @@ public class MemberPointExecute implements MemberRegisterEvent, GoodsCommentComp
|
||||
//获取积分设置
|
||||
PointSetting pointSetting = getPointSetting();
|
||||
//赠送会员积分
|
||||
memberService.updateMemberPoint(Long.valueOf(pointSetting.getComment().longValue()), true, memberEvaluation.getMemberId(), "会员评价,赠送积分" + pointSetting.getComment() + "分");
|
||||
memberService.updateMemberPoint(Long.valueOf(pointSetting.getComment().longValue()), PointTypeEnum.INCREASE.name(), memberEvaluation.getMemberId(), "会员评价,赠送积分" + pointSetting.getComment() + "分");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -96,13 +97,13 @@ public class MemberPointExecute implements MemberRegisterEvent, GoodsCommentComp
|
||||
//计算赠送积分数量
|
||||
Double point = CurrencyUtil.mul(pointSetting.getMoney(), order.getFlowPrice(), 0);
|
||||
//赠送会员积分
|
||||
memberService.updateMemberPoint(point.longValue(), true, order.getMemberId(), "会员下单,赠送积分" + point + "分");
|
||||
memberService.updateMemberPoint(point.longValue(), PointTypeEnum.INCREASE.name(), order.getMemberId(), "会员下单,赠送积分" + point + "分");
|
||||
//取消订单恢复积分
|
||||
} else if (orderMessage.getNewStatus().equals(OrderStatusEnum.CANCELLED)) {
|
||||
//根据订单编号获取订单数据,如果为积分订单则跳回
|
||||
Order order = orderService.getBySn(orderMessage.getOrderSn());
|
||||
if (order.getOrderPromotionType().equals(OrderPromotionTypeEnum.POINTS.name()) && order.getPriceDetailDTO().getPayPoint() != null) {
|
||||
memberService.updateMemberPoint(Convert.toLong(order.getPriceDetailDTO().getPayPoint()), true, order.getMemberId(), "订单取消,恢复积分:" + order.getPriceDetailDTO().getPayPoint() + "分");
|
||||
memberService.updateMemberPoint(Convert.toLong(order.getPriceDetailDTO().getPayPoint()), PointTypeEnum.INCREASE.name(), order.getMemberId(), "订单取消,恢复积分:" + order.getPriceDetailDTO().getPayPoint() + "分");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -120,7 +121,7 @@ public class MemberPointExecute implements MemberRegisterEvent, GoodsCommentComp
|
||||
//计算扣除积分数量
|
||||
Double point = CurrencyUtil.mul(pointSetting.getMoney(), afterSale.getActualRefundPrice(), 0);
|
||||
//扣除会员积分
|
||||
memberService.updateMemberPoint(point.longValue(), false, afterSale.getMemberId(), "会员退款,扣除积分" + point + "分");
|
||||
memberService.updateMemberPoint(point.longValue(), PointTypeEnum.REDUCE.name(), afterSale.getMemberId(), "会员退款,回退积分" + point + "分");
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import cn.lili.event.*;
|
||||
import cn.lili.modules.member.entity.dto.MemberPointMessage;
|
||||
import cn.lili.modules.member.entity.dto.MemberWithdrawalMessage;
|
||||
import cn.lili.modules.member.entity.enums.MemberWithdrawalDestinationEnum;
|
||||
import cn.lili.modules.member.entity.enums.PointTypeEnum;
|
||||
import cn.lili.modules.member.entity.enums.WithdrawStatusEnum;
|
||||
import cn.lili.modules.message.entity.dto.NoticeMessageDTO;
|
||||
import cn.lili.modules.message.entity.enums.NoticeMessageNodeEnum;
|
||||
@ -160,7 +161,7 @@ public class NoticeMessageExecute implements TradeEvent, OrderStatusChangeEvent,
|
||||
NoticeMessageDTO noticeMessageDTO = new NoticeMessageDTO();
|
||||
noticeMessageDTO.setMemberId(memberPointMessage.getMemberId());
|
||||
Map<String, String> params = new HashMap<>(2);
|
||||
if (memberPointMessage.getType()) {
|
||||
if (memberPointMessage.getType().equals(PointTypeEnum.INCREASE.name())) {
|
||||
params.put("expenditure_points", "0");
|
||||
params.put("income_points", memberPointMessage.getPoint().toString());
|
||||
} else {
|
||||
|
@ -41,9 +41,9 @@ public class PointLogInterceptor {
|
||||
point = Long.valueOf(obj[0].toString());
|
||||
}
|
||||
//变动类型
|
||||
Boolean type = false;
|
||||
String type = PointTypeEnum.INCREASE.name();
|
||||
if (obj[1] != null) {
|
||||
type = Boolean.valueOf(obj[1].toString());
|
||||
type = obj[1].toString();
|
||||
}
|
||||
//会员ID
|
||||
String memberId = "";
|
||||
@ -56,10 +56,15 @@ public class PointLogInterceptor {
|
||||
MemberPointsHistory memberPointsHistory = new MemberPointsHistory();
|
||||
memberPointsHistory.setMemberId(member.getId());
|
||||
memberPointsHistory.setMemberName(member.getUsername());
|
||||
memberPointsHistory.setPointType(type ? PointTypeEnum.INCREASE.name() : PointTypeEnum.REDUCE.name());
|
||||
memberPointsHistory.setPointType(type);
|
||||
|
||||
memberPointsHistory.setVariablePoint(point);
|
||||
memberPointsHistory.setBeforePoint(type ? member.getPoint() - point : member.getPoint() + point);
|
||||
if (type.equals(PointTypeEnum.INCREASE.name())) {
|
||||
memberPointsHistory.setBeforePoint(member.getPoint() - point);
|
||||
} else {
|
||||
memberPointsHistory.setBeforePoint(member.getPoint() + point);
|
||||
}
|
||||
|
||||
memberPointsHistory.setPoint(member.getPoint());
|
||||
memberPointsHistory.setContent(obj[3] == null ? "" : obj[3].toString());
|
||||
memberPointsHistory.setCreateBy("系统");
|
||||
|
@ -46,7 +46,7 @@ public class Member extends BaseEntity {
|
||||
private Integer sex;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "会员生日")
|
||||
private Date birthday;
|
||||
|
||||
@ -64,6 +64,10 @@ public class Member extends BaseEntity {
|
||||
@ApiModelProperty(value = "积分数量")
|
||||
private Long point;
|
||||
|
||||
@Min(message = "必须为数字", value = 0)
|
||||
@ApiModelProperty(value = "积分总数量")
|
||||
private Long totalPoint;
|
||||
|
||||
@ApiModelProperty(value = "会员头像")
|
||||
private String face;
|
||||
|
||||
@ -103,6 +107,7 @@ public class Member extends BaseEntity {
|
||||
this.haveStore = false;
|
||||
this.sex = 0;
|
||||
this.point = 0L;
|
||||
this.totalPoint = 0L;
|
||||
this.lastLoginDate = new Date();
|
||||
}
|
||||
|
||||
@ -116,6 +121,7 @@ public class Member extends BaseEntity {
|
||||
this.face = face;
|
||||
this.sex = 0;
|
||||
this.point = 0L;
|
||||
this.totalPoint = 0L;
|
||||
this.lastLoginDate = new Date();
|
||||
}
|
||||
|
||||
@ -129,6 +135,7 @@ public class Member extends BaseEntity {
|
||||
this.face = face;
|
||||
this.sex = sex;
|
||||
this.point = 0L;
|
||||
this.totalPoint = 0L;
|
||||
this.lastLoginDate = new Date();
|
||||
}
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ public class MemberPointsHistory {
|
||||
@ApiModelProperty(value = "消费之前积分")
|
||||
private Long beforePoint;
|
||||
|
||||
@ApiModelProperty(value = "消费积分")
|
||||
@ApiModelProperty(value = "变动积分")
|
||||
private Long variablePoint;
|
||||
|
||||
@ApiModelProperty(value = "content")
|
||||
@ -76,7 +76,7 @@ public class MemberPointsHistory {
|
||||
/**
|
||||
* @see cn.lili.modules.member.entity.enums.PointTypeEnum
|
||||
*/
|
||||
@ApiModelProperty(value = "消费积分类型")
|
||||
@ApiModelProperty(value = "积分类型")
|
||||
private String pointType;
|
||||
|
||||
}
|
@ -16,7 +16,7 @@ public class MemberPointMessage {
|
||||
private Long point;
|
||||
|
||||
@ApiModelProperty(value = "是否增加积分")
|
||||
private Boolean type;
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty(value = "会员id")
|
||||
private String memberId;
|
||||
|
@ -12,11 +12,15 @@ import lombok.Data;
|
||||
@Data
|
||||
public class MemberPointsHistoryVO {
|
||||
|
||||
@ApiModelProperty(value = "积分总数")
|
||||
@ApiModelProperty(value = "当前会员积分")
|
||||
private Long point;
|
||||
|
||||
@ApiModelProperty(value = "未使用积分总数")
|
||||
private Long variablePoint;
|
||||
@ApiModelProperty(value = "累计获得积分")
|
||||
private Long totalPoint;
|
||||
|
||||
|
||||
public MemberPointsHistoryVO(){
|
||||
this.point = 0L;
|
||||
this.totalPoint = 0L;
|
||||
}
|
||||
}
|
||||
|
@ -178,23 +178,13 @@ public interface MemberService extends IService<Member> {
|
||||
* 会员积分变动
|
||||
*
|
||||
* @param point 变动积分
|
||||
* @param type 是否增加积分 true 增加积分,反之扣减积分
|
||||
* @param type 是否增加积分 INCREASE 增加 REDUCE 扣减
|
||||
* @param memberId 会员id
|
||||
* @param content 变动日志
|
||||
* @return 操作结果
|
||||
*/
|
||||
Boolean updateMemberPoint(Long point, Boolean type, String memberId, String content);
|
||||
Boolean updateMemberPoint(Long point, String type, String memberId, String content);
|
||||
|
||||
/**
|
||||
* 会员积分变动
|
||||
*
|
||||
* @param experience 变动经验值
|
||||
* @param type 是否增加经验值
|
||||
* @param memberId 会员id
|
||||
* @param content 变动详细
|
||||
* @return 操作结果
|
||||
*/
|
||||
Boolean updateMemberExperience(Long experience, Boolean type, String memberId, String content);
|
||||
|
||||
/**
|
||||
* 修改会员状态
|
||||
|
@ -1,7 +1,9 @@
|
||||
package cn.lili.modules.member.serviceimpl;
|
||||
|
||||
|
||||
import cn.lili.modules.member.entity.dos.Member;
|
||||
import cn.lili.modules.member.entity.enums.PointTypeEnum;
|
||||
import cn.lili.modules.member.service.MemberService;
|
||||
import cn.lili.mybatis.util.PageUtil;
|
||||
import cn.lili.common.utils.StringUtils;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
@ -12,6 +14,7 @@ import cn.lili.modules.member.service.MemberPointsHistoryService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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;
|
||||
|
||||
/**
|
||||
@ -24,25 +27,20 @@ import org.springframework.stereotype.Service;
|
||||
public class MemberPointsHistoryServiceImpl extends ServiceImpl<MemberPointsHistoryMapper, MemberPointsHistory> implements MemberPointsHistoryService {
|
||||
|
||||
|
||||
@Autowired
|
||||
private MemberService memberService;
|
||||
|
||||
@Override
|
||||
public MemberPointsHistoryVO getMemberPointsHistoryVO(String memberId) {
|
||||
//获取会员积分历史
|
||||
Member member = memberService.getById(memberId);
|
||||
MemberPointsHistoryVO memberPointsHistoryVO = new MemberPointsHistoryVO();
|
||||
Long point = 0L;
|
||||
Long variablePoint = 0L;
|
||||
|
||||
if (StringUtils.isNotEmpty(memberId)) {
|
||||
point = this.baseMapper.getMemberPointsHistoryVO(PointTypeEnum.INCREASE.name(), memberId);
|
||||
variablePoint = this.baseMapper.getMemberPointsHistoryVO(PointTypeEnum.REDUCE.name(), memberId);
|
||||
|
||||
} else {
|
||||
point = this.baseMapper.getALLMemberPointsHistoryVO(PointTypeEnum.REDUCE.name());
|
||||
variablePoint = this.baseMapper.getALLMemberPointsHistoryVO(PointTypeEnum.INCREASE.name());
|
||||
if (member != null) {
|
||||
memberPointsHistoryVO.setPoint(member.getPoint());
|
||||
memberPointsHistoryVO.setTotalPoint(member.getTotalPoint());
|
||||
return memberPointsHistoryVO;
|
||||
}
|
||||
memberPointsHistoryVO.setPoint(point == null ? 0 : point);
|
||||
memberPointsHistoryVO.setVariablePoint(variablePoint == null ? 0 : variablePoint);
|
||||
memberPointsHistoryVO.setVariablePoint(memberPointsHistoryVO.getPoint() - memberPointsHistoryVO.getVariablePoint());
|
||||
return memberPointsHistoryVO;
|
||||
return new MemberPointsHistoryVO();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,6 +7,7 @@ import cn.lili.cache.CachePrefix;
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.enums.SwitchEnum;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.modules.member.entity.enums.PointTypeEnum;
|
||||
import cn.lili.mybatis.util.PageUtil;
|
||||
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
|
||||
import cn.lili.rocketmq.tags.MemberTagsEnum;
|
||||
@ -376,21 +377,26 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
|
||||
@Override
|
||||
@PointLogPoint
|
||||
public Boolean updateMemberPoint(Long point, Boolean type, String memberId, String content) {
|
||||
public Boolean updateMemberPoint(Long point, String type, String memberId, String content) {
|
||||
//获取当前会员信息
|
||||
Member member = this.getById(memberId);
|
||||
if (member != null) {
|
||||
//积分变动后的会员积分
|
||||
long currentPoint;
|
||||
//会员总获得积分
|
||||
long totalPoint = member.getTotalPoint();
|
||||
//如果增加积分
|
||||
if (type) {
|
||||
if (type.equals(PointTypeEnum.INCREASE.name())) {
|
||||
currentPoint = member.getPoint() + point;
|
||||
//如果是增加积分 需要增加总获得积分
|
||||
totalPoint = totalPoint + point;
|
||||
}
|
||||
//否则扣除积分
|
||||
else {
|
||||
currentPoint = member.getPoint() - point < 0 ? 0 : member.getPoint() - point;
|
||||
}
|
||||
member.setPoint(currentPoint);
|
||||
member.setTotalPoint(totalPoint);
|
||||
Boolean result = this.updateById(member);
|
||||
if (result) {
|
||||
//发送会员消息
|
||||
@ -408,26 +414,6 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
throw new ServiceException(ResultCode.USER_NOT_EXIST);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateMemberExperience(Long experience, Boolean type, String memberId, String content) {
|
||||
//获取当前会员信息
|
||||
Member member = this.getById(memberId);
|
||||
if (member != null) {
|
||||
//积分变动后的会员积分
|
||||
long currentExperience;
|
||||
if (type) {
|
||||
currentExperience = CurrencyUtil.add(member.getPoint(), experience).longValue();
|
||||
} else {
|
||||
currentExperience = CurrencyUtil.sub(member.getPoint(), experience) < 0 ? 0 : new Double(CurrencyUtil.sub(member.getExperience(), experience)).longValue();
|
||||
}
|
||||
member.setExperience(currentExperience);
|
||||
|
||||
return this.updateById(member);
|
||||
}
|
||||
throw new ServiceException(ResultCode.USER_NOT_EXIST);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Boolean updateMemberStatus(List<String> memberIds, Boolean status) {
|
||||
UpdateWrapper<Member> updateWrapper = Wrappers.update();
|
||||
|
@ -2,6 +2,7 @@ package cn.lili.modules.member.serviceimpl;
|
||||
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.modules.member.entity.enums.PointTypeEnum;
|
||||
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
|
||||
import cn.lili.rocketmq.tags.MemberTagsEnum;
|
||||
import cn.lili.common.security.AuthUser;
|
||||
@ -66,8 +67,8 @@ public class MemberSignServiceImpl extends ServiceImpl<MemberSignMapper, MemberS
|
||||
AuthUser authUser = UserContext.getCurrentUser();
|
||||
if (authUser != null) {
|
||||
QueryWrapper<MemberSign> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("member_id",authUser.getId());
|
||||
queryWrapper.between("create_time",new Date(DateUtil.startOfTodDay()*1000),DateUtil.getCurrentDayEndTime());
|
||||
queryWrapper.eq("member_id", authUser.getId());
|
||||
queryWrapper.between("create_time", new Date(DateUtil.startOfTodDay() * 1000), DateUtil.getCurrentDayEndTime());
|
||||
//校验今天是否已经签到
|
||||
List<MemberSign> todaySigns = this.baseMapper.getTodayMemberSign(queryWrapper);
|
||||
if (todaySigns.size() > 0) {
|
||||
@ -139,10 +140,10 @@ public class MemberSignServiceImpl extends ServiceImpl<MemberSignMapper, MemberS
|
||||
content = "会员签到第" + day + "天,赠送积分" + point + "分";
|
||||
}
|
||||
//赠送会员积分
|
||||
memberService.updateMemberPoint(point, true, memberId, content);
|
||||
memberService.updateMemberPoint(point, PointTypeEnum.INCREASE.name(), memberId, content);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("会员签到错误",e);
|
||||
log.error("会员签到错误", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@ -156,3 +156,6 @@ INSERT INTO `li_menu` VALUES (1410862675914764290, 'admin', '2021-07-02 15:27:29
|
||||
INSERT INTO `li_menu` VALUES (1419926569920536578, 'admin', '2021-07-27 15:44:10', b'0', 'admin', '2021-07-27 16:07:10', NULL, 'customWords/index', NULL, 2, 'customWords', '1367050250249830400', 'customWords', 4.00, 'ES分词', NULL, '/manager/manager/custom-words*');
|
||||
COMMIT;
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
/** 新增会员获的总积分 **/
|
||||
ALTER TABLE li_member ADD total_point bigint ( 20 ) DEFAULT 0 COMMENT '积分总数量';
|
Loading…
x
Reference in New Issue
Block a user