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

Commit d8d216d2 authored by zhengfuxin's avatar zhengfuxin

消息队列

parent df48d80f
...@@ -22,6 +22,11 @@ ...@@ -22,6 +22,11 @@
<artifactId>liquidnet-service-smile</artifactId> <artifactId>liquidnet-service-smile</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-kylin-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
package com.liquidnet.service.goblin.service.manage; package com.liquidnet.service.goblin.service.manage;
import com.liquidnet.service.goblin.dto.vo.SmileUserVO; import com.liquidnet.service.goblin.dto.vo.SmileUserVO;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import java.util.List;
public interface SmileFrontService { public interface SmileFrontService {
public boolean saveOrUpdateUser(SmileUserVO smileUserVO,SmileUserVO redisVo,String type); public boolean saveOrUpdateUser(SmileUserVO smileUserVO,SmileUserVO redisVo,String type);
public List<KylinPerformanceVo> getPerformance();
} }
...@@ -11,8 +11,8 @@ import com.liquidnet.service.base.ResponseDto; ...@@ -11,8 +11,8 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.constant.SmileRedisConst; import com.liquidnet.service.goblin.constant.SmileRedisConst;
import com.liquidnet.service.goblin.dto.vo.SmileSchoolVo; import com.liquidnet.service.goblin.dto.vo.SmileSchoolVo;
import com.liquidnet.service.goblin.dto.vo.SmileUserVO; import com.liquidnet.service.goblin.dto.vo.SmileUserVO;
import com.liquidnet.service.goblin.service.manage.SmileFrontService;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.service.impl.SmileFrontServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -37,7 +37,7 @@ public class SmileUserController { ...@@ -37,7 +37,7 @@ public class SmileUserController {
@Autowired @Autowired
private RedisUtil redisUtil; private RedisUtil redisUtil;
@Autowired @Autowired
private SmileFrontServiceImpl smileFrontService; private SmileFrontService smileFrontService;
@GetMapping("getUser") @GetMapping("getUser")
@ApiOperation("获取用户状态,如果没查到,则返回null") @ApiOperation("获取用户状态,如果没查到,则返回null")
......
package com.liquidnet.service.service.impl; package com.liquidnet.service.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.StringUtil; import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.constant.SmileRedisConst; import com.liquidnet.service.goblin.constant.SmileRedisConst;
import com.liquidnet.service.goblin.dto.vo.SmileUserVO; import com.liquidnet.service.goblin.dto.vo.SmileUserVO;
import com.liquidnet.service.goblin.service.manage.SmileFrontService; import com.liquidnet.service.goblin.service.manage.SmileFrontService;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.util.ObjectUtil; import com.liquidnet.service.util.ObjectUtil;
import com.liquidnet.service.util.QueueUtils;
import com.liquidnet.service.util.SmileMongoUtils; import com.liquidnet.service.util.SmileMongoUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -14,6 +18,7 @@ import org.springframework.stereotype.Service; ...@@ -14,6 +18,7 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List; import java.util.List;
@Service @Service
...@@ -23,20 +28,57 @@ public class SmileFrontServiceImpl implements SmileFrontService { ...@@ -23,20 +28,57 @@ public class SmileFrontServiceImpl implements SmileFrontService {
private RedisUtil redisUtil; private RedisUtil redisUtil;
@Autowired @Autowired
private SmileMongoUtils smileMongoUtils; private SmileMongoUtils smileMongoUtils;
@Autowired
QueueUtils queueUtils;
public boolean saveOrUpdateUser(SmileUserVO smileUserVO,SmileUserVO redisVo,String type){ public boolean saveOrUpdateUser(SmileUserVO smileUserVO,SmileUserVO redisVo,String type){
//redis里面更新 //redis里面更新
if(null==redisVo){ if(null==redisVo){
smileUserVO.setCreatedDate(LocalDateTime.now()); smileUserVO.setCreatedDate(LocalDateTime.now());
smileUserVO.setDelTag(0); smileUserVO.setDelTag(0);
redisUtil.set(SmileRedisConst.SMILE_USER.concat(smileUserVO.getUid()),smileUserVO); redisUtil.set(SmileRedisConst.SMILE_USER.concat(smileUserVO.getUid()),smileUserVO);
insertUser(smileUserVO);
//插入 //插入
}else{ }else{
//update //update
setUser(smileUserVO,redisVo,type); setUser(smileUserVO,redisVo,type);
redisUtil.set(SmileRedisConst.SMILE_USER.concat(redisVo.getUid()),redisVo); redisUtil.set(SmileRedisConst.SMILE_USER.concat(redisVo.getUid()),redisVo);
updateUser(smileUserVO);
} }
return true; return true;
} }
public void insertUser(SmileUserVO smileUserVO){
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("smile_service.insert_user"));
LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr();
sqlData.add(new Object[]{
smileUserVO.getImg(),smileUserVO.getName(),smileUserVO.getUid(),smileUserVO.getBirthday(),smileUserVO.getSex(),
smileUserVO.getPhone(),smileUserVO.getProvinceKey(),smileUserVO.getProvince(),smileUserVO.getCityKey(),smileUserVO.getCity(),
smileUserVO.getAreaKey(),smileUserVO.getArea(),smileUserVO.getAddress(),smileUserVO.getWechat(),smileUserVO.getType(),smileUserVO.getOrgId(),
smileUserVO.getIdCard(),smileUserVO.getSchoolName(),smileUserVO.getSchoolMajor(),smileUserVO.getIdentity(),smileUserVO.getTag(),smileUserVO.getAgent(),
smileUserVO.getAuthTag(),smileUserVO.getErrorReason(),smileUserVO.getIntroduce(),smileUserVO.getSpecialty1(),smileUserVO.getSpecialty2(),
smileUserVO.getSpecialty3(),smileUserVO.getState(),smileUserVO.getDelTag(),smileUserVO.getCreatedDate(),smileUserVO.getUpdatedDate()
});
String sqlDatas = SqlMapping.gets(sqls, sqlData);
queueUtils.sendMsgByRedis(MQConst.SmileQueue.SMILE_USER.getKey(), sqlDatas);
}
public void updateUser(SmileUserVO smileUserVO){
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("smile_service.update_user"));
LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr();
sqlData.add(new Object[]{
smileUserVO.getImg(),smileUserVO.getName(),smileUserVO.getUid(),smileUserVO.getBirthday(),smileUserVO.getSex(),
smileUserVO.getPhone(),smileUserVO.getProvinceKey(),smileUserVO.getProvince(),smileUserVO.getCityKey(),smileUserVO.getCity(),
smileUserVO.getAreaKey(),smileUserVO.getArea(),smileUserVO.getAddress(),smileUserVO.getWechat(),smileUserVO.getType(),smileUserVO.getOrgId(),
smileUserVO.getIdCard(),smileUserVO.getSchoolName(),smileUserVO.getSchoolMajor(),smileUserVO.getIdentity(),smileUserVO.getTag(),smileUserVO.getAgent(),
smileUserVO.getAuthTag(),smileUserVO.getErrorReason(),smileUserVO.getIntroduce(),smileUserVO.getSpecialty1(),smileUserVO.getSpecialty2(),
smileUserVO.getSpecialty3(),smileUserVO.getState(),smileUserVO.getUpdatedDate()
});
String sqlDatas = SqlMapping.gets(sqls, sqlData);
queueUtils.sendMsgByRedis(MQConst.SmileQueue.SMILE_USER.getKey(), sqlDatas);
}
public List<KylinPerformanceVo> getPerformance(){ public List<KylinPerformanceVo> getPerformance(){
ArrayList<KylinPerformanceVo> list= ObjectUtil.kylinPerformanceVoList(); ArrayList<KylinPerformanceVo> list= ObjectUtil.kylinPerformanceVoList();
String perforManceIds= (String) redisUtil.get(SmileRedisConst.SMILE_SHOW); String perforManceIds= (String) redisUtil.get(SmileRedisConst.SMILE_SHOW);
......
package com.liquidnet.service.util;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.base.constant.MQConst;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.stream.StreamRecords;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.HashMap;
@Component
public class QueueUtils {
// @Autowired
// private RabbitTemplate rabbitTemplate;
@Autowired
StringRedisTemplate stringRedisTemplate;
/**
* 发送消息 - RABBIT
*
* @param exchange 交换机
* @param routeKey 路径
* @param jsonMsg Json字符串
*/
// public void sendMsgByRabbit(String exchange, String routeKey, String jsonMsg) {
// rabbitTemplate.convertAndSend(exchange, routeKey, jsonMsg);
// }
/**
* 发送消息 - REDIS
*
* @param streamKey Redis消费Key
* @param jsonMsg Json字符串
*/
public void sendMsgByRedis(String streamKey, String jsonMsg) {
HashMap<String, String> map = CollectionUtil.mapStringString();
map.put("message", jsonMsg);
stringRedisTemplate.opsForStream().add(StreamRecords.mapBacked(map).withStreamKey(streamKey));
}
/**
* 发送消息 - REDIS [XLS]
*
* @param xlsPath xls 对应的OSS 全量路径
* @param type [1-添加|2-删除]
* @param skuId skuId
*/
public void sendMsgByRedisXls(String xlsPath, String type, String skuId) {
if (xlsPath == null || xlsPath.equals("") || type == null || type.equals("") || skuId == null || skuId.equals("")) {
} else {
HashMap<String, String> map = CollectionUtil.mapStringString();
map.put("message", xlsPath);
map.put("type", type);
map.put("skuId", skuId);
stringRedisTemplate.opsForStream().add(StreamRecords.mapBacked(map).withStreamKey(MQConst.GoblinQueue.GOBLIN_XLS_OPERA.getKey()));
}
}
}
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