记得上下班打卡 | git大法好,push需谨慎

Commit d56386f4 authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev_stone' into dev_stone

parents c2611551 b22b61e3
...@@ -56,6 +56,7 @@ create table stone_score_order ...@@ -56,6 +56,7 @@ create table stone_score_order
uid varchar(64) default '' comment '用户id', uid varchar(64) default '' comment '用户id',
user_name varchar(255) NOT NULL DEFAULT '' COMMENT '用户昵称', user_name varchar(255) NOT NULL DEFAULT '' COMMENT '用户昵称',
user_mobile varchar(255) NOT NULL DEFAULT '' COMMENT '用户手机号', user_mobile varchar(255) NOT NULL DEFAULT '' COMMENT '用户手机号',
item_id varchar(255) NOT NULL DEFAULT '' COMMENT '积分物品id',
target_title varchar(255) NOT NULL DEFAULT '' COMMENT '物品名称', target_title varchar(255) NOT NULL DEFAULT '' COMMENT '物品名称',
order_code varchar(255) NOT NULL DEFAULT '' COMMENT '订单号', order_code varchar(255) NOT NULL DEFAULT '' COMMENT '订单号',
number int(32) NOT NULL DEFAULT 0 COMMENT '数量', number int(32) NOT NULL DEFAULT 0 COMMENT '数量',
......
...@@ -312,7 +312,10 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -312,7 +312,10 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
} }
public static void main(String[] args) { public static void main(String[] args) {
Long a=IDGenerator.getDamaiCode("397341627879178278349754"); Long a=IDGenerator.getDamaiCode("385930697698099233332997");
Long b=IDGenerator.getDamaiCode("385931515691868195803932");
System.out.println(a); System.out.println(a);
System.out.println(b);
} }
} }
...@@ -3,6 +3,8 @@ package com.liquidnet.client.admin.zhengzai.stone.service.impl; ...@@ -3,6 +3,8 @@ package com.liquidnet.client.admin.zhengzai.stone.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.stone.service.IScoreService; import com.liquidnet.client.admin.zhengzai.stone.service.IScoreService;
import com.liquidnet.client.admin.zhengzai.stone.service.utils.StoneMongoUtils;
import com.liquidnet.client.admin.zhengzai.stone.service.utils.StoneRedisUtils;
import com.liquidnet.client.admin.zhengzai.stone.service.vo.StoneUserScoreDetailVo; import com.liquidnet.client.admin.zhengzai.stone.service.vo.StoneUserScoreDetailVo;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.stone.dto.StoneScoreListDto; import com.liquidnet.service.stone.dto.StoneScoreListDto;
...@@ -11,6 +13,7 @@ import com.liquidnet.service.stone.entity.StoneScoreUser; ...@@ -11,6 +13,7 @@ import com.liquidnet.service.stone.entity.StoneScoreUser;
import com.liquidnet.service.stone.mapper.StoneScoreLogsMapper; import com.liquidnet.service.stone.mapper.StoneScoreLogsMapper;
import com.liquidnet.service.stone.mapper.StoneScoreUserMapper; import com.liquidnet.service.stone.mapper.StoneScoreUserMapper;
import com.liquidnet.service.stone.param.StoneScoreListParam; import com.liquidnet.service.stone.param.StoneScoreListParam;
import com.liquidnet.service.stone.vo.StoneUserVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -27,6 +30,10 @@ public class ScoreServiceImpl implements IScoreService { ...@@ -27,6 +30,10 @@ public class ScoreServiceImpl implements IScoreService {
StoneScoreUserMapper stoneScoreUserMapper; StoneScoreUserMapper stoneScoreUserMapper;
@Autowired @Autowired
StoneScoreLogsMapper stoneScoreLogsMapper; StoneScoreLogsMapper stoneScoreLogsMapper;
@Autowired
StoneRedisUtils redisUtils;
@Autowired
StoneMongoUtils mongoUtils;
@Override @Override
public PageInfo<StoneScoreListDto> list(StoneScoreListParam param) { public PageInfo<StoneScoreListDto> list(StoneScoreListParam param) {
...@@ -39,21 +46,36 @@ public class ScoreServiceImpl implements IScoreService { ...@@ -39,21 +46,36 @@ public class ScoreServiceImpl implements IScoreService {
@Override @Override
public String changeStatus(String uid, Integer status) { public String changeStatus(String uid, Integer status) {
if(!(status==1 || status==2)){ if (!(status == 1 || status == 2)) {
return "状态错误"; return "状态错误";
} }
StoneScoreUser data = new StoneScoreUser(); StoneScoreUser data = new StoneScoreUser();
data.setStatus(status); data.setStatus(status);
int isExists = stoneScoreUserMapper.selectCount(Wrappers.lambdaQuery(StoneScoreUser.class).eq(StoneScoreUser::getUid, uid)); int isExists = stoneScoreUserMapper.selectCount(Wrappers.lambdaQuery(StoneScoreUser.class).eq(StoneScoreUser::getUid, uid));
int count = 0; int count;
StoneUserVo vo = redisUtils.getUserData(uid);
if (vo == null) {
vo = StoneUserVo.getNew();
vo.getTask();
}
vo.setStatus(status);
vo.setUid(uid);
if (isExists > 0) { if (isExists > 0) {
data.setUpdatedAt(LocalDateTime.now()); data.setUpdatedAt(LocalDateTime.now());
count = stoneScoreUserMapper.update(data, Wrappers.lambdaQuery(StoneScoreUser.class).eq(StoneScoreUser::getUid, uid)); count = stoneScoreUserMapper.update(data, Wrappers.lambdaQuery(StoneScoreUser.class).eq(StoneScoreUser::getUid, uid));
//redis
redisUtils.setUserData(data.getUid(), vo);
//mongo
mongoUtils.userUpdateByUid(vo);
} else { } else {
data.setScoreId(IDGenerator.nextTimeId2()); data.setScoreId(IDGenerator.nextTimeId2());
data.setUid(uid); data.setUid(uid);
data.setCreatedAt(LocalDateTime.now()); data.setCreatedAt(LocalDateTime.now());
count = stoneScoreUserMapper.insert(data); count = stoneScoreUserMapper.insert(data);
//redis
redisUtils.setUserData(data.getUid(), vo);
//mongo
mongoUtils.userCreate(vo);
} }
if (count <= 0) { if (count <= 0) {
return "修改失败"; return "修改失败";
......
...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.JsonUtils; ...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.stone.constant.StoneConstant; import com.liquidnet.service.stone.constant.StoneConstant;
import com.liquidnet.service.stone.entity.StoneScoreItems; import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.vo.StoneUserVo;
import com.mongodb.client.result.UpdateResult; import com.mongodb.client.result.UpdateResult;
import org.bson.Document; import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -41,4 +42,25 @@ public class StoneMongoUtils { ...@@ -41,4 +42,25 @@ public class StoneMongoUtils {
UpdateResult result = mongoTemplate.updateFirst(query, update, StoneScoreItems.class, StoneScoreItems.class.getSimpleName()); UpdateResult result = mongoTemplate.updateFirst(query, update, StoneScoreItems.class, StoneScoreItems.class.getSimpleName());
return result; return result;
} }
/**
* 创建 用户积分
* @param data
* @return
*/
public Object userCreate(StoneUserVo data) {
return mongoTemplate.insert(data, StoneUserVo.class.getSimpleName());
}
/**
* 根据用户id修改 用户积分
* @param data
* @return
*/
public Object userUpdateByUid(StoneUserVo data) {
Query query = Query.query(Criteria.where("uid").is(data.getUid()));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(data)));
UpdateResult result = mongoTemplate.updateFirst(query, update, StoneUserVo.class, StoneUserVo.class.getSimpleName());
return result;
}
} }
...@@ -4,6 +4,7 @@ import com.liquidnet.client.admin.zhengzai.kylin.utils.MongoVoUtils; ...@@ -4,6 +4,7 @@ import com.liquidnet.client.admin.zhengzai.kylin.utils.MongoVoUtils;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.stone.constant.StoneConstant; import com.liquidnet.service.stone.constant.StoneConstant;
import com.liquidnet.service.stone.entity.StoneScoreItems; import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.vo.StoneUserVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -78,4 +79,30 @@ public class StoneRedisUtils { ...@@ -78,4 +79,30 @@ public class StoneRedisUtils {
} }
} }
/**
* 设置 用户积分 缓存
*
* @param uid
* @param data
*/
public void setUserData(String uid, StoneUserVo data) {
String redisKey = StoneConstant.USER.concat(uid);
redisUtil.set(redisKey, data);
}
/**
* 获取 用户积分 缓存
*
* @param uid
*/
public StoneUserVo getUserData(String uid) {
String redisKey = StoneConstant.USER.concat(uid);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return null;
} else {
return (StoneUserVo) obj;
}
}
} }
...@@ -45,6 +45,11 @@ public class StoneScoreOrder implements Serializable { ...@@ -45,6 +45,11 @@ public class StoneScoreOrder implements Serializable {
*/ */
private String userMobile; private String userMobile;
/**
* 物品id
*/
private String itemId;
/** /**
* 物品名称 * 物品名称
*/ */
......
...@@ -9,7 +9,7 @@ import java.io.Serializable; ...@@ -9,7 +9,7 @@ import java.io.Serializable;
* @since 2021-10-19 * @since 2021-10-19
*/ */
@Data @Data
public class StoneTaskVo implements Serializable { public class StoneTaskVo implements Serializable,Cloneable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -32,4 +32,13 @@ public class StoneTaskVo implements Serializable { ...@@ -32,4 +32,13 @@ public class StoneTaskVo implements Serializable {
* 完成日期 2021-12-01 12:00:02 * 完成日期 2021-12-01 12:00:02
*/ */
private String taskTime; private String taskTime;
private static final StoneTaskVo obj = new StoneTaskVo();
public static StoneTaskVo getNew() {
try {
return (StoneTaskVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new StoneTaskVo();
}
}
} }
...@@ -11,12 +11,11 @@ import java.time.LocalDateTime; ...@@ -11,12 +11,11 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
*
* @author liquidnet * @author liquidnet
* @since 2021-10-19 * @since 2021-10-19
*/ */
@Data @Data
public class StoneUserVo implements Serializable { public class StoneUserVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -43,9 +42,41 @@ public class StoneUserVo implements Serializable { ...@@ -43,9 +42,41 @@ public class StoneUserVo implements Serializable {
*/ */
private List<StoneTaskVo> task; private List<StoneTaskVo> task;
public List<StoneTaskVo> getTask() {
if(task==null){
return initTask();
}
return task;
}
private List<StoneTaskVo> initTask() {
String[] taskName = new String[]{
"签到", "购买演出票务", "购买商品", "在场划卡10次",
"关注摩登天空服务号", "完善个人信息", "完善个人照片", "打开消息通知", "首次体验在场"
};
for (int i = 0; i < taskName.length; i++) {
StoneTaskVo vo = StoneTaskVo.getNew();
vo.setTaskName(taskName[i]);
if (i > 3) {
vo.setTaskType(2);
} else {
vo.setTaskType(1);
}
vo.setTaskCount(0);
vo.setTaskTime("");
task.add(vo);
}
return task;
}
private static final StoneUserVo obj = new StoneUserVo();
public void initTask(){ public static StoneUserVo getNew() {
try {
return (StoneUserVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new StoneUserVo();
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment