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

Commit 39139401 authored by 张国柄's avatar 张国柄

fix adam sql to mq;

parent bec22bda
...@@ -52,7 +52,6 @@ public class SqlMapping { ...@@ -52,7 +52,6 @@ public class SqlMapping {
LinkedList<Object[]>[] args = new LinkedList[]{paramsList}; LinkedList<Object[]>[] args = new LinkedList[]{paramsList};
SqlMessage sqlMessage = SqlMessage.getInstance(); SqlMessage sqlMessage = SqlMessage.getInstance();
sqlMessage.setExecType(1);
sqlMessage.setSqls(sqls); sqlMessage.setSqls(sqls);
sqlMessage.setArgs(args); sqlMessage.setArgs(args);
return JsonUtils.toJson(sqlMessage); return JsonUtils.toJson(sqlMessage);
...@@ -64,7 +63,6 @@ public class SqlMapping { ...@@ -64,7 +63,6 @@ public class SqlMapping {
LinkedList<Object[]>[] args = new LinkedList[]{paramsList}; LinkedList<Object[]>[] args = new LinkedList[]{paramsList};
SqlMessage sqlMessage = SqlMessage.getInstance(); SqlMessage sqlMessage = SqlMessage.getInstance();
sqlMessage.setExecType(2);
sqlMessage.setSqls(sqls); sqlMessage.setSqls(sqls);
sqlMessage.setArgs(args); sqlMessage.setArgs(args);
return JsonUtils.toJson(sqlMessage); return JsonUtils.toJson(sqlMessage);
...@@ -74,7 +72,6 @@ public class SqlMapping { ...@@ -74,7 +72,6 @@ public class SqlMapping {
LinkedList<Object[]>[] args = new LinkedList[]{paramsList}; LinkedList<Object[]>[] args = new LinkedList[]{paramsList};
SqlMessage sqlMessage = SqlMessage.getInstance(); SqlMessage sqlMessage = SqlMessage.getInstance();
sqlMessage.setExecType(3);
sqlMessage.setSqls(sqls); sqlMessage.setSqls(sqls);
sqlMessage.setArgs(args); sqlMessage.setArgs(args);
return JsonUtils.toJson(sqlMessage); return JsonUtils.toJson(sqlMessage);
......
...@@ -5,7 +5,6 @@ import java.util.LinkedList; ...@@ -5,7 +5,6 @@ import java.util.LinkedList;
public class SqlMessage implements Cloneable, Serializable { public class SqlMessage implements Cloneable, Serializable {
private static final long serialVersionUID = 2208924091512163151L; private static final long serialVersionUID = 2208924091512163151L;
private int execType;
private LinkedList<String> sqls; private LinkedList<String> sqls;
private LinkedList<Object[]>[] args; private LinkedList<Object[]>[] args;
...@@ -18,14 +17,6 @@ public class SqlMessage implements Cloneable, Serializable { ...@@ -18,14 +17,6 @@ public class SqlMessage implements Cloneable, Serializable {
this.args = sqlMessage.getArgs(); this.args = sqlMessage.getArgs();
} }
public int getExecType() {
return execType;
}
public void setExecType(int execType) {
this.execType = execType;
}
public LinkedList<String> getSqls() { public LinkedList<String> getSqls() {
return sqls; return sqls;
} }
......
...@@ -21,4 +21,6 @@ public interface IAdamEntersService extends IService<AdamEnters> { ...@@ -21,4 +21,6 @@ public interface IAdamEntersService extends IService<AdamEnters> {
AdamEnters query(String uid, String entersId); AdamEnters query(String uid, String entersId);
void edit(AdamEnters info); void edit(AdamEnters info);
void remove(String uid, String entersId);
} }
...@@ -99,4 +99,16 @@ public class AdamEntersController { ...@@ -99,4 +99,16 @@ public class AdamEntersController {
return ResponseDto.success(); return ResponseDto.success();
} }
@ApiOperationSupport(order = 5)
@ApiOperation(value = "入场人删除")
@PostMapping("del/{id}")
public ResponseDto<Object> del(@PathVariable(name = "id") String entersId) {
// TODO: 2021/4/28 校验、获取登录UID
String uid = "1";
adamEntersService.remove(uid, entersId);
return ResponseDto.success();
}
} }
...@@ -12,6 +12,7 @@ import com.liquidnet.service.adam.service.IAdamEntersService; ...@@ -12,6 +12,7 @@ import com.liquidnet.service.adam.service.IAdamEntersService;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.UpdateResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.bson.Document; import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
...@@ -25,6 +26,7 @@ import org.springframework.transaction.annotation.Propagation; ...@@ -25,6 +26,7 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
/** /**
...@@ -56,7 +58,7 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -56,7 +58,7 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
Map<Object, Object> map = redisUtil.hmget(AdamRedisConst.INFO_ENTERS.concat(uid)); Map<Object, Object> map = redisUtil.hmget(AdamRedisConst.INFO_ENTERS.concat(uid));
if (CollectionUtils.isEmpty(map)) { if (CollectionUtils.isEmpty(map)) {
infoList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid)), AdamEnters.class, AdamEnters.class.getSimpleName()); infoList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamEnters.class, AdamEnters.class.getSimpleName());
} else { } else {
for (Object o : map.values()) { for (Object o : map.values()) {
infoList.add((AdamEnters) o); infoList.add((AdamEnters) o);
...@@ -73,8 +75,9 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -73,8 +75,9 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
Set<Object> keys = (Set<Object>) redisUtil.hkeys(AdamRedisConst.INFO_ENTERS.concat(info.getUid())); Set<Object> keys = (Set<Object>) redisUtil.hkeys(AdamRedisConst.INFO_ENTERS.concat(info.getUid()));
if (!CollectionUtils.isEmpty(keys)) { if (!CollectionUtils.isEmpty(keys)) {
AdamEnters deaultEnters = new AdamEnters(); AdamEnters deaultEnters = new AdamEnters();
deaultEnters.setUid(info.getUid());
deaultEnters.setIsDefault(false); deaultEnters.setIsDefault(false);
deaultEnters.setUpdatedAt(info.getCreatedAt());
deaultEnters.setUid(info.getUid());
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(deaultEnters)); BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(deaultEnters));
Document doc = mongoTemplate.getCollection(AdamEnters.class.getSimpleName()).findOneAndUpdate( Document doc = mongoTemplate.getCollection(AdamEnters.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("uid").is(deaultEnters.getUid()).and("isDefault").is(true)).getQueryObject(), Query.query(Criteria.where("uid").is(deaultEnters.getUid()).and("isDefault").is(true)).getQueryObject(),
...@@ -83,9 +86,9 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -83,9 +86,9 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
if (null != doc) { if (null != doc) {
List<Object> paramList = new ArrayList<>(); List<Object> paramList = new ArrayList<>();
paramList.add(info.getIsDefault()); paramList.add(deaultEnters.getIsDefault());
paramList.add(info.getUpdatedAt()); paramList.add(deaultEnters.getUpdatedAt());
paramList.add(info.getEntersId()); paramList.add(doc.get("uid"));
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("adam_enters.update.is_default", paramList.toArray())); SqlMapping.get("adam_enters.update.is_default", paramList.toArray()));
...@@ -131,10 +134,12 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -131,10 +134,12 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamEnters info) { public void edit(AdamEnters info) {
AdamEnters oldEnters = (AdamEnters) redisUtil.hget(AdamRedisConst.INFO_ENTERS.concat(info.getUid()), info.getEntersId()); AdamEnters oldEnters = (AdamEnters) redisUtil.hget(AdamRedisConst.INFO_ENTERS.concat(info.getUid()), info.getEntersId());
if (null == oldEnters) return;
if (info.getIsDefault() && !oldEnters.getIsDefault()) { if (info.getIsDefault() && !oldEnters.getIsDefault()) {
AdamEnters deaultEnters = new AdamEnters(); AdamEnters deaultEnters = new AdamEnters();
deaultEnters.setUid(info.getUid());
deaultEnters.setIsDefault(false); deaultEnters.setIsDefault(false);
deaultEnters.setUpdatedAt(info.getUpdatedAt());
deaultEnters.setUid(info.getUid());
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(deaultEnters)); BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(deaultEnters));
Document doc = mongoTemplate.getCollection(AdamEnters.class.getSimpleName()).findOneAndUpdate( Document doc = mongoTemplate.getCollection(AdamEnters.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("uid").is(deaultEnters.getUid()).and("isDefault").is(true)).getQueryObject(), Query.query(Criteria.where("uid").is(deaultEnters.getUid()).and("isDefault").is(true)).getQueryObject(),
...@@ -143,9 +148,9 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -143,9 +148,9 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
if (null != doc) { if (null != doc) {
List<Object> paramList = new ArrayList<>(); List<Object> paramList = new ArrayList<>();
paramList.add(info.getIsDefault()); paramList.add(deaultEnters.getIsDefault());
paramList.add(info.getUpdatedAt()); paramList.add(deaultEnters.getUpdatedAt());
paramList.add(info.getEntersId()); paramList.add(doc.get("uid"));
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("adam_enters.update.is_default", paramList.toArray())); SqlMapping.get("adam_enters.update.is_default", paramList.toArray()));
...@@ -168,11 +173,33 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -168,11 +173,33 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
paramList.add(info.getIsDefault()); paramList.add(info.getIsDefault());
paramList.add(info.getState()); paramList.add(info.getState());
paramList.add(info.getUpdatedAt()); paramList.add(info.getUpdatedAt());
paramList.add(info.getDeletedAt());
paramList.add(info.getEntersId()); paramList.add(info.getEntersId());
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("adam_enters.edit", paramList.toArray())); SqlMapping.get("adam_enters.edit", paramList.toArray()));
redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(info.getUid()), info.getEntersId(), BsonUtil.toBean(doc, AdamEnters.class)); redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(info.getUid()), info.getEntersId(), BsonUtil.toBean(doc, AdamEnters.class));
} }
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void remove(String uid, String entersId) {
AdamEnters oldEnters = (AdamEnters) redisUtil.hget(AdamRedisConst.INFO_ENTERS.concat(uid), entersId);
if (null == oldEnters) return;
oldEnters.setUpdatedAt(LocalDateTime.now());
oldEnters.setState(2);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(oldEnters));
UpdateResult updateResult = mongoTemplate.getCollection(AdamEnters.class.getSimpleName())
.updateOne(Query.query(Criteria.where("entersId").is(entersId)).getQueryObject(), object);
List<Object> paramList = new ArrayList<>();
paramList.add(oldEnters.getState());
paramList.add(oldEnters.getUpdatedAt());
paramList.add(oldEnters.getUpdatedAt());
paramList.add(entersId);
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("adam_enters.remove", paramList.toArray()));
redisUtil.hdel(AdamRedisConst.INFO_ENTERS.concat(uid), entersId);
}
} }
adam_enters.add=INSERT INTO adam_enters (enters_id, `uid`, `type`,`name`, mobile, id_card,is_default, `state`, created_at,updated_at, deleted_at, `comment`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) adam_enters.add=INSERT INTO adam_enters (enters_id, `uid`, `type`,`name`, mobile, id_card, is_default, `state`, created_at, updated_at, deleted_at, `comment`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
adam_enters.edit=UPDATE adam_enters `type` = ?, `name` = ?, mobile = ?, id_card = ?, is_default = ?, `state` = ?, updated_at = ? where enters_id = ? adam_enters.edit=UPDATE adam_enters SET `type`=?, `name`=?, mobile=?, id_card=?, is_default=?, `state`=?, updated_at=? where enters_id=?
adam_enters.update.is_default=UPDATE adam_enters is_default = ?, updated_at = ? where enters_id = ? adam_enters.update.is_default=UPDATE adam_enters set is_default=?, updated_at=? where enters_id=?
adam_enters.remove=UPDATE adam_enters `state` = ?, updated_at = ?, deleted_at = ? where enters_id = ? adam_enters.remove=UPDATE adam_enters SET `state`=?, updated_at=?, deleted_at=? where enters_id=?
\ No newline at end of file \ No newline at end of file
...@@ -39,24 +39,10 @@ public class ConsumerProcessor { ...@@ -39,24 +39,10 @@ public class ConsumerProcessor {
log.debug("consumer sql ==> Parameters:{}", JsonUtils.toJson(sqlMessage.getArgs())); log.debug("consumer sql ==> Parameters:{}", JsonUtils.toJson(sqlMessage.getArgs()));
try { try {
switch (sqlMessage.getExecType()) { Boolean rstBatchSqls = baseDao.batchSqls(sqlMessage.getSqls(), sqlMessage.getArgs());
case 1: log.debug("batchSqls result of execution:{}", rstBatchSqls);
int i = baseDao.insertSqlAndReturnKeyId(sqlMessage.getSqls().get(0), sqlMessage.getArgs()[0].get(0));
log.debug("insertSqlAndReturnKeyId result of execution:{}", i);
break;
case 2:
Boolean rstBatchSql = baseDao.batchSql(sqlMessage.getSqls().get(0), sqlMessage.getArgs()[0]);
log.debug("batchSql result of execution:{}", rstBatchSql);
break;
case 3:
Boolean rstBatchSqls = baseDao.batchSqls(sqlMessage.getSqls(), sqlMessage.getArgs());
log.debug("batchSqls result of execution:{}", rstBatchSqls);
break;
default:
break;
}
} catch (Exception e) { } catch (Exception e) {
log.error("error", e); log.error("error:sqlMessage:{}", JsonUtils.toJson(sqlMessage), e);
} }
} }
} }
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