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

Commit 6121f698 authored by 胡佳晨's avatar 胡佳晨

提交platfrom

parent 0b9660f9
......@@ -33,4 +33,12 @@ public class DataController {
Boolean result = data.initScore(uid);
return ResponseDto.success(result);
}
@PostMapping("initLogsSingle")
@ApiOperation("初始化用户积分日志(根据uid)")
public ResponseDto<Boolean> initLogs(@RequestParam("uid") String uid) {
Boolean result = data.initLogs(uid);
return ResponseDto.success(result);
}
}
......@@ -10,6 +10,7 @@ import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamUser;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.stone.constant.StoneConstant;
import com.liquidnet.service.stone.entity.StoneScoreLogs;
import com.liquidnet.service.stone.entity.StoneScoreUser;
import com.liquidnet.service.stone.mapper.StoneScoreLogsMapper;
......@@ -20,12 +21,19 @@ import com.liquidnet.service.sweet.vo.SweetAppletUsersVo;
import com.liquidnet.service.sweet.vo.SweetWechatUsersVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@Service
......@@ -208,17 +216,38 @@ public class DataImpl {
return true;
}
public boolean initLogs(String uid) {
List<StoneScoreLogs> list = stoneScoreLogsMapper.selectList(Wrappers.lambdaQuery(StoneScoreLogs.class).eq(StoneScoreLogs::getUid, uid));
mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)));
String redisKey = StoneConstant.LOGS_LIST.concat(uid);
redisDataSourceUtil.getRedisStoneUtil().del(redisKey);
for (StoneScoreLogs item : list) {
//初始化 redis
//初始化 mongo
StoneScoreLogs logs = new StoneScoreLogs();
logs.setLogsId(item.getLogsId());
logs.setContent(item.getContent());
logs.setReason(item.getReason());
logs.setUid(uid);
logs.setScore(item.getScore());
logs.setCreatedAt(item.getCreatedAt());
}
List<StoneScoreLogs> getLogsList = (List<StoneScoreLogs>) logList(uid, 1, 40).get("data");
redisDataSourceUtil.getRedisStoneUtil().set(redisKey,getLogsList);
return true;
}
/**
* 创建 用户积分
*
* @param data
* @return
*/
public Object userCreate(StoneUserVo data) {
private Object userCreate(StoneUserVo data) {
return mongoTemplate.insert(data, StoneUserVo.class.getSimpleName());
}
public String getUnionIdByPhone(String phone) {
private String getUnionIdByPhone(String phone) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_APPLET_USERS_PHONE.concat(phone);
Object obj = redisDataSourceUtil.getRedisSweetUtil().get(redisKey);
if (null == obj) {
......@@ -235,4 +264,20 @@ public class DataImpl {
return "true";
}
}
public HashMap<String, Object> logList(String uid, int page, int size) {
LocalDateTime now = LocalDateTime.now();
HashMap<String, Object> info = CollectionUtil.mapStringObject();
// 排序 分页
Pageable pageable = PageRequest.of(page - 1, size, Sort.by(Sort.Direction.DESC, "createdAt"));
//条件
Query query = Query.query(Criteria.where("uid").is(uid));
// 查询总数
long count = mongoTemplate.count(query, StoneScoreLogs.class, StoneScoreLogs.class.getSimpleName());
query.with(pageable);
List<StoneScoreLogs> voList = mongoTemplate.find(query, StoneScoreLogs.class, StoneScoreLogs.class.getSimpleName());
info.put("total", count);
info.put("data", voList);
return info;
}
}
......@@ -283,6 +283,7 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService {
logs.setScore(BigDecimal.valueOf(score));
logs.setCreatedAt(LocalDateTime.now());
stoneMongoUtils.logCreate(logs);
stoneRedisUtils.addLogsList(uid,logs);
//mysql 入库 积分日志
queueUtils.sendMsgByRedis(MQConst.StoneQueue.STONE_INSERT_LOGS.getKey(),
SqlMapping.get("stone_score_logs.insert", logs.getLogsId(), logs.getUid(), logs.getScore(), logs.getContent(), logs.getReason(), getOverdueAt(), LocalDateTime.now())
......@@ -302,6 +303,7 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService {
logs.setScore(BigDecimal.valueOf(score).negate());
logs.setCreatedAt(LocalDateTime.now());
stoneMongoUtils.logCreate(logs);
stoneRedisUtils.addLogsList(uid,logs);
//mysql 入库 积分日志
queueUtils.sendMsgByRedis(MQConst.StoneQueue.STONE_INSERT_LOGS.getKey(),
SqlMapping.get("stone_score_logs.insert", logs.getLogsId(), logs.getUid(), logs.getScore(), logs.getContent(), logs.getReason(), getOverdueAt(), LocalDateTime.now())
......
......@@ -201,7 +201,9 @@ public class StoneRedisUtils {
String redisKey = StoneConstant.LOGS_LIST.concat(uid);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return (List<StoneScoreLogs>) mongoUtils.logList(uid, 1, 40).get("data");
List<StoneScoreLogs> getLogsList = (List<StoneScoreLogs>) mongoUtils.logList(uid, 1, 40).get("data");
redisUtil.set(redisKey,getLogsList);
return getLogsList;
} else {
return (List<StoneScoreLogs>) obj;
}
......
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