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

Commit 77ef0d62 authored by 张国柄's avatar 张国柄

补充入场人逻辑

parent 7e481444
......@@ -12,8 +12,8 @@ liquidnet:
rabbitmq:
host: 172.16.2.15
port: 5672
username: bingbing
password: 123456
username: admin
password: admin
knife4j:
disable: false
redis:
......
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;
import com.liquidnet.service.adam.entity.AdamEnters;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "AdamEntersVo", description = "入场人")
@Data
public class AdamEntersVo implements java.io.Serializable {
public class AdamEntersVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = 5258094625450569125L;
@ApiModelProperty(position = 10, value = "入场人名称[50]")
private String name;
......@@ -18,4 +19,19 @@ public class AdamEntersVo implements java.io.Serializable {
private String idCard;
@ApiModelProperty(position = 14, value = "是否是默认入场人:0-否,1-是")
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) {
return this;
}
}
......@@ -19,5 +19,5 @@ public interface IAdamEntersService extends IService<AdamEnters> {
boolean add(AdamEnters info);
AdamEnters query(String entersId);
AdamEnters query(String uid, String entersId);
}
......@@ -125,6 +125,7 @@ create table adam_addresses
mid int unsigned auto_increment not null primary key,
# `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',
addresses_id varchar(64) not null,
uid varchar(64) not null,
name varchar(255) not null comment '姓名',
phone varchar(255) not null comment '手机号',
......@@ -135,8 +136,11 @@ create table adam_addresses
is_default tinyint not null default 0 comment '0-非默认,1-默认',
created_at datetime not null,
updated_at datetime,
deleted_at datetime
deleted_at datetime,
comment text
) 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);
-- >>------------------------------------------------------------------------------------
drop table if exists adam_feedback;
......
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,20 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.ResponseDto;
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.service.IAdamEntersService;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.AmqpException;
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.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
......@@ -55,25 +52,28 @@ public class AdamEntersController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "入场人列表")
@PostMapping("list")
public ResponseDto<AdamEntersVo> list() {
// TODO: 2021/4/29 获取登录用户ID
public ResponseDto<List<AdamEntersVo>> list() {
// TODO: 2021/4/29 获取登录UID
String uid = "1";
List<AdamEntersVo> list = adamEntersService.list(uid);
return null;
return ResponseDto.success(list);
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "添加入场人")
@PostMapping("add")
public ResponseDto<Object> add(@RequestBody AdamEntersParam parameter) {
// TODO: 2021/4/28 数据校验,身份认证
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1";
AdamEnters addInfo = new AdamEnters();
BeanUtils.copyProperties(parameter, addInfo);
addInfo.setUid(uid);
addInfo.setEntersId(String.valueOf(IDGenerator.nextSnowId()));
addInfo.setCreatedAt(LocalDateTime.now());
addInfo.setState(1);
......@@ -85,9 +85,12 @@ public class AdamEntersController {
@ApiOperationSupport(order = 3)
@ApiOperation(value = "入场人详情")
@PostMapping("query/{id}")
public ResponseDto<Object> query(@PathVariable(name = "id") String entersId) {
// TODO: 2021/4/28 校验
public ResponseDto<AdamEntersVo> query(@PathVariable(name = "id") String entersId) {
// 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));
}
}
......@@ -7,16 +7,18 @@ import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.mapper.AdamEntersMapper;
import com.liquidnet.service.adam.service.IAdamEntersService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.redis.core.RedisTemplate;
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.List;
import java.util.Map;
/**
* <p>
......@@ -26,8 +28,11 @@ import java.util.List;
* @author liquidnet
* @since 2021-04-28
*/
@Slf4j
@Service
public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnters> implements IAdamEntersService {
@Autowired
AdamEntersMapper adamEntersMapper;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
......@@ -35,36 +40,46 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
@Override
public List<AdamEntersVo> list(String uid) {
List<AdamEntersVo> voList = null;
List<AdamEntersVo> voList = new ArrayList<>();
Map<Object, Object> map = redisUtil.hmget(AdamRedisConst.INFO_ENTERS.concat(uid));
voList = (List<AdamEntersVo>) redisUtil.hget(AdamRedisConst.INFO_ENTERS, uid);
if (CollectionUtils.isEmpty(map)) {
List<AdamEnters> infoList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid)), AdamEnters.class, AdamEnters.class.getSimpleName());
// mongoTemplate.find(Query.query(Criteria.where()))
infoList.forEach(i -> {
voList.add(AdamEntersVo.getNew().copy(i));
});
} else {
}
return voList;
}
@Override
public boolean add(AdamEnters info) {
// TODO: 2021/4/28 同步REDIS
Collection<AdamEnters> insertRst = mongoTemplate.insert(Collections.singletonList(info), AdamEnters.class.getSimpleName());
mongoTemplate.insert(Collections.singletonList(info), AdamEnters.class.getSimpleName());
// TODO: 2021/4/28 放入MQ
// TODO: 2021/4/28 同步REDIS
boolean hset = redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(info.getUid()), info.getEntersId(), info);
log.info("add sync redis result:{}", hset);
return true;
}
@Override
public AdamEnters query(String entersId) {
public AdamEnters query(String uid, String entersId) {
AdamEnters info = null;
// 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());
}
return 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