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

Commit 8fed1512 authored by 胡佳晨's avatar 胡佳晨

Merge remote-tracking branch 'origin/dev' into dev

parents e5392a82 ff2fc1f5
...@@ -15,5 +15,9 @@ ...@@ -15,5 +15,9 @@
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
...@@ -3,17 +3,11 @@ package com.liquidnet.common.cache.redis.config; ...@@ -3,17 +3,11 @@ package com.liquidnet.common.cache.redis.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import org.slf4j.Logger; import com.fasterxml.jackson.databind.SerializationFeature;
import org.slf4j.LoggerFactory; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer;
...@@ -25,23 +19,27 @@ import org.springframework.data.redis.serializer.StringRedisSerializer; ...@@ -25,23 +19,27 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
public class RedisCacheConfig{ public class RedisCacheConfig{
@Bean @Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) { public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> template = new RedisTemplate<String, Object>(); RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
template.setConnectionFactory(factory); redisTemplate.setConnectionFactory(factory);
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
Jackson2JsonRedisSerializer j2jrs = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper(); ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); om.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
jackson2JsonRedisSerializer.setObjectMapper(om); om.registerModule(new JavaTimeModule());
om.activateDefaultTyping(om.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL);
j2jrs.setObjectMapper(om);
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
// key采用String的序列化方式 // key采用String的序列化方式
template.setKeySerializer(stringRedisSerializer); redisTemplate.setKeySerializer(stringRedisSerializer);
// hash的key也采用String的序列化方式 // hash的key也采用String的序列化方式
template.setHashKeySerializer(stringRedisSerializer); redisTemplate.setHashKeySerializer(stringRedisSerializer);
// value序列化方式采用jackson // value序列化方式采用jackson
template.setValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setValueSerializer(j2jrs);
// hash的value序列化方式采用jackson // hash的value序列化方式采用jackson
template.setHashValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setHashValueSerializer(j2jrs);
template.afterPropertiesSet(); redisTemplate.afterPropertiesSet();
return template; return redisTemplate;
} }
} }
...@@ -12,8 +12,8 @@ liquidnet: ...@@ -12,8 +12,8 @@ liquidnet:
rabbitmq: rabbitmq:
host: 172.16.2.15 host: 172.16.2.15
port: 5672 port: 5672
username: bingbing username: admin
password: 123456 password: admin
knife4j: knife4j:
disable: false disable: false
redis: redis:
......
...@@ -8,14 +8,16 @@ import lombok.Data; ...@@ -8,14 +8,16 @@ import lombok.Data;
@Data @Data
public class AdamEntersParam implements java.io.Serializable { public class AdamEntersParam implements java.io.Serializable {
private static final long serialVersionUID = 5940725094369061032L; private static final long serialVersionUID = 5940725094369061032L;
@ApiModelProperty(position = 10, required = true, value = "入场人名称[50]", example = "Swagger") @ApiModelProperty(position = 10, required = false, value = "入场人ID[50]")
private String entersId;
@ApiModelProperty(position = 11, required = true, value = "入场人名称[50]", example = "Swagger")
private String name; private String name;
@ApiModelProperty(position = 11, required = true, value = "入场人手机号[11]", example = "13100000000") @ApiModelProperty(position = 12, required = true, value = "入场人手机号[11]", example = "13100000000")
private String mobile; private String mobile;
@ApiModelProperty(position = 12, required = true, value = "证件类型:1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证", allowableValues = "1,2,3,4,5") @ApiModelProperty(position = 13, required = true, value = "证件类型:1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证", allowableValues = "1,2,3,4,5")
private Integer type; private Integer type;
@ApiModelProperty(position = 13, required = true, value = "入场人证件号[11]", example = "110101110001010111") @ApiModelProperty(position = 14, required = true, value = "入场人证件号[11]", example = "110101110001010111")
private String idCard; private String idCard;
@ApiModelProperty(position = 14, required = true, value = "是否是默认入场人:0-否,1-是", allowableValues = "0,1") @ApiModelProperty(position = 15, required = true, value = "是否是默认入场人:0-否,1-是", allowableValues = "0,1")
private Boolean isDefault; private Boolean isDefault;
} }
package com.liquidnet.service.adam.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "AdamEntersParam", description = "添加入场人参数")
@Data
public class AdamEntersResult implements java.io.Serializable {
private static final long serialVersionUID = 5940725094369061032L;
@ApiModelProperty(position = 10, required = true, value = "入场人名称[50]", example = "Swagger")
private String name;
@ApiModelProperty(position = 11, required = true, value = "入场人手机号[11]", example = "13100000000")
private String mobile;
@ApiModelProperty(position = 12, required = true, value = "证件类型:1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证", allowableValues = "1,2,3,4,5")
private Integer type;
@ApiModelProperty(position = 13, required = true, value = "入场人证件号[11]", example = "110101110001010111")
private String idCard;
@ApiModelProperty(position = 14, required = true, value = "是否是默认入场人:0-否,1-是", allowableValues = "0,1")
private Boolean isDefault;
}
package com.liquidnet.service.adam.dto.vo; package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.service.adam.entity.AdamEnters;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ApiModel(value = "AdamEntersVo", description = "入场人") @ApiModel(value = "AdamEntersVo", description = "入场人")
@Data @Data
public class AdamEntersVo implements java.io.Serializable { public class AdamEntersVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = 5258094625450569125L; private static final long serialVersionUID = 5258094625450569125L;
@ApiModelProperty(position = 10, value = "入场人名称[50]") @ApiModelProperty(position = 10, value = "入场人名称[50]")
private String name; private String name;
...@@ -18,4 +19,24 @@ public class AdamEntersVo implements java.io.Serializable { ...@@ -18,4 +19,24 @@ public class AdamEntersVo implements java.io.Serializable {
private String idCard; private String idCard;
@ApiModelProperty(position = 14, value = "是否是默认入场人:0-否,1-是") @ApiModelProperty(position = 14, value = "是否是默认入场人:0-否,1-是")
private Boolean isDefault; private Boolean isDefault;
private static final AdamEntersVo obj = new AdamEntersVo();
public static AdamEntersVo getNew() {
try {
return (AdamEntersVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new AdamEntersVo();
}
public AdamEntersVo copy(AdamEnters source) {
this.setName(source.getName());
this.setIdCard(source.getIdCard());
this.setMobile(source.getMobile());
this.setType(source.getType());
this.setIsDefault(source.getIsDefault());
return this;
}
} }
package com.liquidnet.service.adam.service; package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.entity.AdamEnters; import com.liquidnet.service.adam.entity.AdamEnters;
import java.util.List; import java.util.List;
...@@ -15,9 +14,11 @@ import java.util.List; ...@@ -15,9 +14,11 @@ import java.util.List;
* @since 2021-04-28 * @since 2021-04-28
*/ */
public interface IAdamEntersService extends IService<AdamEnters> { public interface IAdamEntersService extends IService<AdamEnters> {
List<AdamEntersVo> list(String uid); List<AdamEnters> list(String uid);
boolean add(AdamEnters info); void add(AdamEnters info);
AdamEnters query(String entersId); AdamEnters query(String uid, String entersId);
void edit(AdamEnters info);
} }
...@@ -122,21 +122,25 @@ create index idx_adam_enters_uid on adam_enters (uid); ...@@ -122,21 +122,25 @@ create index idx_adam_enters_uid on adam_enters (uid);
drop table if exists adam_addresses; drop table if exists adam_addresses;
create table adam_addresses create table adam_addresses
( (
mid int unsigned auto_increment not null primary key, mid int unsigned auto_increment not null primary key,
# `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id关联', # `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id关联',
# `string_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '用户StringID', # `string_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '用户StringID',
uid varchar(64) not null, addresses_id varchar(64) not null,
name varchar(255) not null comment '姓名', uid varchar(64) not null,
phone varchar(255) not null comment '手机号', name varchar(255) not null comment '姓名',
province varchar(255) not null comment '省份', phone varchar(255) not null comment '手机号',
city varchar(255) not null comment '城市', province varchar(255) not null comment '省份',
county varchar(255) not null comment '区县', city varchar(255) not null comment '城市',
address varchar(255) not null comment '详细地址', county varchar(255) not null comment '区县',
is_default tinyint not null default 0 comment '0-非默认,1-默认', address varchar(255) not null comment '详细地址',
created_at datetime not null, is_default tinyint not null default 0 comment '0-非默认,1-默认',
updated_at datetime, created_at datetime not null,
deleted_at datetime updated_at datetime,
deleted_at datetime,
comment text
) engine = InnoDB comment '收货地址'; ) engine = InnoDB comment '收货地址';
create unique index uidx_adam_addresses_id on adam_addresses (addresses_id);
create index idx_adam_addresses_uid on adam_addresses (uid); create index idx_adam_addresses_uid on adam_addresses (uid);
-- >>------------------------------------------------------------------------------------ -- >>------------------------------------------------------------------------------------
drop table if exists adam_feedback; drop table if exists adam_feedback;
......
...@@ -29,36 +29,17 @@ import java.net.UnknownHostException; ...@@ -29,36 +29,17 @@ import java.net.UnknownHostException;
import java.util.Arrays; import java.util.Arrays;
@Slf4j @Slf4j
@SpringBootApplication(scanBasePackages = {"com.liquidnet"})
@EnableEurekaClient
@EnableFeignClients @EnableFeignClients
@EnableCircuitBreaker
@EnableScheduling
@EnableAsync
@MapperScan(basePackages = "com.liquidnet.service.adam.mapper") @MapperScan(basePackages = "com.liquidnet.service.adam.mapper")
@EnableTransactionManagement @SpringBootApplication(scanBasePackages = {"com.liquidnet"})
@EnableConfigurationProperties public class ServiceAdamApplication implements CommandLineRunner {
@EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true)
public class ServiceAdamApplication implements TransactionManagementConfigurer, CommandLineRunner {
@Autowired
private DataSource dataSource;
@Autowired @Autowired
private Environment environment; private Environment environment;
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(ServiceAdamApplication.class, args); SpringApplication.run(ServiceAdamApplication.class, args);
} }
@Override
public PlatformTransactionManager annotationDrivenTransactionManager() {
log.info("配置事务管理###########################");
return new DataSourceTransactionManager(dataSource);
}
@Override @Override
public void run(String... strings) throws Exception { public void run(String... strings) throws Exception {
try { try {
......
package com.liquidnet.service.adam.constant;
/**
* @author Li Chen
* @date 2020-11-04 14:02
*/
public class AdamRedisConst {
public static final String ADAM = "adam";
public static final String INFO_ENTERS = ADAM.concat(":list:enters:");
// public static final String USER_CONFIRM_SMS_CODE_KEY = ADAM + ":user:sms_confirm:";
//
// public static final String USER_EMAIL_CONFIRM_KEY = ADAM + ":user:email:confirm:";
//
// public static final String USER_EMAIL_UPDATE_KEY = ADAM + ":user:email:update:";
//
// public static final String USER_PASSWORD_FORGET_KEY = ADAM + ":user:password:forget:";
//
// public static final String USER_PASSWORD_ERROR_KEY = ADAM + ":user:password:error:";
//
// public static final String CONVERSION_SEND_CONFIRM_KEY = ADAM + ":conversion:send_confirm:";
//
// public static final String WALLET_LOCK = ADAM + "_wallet_lock_";
//
// public static final String FUNDING_LOCK = ADAM + "_funding_lock_";
//
// public static final String PAYOUT_LOCK = ADAM + "_payout_lock_";
//
// public static final String USER_LOGIN_TIME_OUT_KEY = ADAM + ":user:login:timeout:";
//
// public static final String USER_LOGIN_TOKEN_ITEM_EMAIL_CHANGE = "emailChangeFlag";
//
// public static final String USER_LOGIN_KEY = ADAM + ":user:login:";
//
// public static final String USER_LOGIN_ITEM_TOKEN = "token";
//
// public static final String USER_LOGIN_ITEM_PERMIT = "permit";
}
...@@ -4,23 +4,21 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; ...@@ -4,23 +4,21 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.ResponseDto; import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.adam.dto.AdamEntersParam; import com.liquidnet.service.adam.dto.AdamEntersParam;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.entity.AdamEnters; import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.service.IAdamEntersService; import com.liquidnet.service.adam.service.IAdamEntersService;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
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;
import org.springframework.amqp.AmqpException; import org.springframework.amqp.AmqpException;
import org.springframework.amqp.core.AmqpTemplate; import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/** /**
* <p> * <p>
...@@ -55,39 +53,67 @@ public class AdamEntersController { ...@@ -55,39 +53,67 @@ public class AdamEntersController {
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "入场人列表") @ApiOperation(value = "入场人列表")
@PostMapping("list") @PostMapping("list")
public ResponseDto<AdamEntersVo> list() { public ResponseDto<List<AdamEntersVo>> list() {
// TODO: 2021/4/29 获取登录用户ID // TODO: 2021/4/29 获取登录UID
String uid = "1"; String uid = "1";
List<AdamEntersVo> voList = new ArrayList<>();
adamEntersService.list(uid).forEach(i -> {
voList.add(AdamEntersVo.getNew().copy(i));
});
return null; return ResponseDto.success(voList);
} }
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 2)
@ApiOperation(value = "添加入场人") @ApiOperation(value = "添加入场人")
@PostMapping("add") @PostMapping("add")
public ResponseDto<Object> add(@RequestBody AdamEntersParam parameter) { public ResponseDto<Object> add(@RequestBody AdamEntersParam parameter) {
// TODO: 2021/4/28 数据校验,身份认证 // TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1";
AdamEnters addInfo = new AdamEnters(); AdamEnters addInfo = new AdamEnters();
BeanUtils.copyProperties(parameter, addInfo); BeanUtils.copyProperties(parameter, addInfo);
addInfo.setUid(uid);
addInfo.setEntersId(String.valueOf(IDGenerator.nextSnowId())); addInfo.setEntersId(String.valueOf(IDGenerator.nextSnowId()));
addInfo.setCreatedAt(LocalDateTime.now()); addInfo.setCreatedAt(LocalDateTime.now());
addInfo.setState(1); addInfo.setState(1);
adamEntersService.add(addInfo);
return adamEntersService.add(addInfo) ? ResponseDto.success() : ResponseDto.failure(); return ResponseDto.success();
} }
@ApiOperationSupport(order = 3) @ApiOperationSupport(order = 3)
@ApiOperation(value = "入场人详情") @ApiOperation(value = "入场人详情")
@PostMapping("query/{id}") @PostMapping("query/{id}")
public ResponseDto<Object> query(@PathVariable(name = "id") String entersId) { public ResponseDto<AdamEntersVo> query(@PathVariable(name = "id") String entersId) {
// TODO: 2021/4/28 校验 // TODO: 2021/4/28 校验、获取登录UID
String uid = "1";
AdamEnters info = adamEntersService.query(uid, entersId);
return ResponseDto.success(adamEntersService.query(entersId)); return ResponseDto.success(AdamEntersVo.getNew().copy(info));
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "入场人编辑")
@PostMapping("edit")
public ResponseDto<Object> edit(@RequestBody AdamEntersParam parameter) {
// TODO: 2021/4/28 校验、获取登录UID
String uid = "1";
AdamEnters updateInfo = new AdamEnters();
BeanUtils.copyProperties(parameter, updateInfo);
updateInfo.setUpdatedAt(LocalDateTime.now());
updateInfo.setUid(uid);
updateInfo.setState(1);
adamEntersService.edit(updateInfo);
return ResponseDto.success();
} }
} }
package com.liquidnet.service.adam.service.impl; package com.liquidnet.service.adam.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst; import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.entity.AdamEnters; import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.mapper.AdamEntersMapper; import com.liquidnet.service.adam.mapper.AdamEntersMapper;
import com.liquidnet.service.adam.service.IAdamEntersService; import com.liquidnet.service.adam.service.IAdamEntersService;
import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Collection; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
...@@ -26,46 +30,68 @@ import java.util.List; ...@@ -26,46 +30,68 @@ import java.util.List;
* @author liquidnet * @author liquidnet
* @since 2021-04-28 * @since 2021-04-28
*/ */
@Slf4j
@Service @Service
public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnters> implements IAdamEntersService { public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnters> implements IAdamEntersService {
@Autowired
AdamEntersMapper adamEntersMapper;
@Autowired @Autowired
MongoTemplate mongoTemplate; MongoTemplate mongoTemplate;
@Autowired @Autowired
RedisUtil redisUtil; RedisUtil redisUtil;
@Override @Override
public List<AdamEntersVo> list(String uid) { public List<AdamEnters> list(String uid) {
List<AdamEntersVo> voList = null; List<AdamEnters> infoList = new ArrayList<>();
voList = (List<AdamEntersVo>) redisUtil.hget(AdamRedisConst.INFO_ENTERS, uid); Map<Object, Object> map = redisUtil.hmget(AdamRedisConst.INFO_ENTERS.concat(uid));
// mongoTemplate.find(Query.query(Criteria.where())) if (CollectionUtils.isEmpty(map)) {
infoList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid)), AdamEnters.class, AdamEnters.class.getSimpleName());
} else {
for (Object o : map.values()) {
infoList.add((AdamEnters) o);
}
}
return voList; return infoList;
} }
@Override @Override
public boolean add(AdamEnters info) { public void add(AdamEnters info) {
// TODO: 2021/4/28 同步REDIS mongoTemplate.insert(Collections.singletonList(info), AdamEnters.class.getSimpleName());
Collection<AdamEnters> insertRst = mongoTemplate.insert(Collections.singletonList(info), AdamEnters.class.getSimpleName());
// TODO: 2021/4/28 放入MQ // TODO: 2021/4/28 放入MQ
return true; // TODO: 2021/4/28 同步REDIS
redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(info.getUid()), info.getEntersId(), info);
} }
@Override @Override
public AdamEnters query(String entersId) { public AdamEnters query(String uid, String entersId) {
AdamEnters info = null; AdamEnters info = null;
// TODO: 2021/4/28 REDIS:QUERY // TODO: 2021/4/28 REDIS:QUERY
info = (AdamEnters) redisUtil.hget(AdamRedisConst.INFO_ENTERS.concat(uid), entersId);
if (null == info) {
info = mongoTemplate.findOne(Query.query(Criteria.where("entersId").is(entersId)), AdamEnters.class, AdamEnters.class.getSimpleName()); info = mongoTemplate.findOne(Query.query(Criteria.where("entersId").is(entersId)), AdamEnters.class, AdamEnters.class.getSimpleName());
}
return info; return info;
} }
@Override
public void edit(AdamEnters info) {
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(info)));
mongoTemplate.getCollection(AdamEnters.class.getSimpleName())
.updateOne(Query.query(Criteria.where("entersId").is(info.getEntersId())).getQueryObject(), object);
// TODO: 2021/4/28 放入MQ
// TODO: 2021/4/28 同步REDIS
redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(info.getUid()), info.getEntersId(), info);
}
} }
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