积分类型修改
This commit is contained in:
@@ -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
Reference in New Issue
Block a user