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

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

fix adam sql to mq;

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