|
|
@@ -30,58 +30,67 @@ import java.util.*;
|
|
|
@Service
|
|
|
public class CustserviceServiceImpl extends ServiceImpl<CustserviceMapper, Custservice> implements CustserviceService {
|
|
|
|
|
|
- @Autowired CustserviceMapper custserviceMapper;
|
|
|
+ @Autowired
|
|
|
+ CustserviceMapper custserviceMapper;
|
|
|
|
|
|
@Autowired
|
|
|
public StringRedisTemplate stringRedisTemplate;
|
|
|
+
|
|
|
/**
|
|
|
* 盘古客服库列表
|
|
|
+ *
|
|
|
* @param custserviceListHandle
|
|
|
* @return
|
|
|
*/
|
|
|
- public Object getlist(CustserviceListHandle custserviceListHandle){
|
|
|
- Page<CustserviceVo> page = new Page<CustserviceVo>(custserviceListHandle.getPage(),custserviceListHandle.getPagesize());
|
|
|
- List<CustserviceVo> custservices = custserviceMapper.getlist(page,custserviceListHandle);
|
|
|
- Map<String,Object> res = new HashMap<>();
|
|
|
- res.put("list",custservices);
|
|
|
- res.put("total",page.getTotal());
|
|
|
+ public Object getlist(CustserviceListHandle custserviceListHandle) {
|
|
|
+ Page<CustserviceVo> page = new Page<CustserviceVo>(custserviceListHandle.getPage(), custserviceListHandle.getPagesize());
|
|
|
+ List<CustserviceVo> custservices = custserviceMapper.getlist(page, custserviceListHandle);
|
|
|
+ Map<String, Object> res = new HashMap<>();
|
|
|
+ res.put("list", custservices);
|
|
|
+ res.put("total", page.getTotal());
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* (API)按阈值大小获取客服码
|
|
|
+ *
|
|
|
* @param promoteId
|
|
|
* @return
|
|
|
*/
|
|
|
- public Map<String,Object> getRandCustservice(String promoteId){
|
|
|
- Map<String,Object> res = new HashMap<>();
|
|
|
- res.put("err",null);
|
|
|
+ public Map<String, Object> getRandCustservice(String promoteId) {
|
|
|
+ Map<String, Object> res = new HashMap<>();
|
|
|
+ res.put("err", null);
|
|
|
//.获取活码小时访问量上限
|
|
|
- String promoteInfoStr = stringRedisTemplate.opsForHash().get(RedisKey.PanPromoteCodeInfo,promoteId).toString();
|
|
|
+ Object promoteInfoObj = stringRedisTemplate.opsForHash().get(RedisKey.PanPromoteCodeInfo, promoteId);
|
|
|
+ if (promoteInfoObj == null) {
|
|
|
+ res.put("err", "promote info null");
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ String promoteInfoStr = promoteInfoObj.toString();
|
|
|
PromoteCode promoteCode = JSON.parseObject(promoteInfoStr, PromoteCode.class);
|
|
|
- Set<String> ids = stringRedisTemplate.opsForZSet().reverseRangeByScore(RedisKey.PanCustServiceIdView+promoteId,-1,promoteCode.getHourUvMax(),0,1);
|
|
|
- if (ids == null || ids.size() == 0){
|
|
|
- res.put("err","ids null");
|
|
|
+ Set<String> ids = stringRedisTemplate.opsForZSet().reverseRangeByScore(RedisKey.PanCustServiceIdView + promoteId, -1, promoteCode.getHourUvMax(), 0, 1);
|
|
|
+ if (ids == null || ids.size() == 0) {
|
|
|
+ res.put("err", "ids null");
|
|
|
return res;
|
|
|
}
|
|
|
//.校验当前客服ID全天访问量是否达到上限
|
|
|
String custserviceId = ids.toArray()[0].toString();
|
|
|
- Double dayView = stringRedisTemplate.opsForZSet().score(RedisKey.PanCustServiceIdDayView+promoteId, custserviceId);
|
|
|
- if (dayView == null){
|
|
|
+ Double dayView = stringRedisTemplate.opsForZSet().score(RedisKey.PanCustServiceIdDayView + promoteId, custserviceId);
|
|
|
+ if (dayView == null) {
|
|
|
dayView = 0.00;
|
|
|
}
|
|
|
- if (dayView > promoteCode.getDayUvMax()){
|
|
|
- res.put("err","custservice day view max");
|
|
|
+ if (dayView > promoteCode.getDayUvMax()) {
|
|
|
+ res.put("err", "custservice day view max");
|
|
|
return res;
|
|
|
}
|
|
|
//.获取个微客服相信信息
|
|
|
- Object jsonStr = stringRedisTemplate.opsForHash().get(RedisKey.PanCustServiceInfo,custserviceId);
|
|
|
- Custservice custservice = JSON.parseObject(jsonStr.toString(),Custservice.class);
|
|
|
+ Object jsonStr = stringRedisTemplate.opsForHash().get(RedisKey.PanCustServiceInfo, custserviceId);
|
|
|
+ Custservice custservice = JSON.parseObject(jsonStr.toString(), Custservice.class);
|
|
|
//.记录打点数
|
|
|
- stringRedisTemplate.opsForZSet().incrementScore(RedisKey.PanCustServiceIdView+promoteId,custserviceId,1);
|
|
|
+ stringRedisTemplate.opsForZSet().incrementScore(RedisKey.PanCustServiceIdView + promoteId, custserviceId, 1);
|
|
|
//.记录全天打点数
|
|
|
- stringRedisTemplate.opsForZSet().incrementScore(RedisKey.PanCustServiceIdDayView+promoteId,custserviceId,1);
|
|
|
- res.put("res",custservice);
|
|
|
+ stringRedisTemplate.opsForZSet().incrementScore(RedisKey.PanCustServiceIdDayView + promoteId, custserviceId, 1);
|
|
|
+ res.put("res", custservice);
|
|
|
return res;
|
|
|
}
|
|
|
|