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

Commit 750e9312 authored by 张国柄's avatar 张国柄

~API:加入会员同步DB数据;

parent dfce9878
......@@ -6,7 +6,10 @@ import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
import com.liquidnet.service.adam.util.QueueUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -27,6 +30,8 @@ import javax.validation.constraints.NotBlank;
@RestController
@RequestMapping("member")
public class AdamMemberController {
@Autowired
QueueUtils queueUtils;
@Autowired
AdamRdmService adamRdmService;
@Autowired
......@@ -93,7 +98,7 @@ public class AdamMemberController {
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "加入会员信息")
@ApiOperation(value = "会员卡信息")
@GetMapping("joininfo")
public ResponseDto<AdamMemberJoinusVo> joininfo() {
String currentUid = CurrentUtil.getCurrentUid();
......@@ -115,16 +120,22 @@ public class AdamMemberController {
}
@ApiOperationSupport(order = 6)
@ApiOperation(value = "加入会员")
@ApiOperation(value = "领取会员卡")
@GetMapping("joinus")
public ResponseDto<AdamMemberJoinusVo> joinus() {
AdamMemberJoinusVo joinusVo = adamRdmService.getMemberJoinusVo();
String currentUid = CurrentUtil.getCurrentUid();
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(currentUid);
if (StringUtils.startsWithIgnoreCase(userInfoVo.getQrCode(), "lN")) {// `lN`开头即未领取,这里做领取操作
final String oldQrCode = userInfoVo.getQrCode();
if (StringUtils.startsWithIgnoreCase(oldQrCode, "lN")) {// `lN`开头即未领取,这里做领取操作
userInfoVo.setQrCode(adamRdmService.generateMemberUniqueSerialNumber(userInfoVo.getMobile()));
adamRdmService.setUserInfoVoByUid(currentUid, userInfoVo);
log.info("领取会员卡[UID:{},MOBILE:{},QR_CODE:{},OLD_QR_CODE:{}]", currentUid, userInfoVo.getMobile(), userInfoVo.getQrCode(), oldQrCode);
queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UCENTER.getKey(),
SqlMapping.get("adam_user_info.update_qr_code", userInfoVo.getQrCode(), currentUid)
);
}
joinusVo.setType(10);
joinusVo.setState(1);
......
......@@ -823,13 +823,14 @@ public class AdamRdmService {
public String generateMemberUniqueSerialNumber(String mobile) {
LocalDateTime now = LocalDateTime.now();
String sn = String.format("%s%sMS%s", now.getYear(), now.getMonthValue(), mobile.substring(7)).substring(2);
Object o = redisUtil.get(AdamRedisConst.SERIAL_NUMBER_MEMBER.concat(sn.replace("MS", String.valueOf(now.getLong(ChronoField.MICRO_OF_SECOND)))));
String snT = String.format("%s%sMS%s", now.getYear(), now.getMonthValue(), mobile.substring(7)).substring(2);
String sn = snT.replace("MS", String.valueOf(now.getLong(ChronoField.MILLI_OF_SECOND)));
Object o = redisUtil.get(AdamRedisConst.SERIAL_NUMBER_MEMBER.concat(sn));
while (null != o) {
String nano = String.valueOf(System.nanoTime());
sn = AdamRedisConst.SERIAL_NUMBER_MEMBER.concat(sn.replace("MS", nano.substring(nano.length() - 3)));
o = redisUtil.get(sn);
sn = snT.replace("MS", nano.substring(nano.length() - 3));
o = redisUtil.get(AdamRedisConst.SERIAL_NUMBER_MEMBER.concat(sn));
}
redisUtil.set(sn, 1);
......
......@@ -8,6 +8,7 @@ adam_user.close=UPDATE adam_user SET `state`=2, updated_at=?, closed_at=? WHERE
adam_user_info.add=INSERT INTO adam_user_info (`uid`, nickname, avatar, qr_code) VALUES (?,?,?,?)
adam_user_info.edit=UPDATE adam_user_info SET nickname=?, sex=?, birthday=?, area=?, signature=?, avatar=?, background=?, tag_me=? WHERE uid=?
adam_user_info.update_by_member=UPDATE adam_user_info SET birthday=?, area=? WHERE uid=?
adam_user_info.update_qr_code=UPDATE adam_user_info SET qr_code=? WHERE uid=?
# ----------------------------------------------------
adam_real_name.add=INSERT INTO adam_real_name (real_name_id, `uid`, `type`, `name`, id_card, `state`, created_at) VALUES (?,?,?,?,?,?,?)
......
......@@ -13,6 +13,8 @@ public class TestAdam {
Scanner scanner = new Scanner(System.in);
int dbs = scanner.nextInt();
String[] keys = {
"adam:info:member:cardface0",
"adam:info:member:cardface10",
"adam:incr:member_no",
"adam:ad:info",
"adam:blacklist:member:uid",
......
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