会员等级V0.1

This commit is contained in:
lifenlong
2021-05-16 23:41:33 +08:00
parent 839902e770
commit 57d65f3fd9
15 changed files with 290 additions and 12 deletions

View File

@@ -89,7 +89,8 @@ public enum ResultCode {
USER_RECEIPT_NOT_EXIST(20014,"会员发票信息不存在"),
USER_EDIT_ERROR(20015,"用户修改失败"),
USER_OLD_PASSWORD_ERROR(20016, "旧密码不正确"),
USER_COLLECTION_EXIST(2001,"无法重复收藏"),
USER_COLLECTION_EXIST(20017,"无法重复收藏"),
USER_GRADE_IS_DEFAULT(20018,"会员等级为默认会员等级"),
/**
* 权限

View File

@@ -85,6 +85,14 @@ public class Member extends BaseEntity {
@ApiModelProperty(value = "最后一次登录时间")
private Date lastLoginDate;
@ApiModelProperty(value = "会员等级ID")
private String gradeId;
@Min(message = "必须为数字", value = 0)
@ApiModelProperty(value = "经验值数量")
private Long experience;
public Member(String username, String password, String mobile) {
this.username = username;
this.password = password;

View File

@@ -0,0 +1,40 @@
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.Entity;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
/**
* 会员等级
*
* @author Bulbasaur
* @date 2021/5/14 5:43 下午
*/
@Data
@Entity
@Table(name = "li_member_grade")
@TableName("li_member_grade")
@ApiModel(value = "会员等级")
public class MemberGrade extends BaseEntity {
@NotNull
@ApiModelProperty(value = "等级名称")
private String gradeName;
@NotNull
@ApiModelProperty(value = "等级图片")
private String gradeImage;
@NotNull
@ApiModelProperty(value = "所需经验值")
private Integer experienceValue;
@ApiModelProperty(value = "是否为默认等级")
private Boolean isDefault;
}

View File

@@ -0,0 +1,14 @@
package cn.lili.modules.member.mapper;
import cn.lili.modules.member.entity.dos.MemberGrade;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 会员等级数据层
*
* @author Bulbasaur
* @date: 2021/5/14 5:57 下午
*/
public interface MemberGradeMapper extends BaseMapper<MemberGrade> {
}

View File

@@ -0,0 +1,15 @@
package cn.lili.modules.member.service;
import cn.lili.modules.member.entity.dos.MemberGrade;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 会员等级业务层
* @author Bulbasaur
* @date: 2021/5/14 5:57 下午
*
*/
public interface MemberGradeService extends IService<MemberGrade> {
}

View File

@@ -183,6 +183,17 @@ public interface MemberService extends IService<Member> {
*/
Boolean updateMemberPoint(Long point, Integer type, String memberId, String content);
/**
* 会员积分变动
*
* @param experience 变动经验值
* @param type 变动类型 1为增加 0为消费
* @param memberId 会员id
* @param content 变动详细
* @return 操作结果
*/
Boolean updateMemberExperience(Long experience, Integer type, String memberId, String content);
/**
* 修改会员状态
*

View File

@@ -0,0 +1,18 @@
package cn.lili.modules.member.serviceimpl;
import cn.lili.modules.member.entity.dos.MemberGrade;
import cn.lili.modules.member.mapper.MemberGradeMapper;
import cn.lili.modules.member.service.MemberGradeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* 会员等级业务层实现
*
* @author Bulbasaur
* @date: 2021/5/14 5:58 下午
*/
@Service
public class MemberGradeServiceImpl extends ServiceImpl<MemberGradeMapper, MemberGrade> implements MemberGradeService {
}

View File

@@ -383,6 +383,24 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
throw new ServiceException(ResultCode.USER_NOT_EXIST);
}
@Override
public Boolean updateMemberExperience(Long experience, Integer type, String memberId, String content) {
//获取当前会员信息
Member member = this.getById(memberId);
if (member != null) {
//积分变动后的会员积分
long currentExperience;
if (type == 1) {
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) {

View File

@@ -3,10 +3,10 @@ package cn.lili.modules.order.order.service;
import cn.lili.modules.order.order.entity.dos.Order;
/**
* @author liushuai(liushuai711 @ gmail.com)
* @version v4.1
* @Description:
* @since 2021/4/28 3:47 下午
* 订单价格
*
* @author Chopper
* @date 2020/11/17 7:36 下午
*/
public interface OrderPriceService {

View File

@@ -28,10 +28,10 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @author liushuai(liushuai711 @ gmail.com)
* @version v4.1
* @Description:
* @since 2021/4/28 3:48 下午
* 订单价格业务层实现
*
* @author Chopper
* @date 2020/11/17 7:36 下午
*/
@Service
@Transactional(rollbackFor = Exception.class)

View File

@@ -0,0 +1,33 @@
package cn.lili.modules.system.entity.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 经验值设置
*
* @author Bulbasaur
* @date: 2021/5/16 11:10 下午
*/
@Data
public class ExperienceSetting implements Serializable {
private static final long serialVersionUID = -4261856614779031745L;
@ApiModelProperty(value = "注册")
private Integer register;
@ApiModelProperty(value = "每日签到经验值")
private Integer signIn;
@ApiModelProperty(value = "订单评价赠送经验值")
private Integer comment;
@ApiModelProperty(value = "分享获取经验值")
private Integer share;
@ApiModelProperty(value = "购物获取经验值,一元*经验值")
private Integer money;
}

View File

@@ -27,6 +27,8 @@ public enum SettingEnum {
SMS_SETTING,
//积分设置
POINT_SETTING,
//经验值设置
EXPERIENCE_SETTING,
//微信 联合登陆设置
WECHAT_CONNECT,