会员等级增加成长值
This commit is contained in:
+2
-2
@@ -25,7 +25,7 @@ import java.util.List;
|
||||
*/
|
||||
@Repository
|
||||
public interface YxStoreCouponIssueMapper extends CoreMapper<YxStoreCouponIssue> {
|
||||
@Select("<script>select A.cid,A.end_time as endTime,A.start_time as startTime,A.cname,A.ctype," +
|
||||
@Select("<script>select A.cid,A.use_end_time as endTime,A.start_time as startTime,A.cname,A.ctype," +
|
||||
"A.is_permanent as isPermanent,A.remain_count as remainCount," +
|
||||
"A.total_count as totalCount,A.id,B.coupon_price as couponPrice," +
|
||||
"B.use_min_price as useMinPrice" +
|
||||
@@ -33,7 +33,7 @@ public interface YxStoreCouponIssueMapper extends CoreMapper<YxStoreCouponIssue>
|
||||
"on A.cid = B.id " +
|
||||
"where A.status =1 <if test='type == 1'> AND B.type = #{type} AND FIND_IN_SET(#{productId},product_id)</if> " +
|
||||
"<if test='type == 0'> AND B.type in (0,1)</if>" +
|
||||
" AND ( A.start_time < now() AND A.end_time > now() ) " +
|
||||
" AND ( A.start_time < now() AND A.use_end_time > now() ) " +
|
||||
" AND A.is_del = 0 AND " +
|
||||
"( A.remain_count > 0 OR A.is_permanent = 1 ) ORDER BY B.sort DESC</script>")
|
||||
List<YxStoreCouponIssueQueryVo> selecCoupontList(Page page,@Param("type") Integer type,
|
||||
|
||||
+2
-2
@@ -25,12 +25,12 @@ import java.util.List;
|
||||
@Repository
|
||||
public interface YxStoreCouponUserMapper extends CoreMapper<YxStoreCouponUser> {
|
||||
@Select("select A.id,A.coupon_title as couponTitle,A.coupon_price as couponPrice," +
|
||||
"A.end_time as endTime,B.use_min_price as useMinPrice,B.type," +
|
||||
"A.use_end_time as endTime,B.use_min_price as useMinPrice,B.type," +
|
||||
"B.product_id as productId" +
|
||||
" from yx_store_coupon_user A left join yx_store_coupon B " +
|
||||
"on A.cid = B.id " +
|
||||
"where A.status = 0" +
|
||||
" AND A.end_time > #{now} " +
|
||||
" AND A.use_end_time > #{now} " +
|
||||
" AND A.uid = #{uid} AND A.use_min_price <= #{price} " +
|
||||
" ORDER BY B.id DESC")
|
||||
List<StoreCouponUserVo> selectCouponList(@Param("now") Date now, @Param("price") double price,
|
||||
|
||||
@@ -41,7 +41,6 @@ public class YxEvaluation implements Serializable {
|
||||
|
||||
|
||||
/** 评测视频 */
|
||||
@NotBlank
|
||||
private String videoInput;
|
||||
|
||||
|
||||
|
||||
+4
-4
@@ -1539,10 +1539,10 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
||||
|
||||
//增加用户购买次数
|
||||
userService.incPayCount(orderInfo.getUid());
|
||||
//用户累计消费
|
||||
double sumPrice=storeOrderMapper.sumPrice(orderInfo.getUid());
|
||||
//修改用户当前成长值
|
||||
bxgUserMapper.selectById(orderInfo.getUid()).setGrowth((int) Math.round(sumPrice));
|
||||
//更新用户当前成长值
|
||||
userService.upGrowth(orderInfo.getUid());
|
||||
//判断是否满足会员等级升级,并更新用户等级
|
||||
userLevelService.setLevelComplete(orderInfo.getUid());
|
||||
|
||||
//增加状态
|
||||
orderStatusService.create(orderInfo.getId(), OrderLogEnum.PAY_ORDER_SUCCESS.getValue(),
|
||||
|
||||
@@ -87,6 +87,8 @@ public class YxSystemUserLevel extends BaseDomain {
|
||||
@TableField(value = "`explain`")
|
||||
private String explain;
|
||||
|
||||
/** 会员等级所需成长值*/
|
||||
private Integer growthValue;
|
||||
|
||||
|
||||
public void copy(YxSystemUserLevel source){
|
||||
|
||||
@@ -33,6 +33,8 @@ public class YxSystemUserLevel extends BaseDomain {
|
||||
/** 等级id */
|
||||
private Integer levelId;
|
||||
|
||||
/** 等级所需成长值 */
|
||||
private Integer growthValue;
|
||||
|
||||
/** 排序 */
|
||||
private Integer sort;
|
||||
|
||||
@@ -113,6 +113,9 @@ public class YxUser extends BaseDomain {
|
||||
/** 用户剩余积分 */
|
||||
private BigDecimal integral;
|
||||
|
||||
/** 用户获得成长值*/
|
||||
private Integer growth;
|
||||
|
||||
|
||||
/** 连续签到天数 */
|
||||
private Integer signNum;
|
||||
|
||||
@@ -35,6 +35,9 @@ public class YxUserLevel extends BaseDomain {
|
||||
@ApiModelProperty(value = "会员等级")
|
||||
private Integer grade;
|
||||
|
||||
@ApiModelProperty(value = "会员当前成长值")
|
||||
private Integer growth;
|
||||
|
||||
@ApiModelProperty(value = "过期时间")
|
||||
private Integer validTime;
|
||||
|
||||
|
||||
@@ -77,6 +77,12 @@ public interface YxUserService extends BaseService<YxUser>{
|
||||
*/
|
||||
void incPayCount(Long uid);
|
||||
|
||||
/**
|
||||
* 更新会员当前成长值
|
||||
* @param uid uid
|
||||
*/
|
||||
void upGrowth(Long uid);
|
||||
|
||||
/**
|
||||
* 减去用户余额
|
||||
* @param uid uid
|
||||
|
||||
@@ -52,6 +52,9 @@ public class YxSystemUserLevelDto implements Serializable {
|
||||
/** 会员图标 */
|
||||
private String icon;
|
||||
|
||||
/** 达成当前等级所需成长值 */
|
||||
private Integer growthValue;
|
||||
|
||||
/** 规则说明 */
|
||||
private String explain;
|
||||
|
||||
|
||||
@@ -82,6 +82,9 @@ public class YxUserDto implements Serializable {
|
||||
/** 等级 */
|
||||
private Integer level;
|
||||
|
||||
/** 成长值 */
|
||||
private Integer growth;
|
||||
|
||||
/** 推广元id */
|
||||
private Long spreadUid;
|
||||
|
||||
|
||||
+2
-1
@@ -194,8 +194,9 @@ public class YxSystemUserLevelServiceImpl extends BaseServiceImpl<SystemUserLeve
|
||||
map.put("享受折扣", yxSystemUserLevel.getDiscount());
|
||||
map.put("会员卡背景", yxSystemUserLevel.getImage());
|
||||
map.put("会员图标", yxSystemUserLevel.getIcon());
|
||||
map.put("规则说明", yxSystemUserLevel.getExplain());
|
||||
map.put("会员规则说明", yxSystemUserLevel.getExplain());
|
||||
map.put("会员权益说明", yxSystemUserLevel.getBenefit());
|
||||
map.put("所需成长值",yxSystemUserLevel.getGrowthValue());
|
||||
map.put("添加时间", yxSystemUserLevel.getAddTime());
|
||||
map.put("是否删除.1=删除,0=未删除", yxSystemUserLevel.getIsDel());
|
||||
list.add(map);
|
||||
|
||||
+18
-1
@@ -19,6 +19,8 @@ import co.yixiang.modules.user.service.YxSystemUserLevelService;
|
||||
import co.yixiang.modules.user.service.YxSystemUserTaskService;
|
||||
import co.yixiang.modules.user.service.YxUserLevelService;
|
||||
import co.yixiang.modules.user.service.YxUserService;
|
||||
import co.yixiang.modules.user.service.mapper.BxgUserMapper;
|
||||
import co.yixiang.modules.user.service.mapper.SystemUserLevelMapper;
|
||||
import co.yixiang.modules.user.service.mapper.SystemUserTaskMapper;
|
||||
import co.yixiang.modules.user.service.mapper.YxUserLevelMapper;
|
||||
import co.yixiang.utils.OrderUtil;
|
||||
@@ -44,6 +46,13 @@ public class YxUserLevelServiceImpl extends BaseServiceImpl<YxUserLevelMapper, Y
|
||||
|
||||
@Autowired
|
||||
private YxUserLevelMapper yxUserLevelMapper;
|
||||
|
||||
@Autowired
|
||||
private BxgUserMapper bxgUserMapper;
|
||||
|
||||
@Autowired
|
||||
private SystemUserLevelMapper systemUserLevelMapper;
|
||||
|
||||
@Autowired
|
||||
private SystemUserTaskMapper yxSystemUserTaskMapper;
|
||||
|
||||
@@ -71,7 +80,15 @@ public class YxUserLevelServiceImpl extends BaseServiceImpl<YxUserLevelMapper, Y
|
||||
if(nextLevelId == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//获取下个等级所需成长值
|
||||
int growthValue=systemUserLevelMapper.selectById(nextLevelId).getGrowthValue();
|
||||
//用户已有成长值
|
||||
YxUser yxUser=bxgUserMapper.selectById(uid);
|
||||
int userGrowth=yxUser.getGrowth();
|
||||
if (userGrowth>=growthValue){
|
||||
this.setUserLevel(uid,nextLevelId);
|
||||
return true;
|
||||
}
|
||||
Long finishCount = systemUserTaskService.getTaskComplete(nextLevelId,uid);
|
||||
|
||||
//目前任务固定,如果增加任务需要自己增加逻辑,目前每个会员任务固定3
|
||||
|
||||
@@ -85,7 +85,8 @@ public class YxUserServiceImpl extends BaseServiceImpl<BxgUserMapper, YxUser> im
|
||||
@Autowired
|
||||
private UserBillMapper userBillMapper;
|
||||
|
||||
|
||||
@Autowired
|
||||
private YxUserService userService;
|
||||
@Autowired
|
||||
private YxSystemUserLevelService systemUserLevelService;
|
||||
@Autowired
|
||||
@@ -126,6 +127,21 @@ public class YxUserServiceImpl extends BaseServiceImpl<BxgUserMapper, YxUser> im
|
||||
yxUserMapper.incPayCount(uid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新会员成长值
|
||||
* @param uid uid
|
||||
*/
|
||||
@Override
|
||||
public void upGrowth(Long uid) {
|
||||
//用户累计消费(1元/1成长值)
|
||||
double sumPrice=storeOrderMapper.sumPrice(uid);
|
||||
//更新用户当前成长值
|
||||
YxUser yxUser = new YxUser();
|
||||
yxUser.setUid(uid);
|
||||
yxUser.setGrowth((int) Math.round(sumPrice));
|
||||
userService.updateById(yxUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 减去用户余额
|
||||
* @param uid uid
|
||||
|
||||
@@ -36,7 +36,6 @@ public class YxSystemUserLevelQueryVo implements Serializable {
|
||||
@ApiModelProperty(value = "有效时间")
|
||||
private Integer validDate;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "会员等级")
|
||||
private Integer grade;
|
||||
|
||||
@@ -49,6 +48,10 @@ public class YxSystemUserLevelQueryVo implements Serializable {
|
||||
@ApiModelProperty(value = "会员图标")
|
||||
private String icon;
|
||||
|
||||
/** 达成当前等级所需成长值 */
|
||||
@ApiModelProperty(value = "所需成长值")
|
||||
private Integer growthValue;
|
||||
|
||||
@ApiModelProperty(value = "规则说明")
|
||||
private String explain;
|
||||
|
||||
|
||||
@@ -102,6 +102,9 @@ public class YxUserQueryVo implements Serializable {
|
||||
@ApiModelProperty(value = "等级")
|
||||
private Integer level;
|
||||
|
||||
@ApiModelProperty(value = "拥有的成长值")
|
||||
private Integer growth;
|
||||
|
||||
@ApiModelProperty(value = "推广元id")
|
||||
private Long spreadUid;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user