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

Commit 30399ccf authored by 张国柄's avatar 张国柄

+TAG +IM;

parent 55ea34f7
......@@ -6,7 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.List;
@ApiModel(value = "AdamTagParentVo", description = "父级标签库")
@ApiModel(value = "AdamTagParentVo", description = "标签库")
public class AdamTagParentVo implements Serializable, Cloneable {
private static final long serialVersionUID = -7965840594354555093L;
@ApiModelProperty(position = 11, value = "标签Key")
......@@ -14,7 +14,7 @@ public class AdamTagParentVo implements Serializable, Cloneable {
@ApiModelProperty(position = 12, value = "标签名称")
private String desc;
@ApiModelProperty(position = 13, value = "子标签列表")
private List<AdamTagVo> tagVos;
private List<AdamTagParentVo> tagVos;
private static final AdamTagParentVo obj = new AdamTagParentVo();
......@@ -22,9 +22,8 @@ public class AdamTagParentVo implements Serializable, Cloneable {
try {
return (AdamTagParentVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
return new AdamTagParentVo();
}
return new AdamTagParentVo();
}
public String getVal() {
......@@ -45,11 +44,11 @@ public class AdamTagParentVo implements Serializable, Cloneable {
return this;
}
public List<AdamTagVo> getTagVos() {
public List<AdamTagParentVo> getTagVos() {
return tagVos;
}
public AdamTagParentVo setTagVos(List<AdamTagVo> tagVos) {
public AdamTagParentVo setTagVos(List<AdamTagParentVo> tagVos) {
this.tagVos = tagVos;
return this;
}
......
......@@ -54,7 +54,7 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
@ApiModelProperty(position = 25, value = "注销时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime closedAt;
@ApiModelProperty(position = 26, value = "完善信息进度[0-未完善,1-已完善]")
@ApiModelProperty(position = 26, value = "完善信息进度[0-未完善,1-已完善,11-已完善且注册IM]")
private Integer isComplete;
@ApiModelProperty(position = 27, value = "")
private String rongCloudToken;
......
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.dto.AdamUserInfoParam;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.base.ResponseDto;
/**
* <p>
......@@ -12,7 +14,7 @@ import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
*/
public interface IAdamUserInfoService {
void edit(AdamUserInfoVo userInfoVo);
ResponseDto<AdamUserInfoVo> edit(AdamUserInfoParam parameter);
String editMobile(String uid, String mobile);
}
package com.liquidnet.service.adam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 用户业务服务账号表
* </p>
*
* @author liquidnet
* @since 2021-09-17
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamUserBusiAcct implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
private String uid;
/**
* 业务服务平台
*/
private String busi;
/**
* 业务服务ID
*/
private String uuid;
/**
* 业务服务模块
*/
private String work;
/**
* 业务服务密码
*/
private String ppwd;
/**
* 1-NORMAL,2-INVALID
*/
private Integer state;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private String comment;
}
package com.liquidnet.service.adam.mapper;
import com.liquidnet.service.adam.entity.AdamUserBusiAcct;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 用户业务服务账号表 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-09-17
*/
public interface AdamUserBusiAcctMapper extends BaseMapper<AdamUserBusiAcct> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.adam.mapper.AdamUserBusiAcctMapper">
</mapper>
......@@ -121,27 +121,29 @@ public class AdamUserController {
// existParentVo.setTagVos(existTagVos);
// tagMeVoList.add(existParentVo);
// }
String currentUid = CurrentUtil.getCurrentUid();
AdamUserInfoVo editVo = adamRdmService.getUserInfoVoByUid(currentUid);
// editVo.setAvatar(parameter.getAvatar());
// editVo.setBackground(parameter.getBackground());
// editVo.setNickname(parameter.getNickname());
editVo.setAvatar(StringUtils.isEmpty(editVo.getAvatar()) ? AdamConst.DEF_URL_AVATAR : editVo.getAvatar());
editVo.setBackground(StringUtils.isEmpty(editVo.getBackground()) ? AdamConst.DEF_URL_BACKGROUND : editVo.getBackground());
editVo.setNickname(editVo.getNickname());
editVo.setSex(sex);
editVo.setBirthday(parameter.getBirthday());
editVo.setArea(parameter.getArea());
// editVo.setSignature(parameter.getSignature());
editVo.setSignature(editVo.getSignature());
// editVo.setTagMe(tagMeVoList);
editVo.setUpdatedAt(LocalDateTime.now());
editVo.setIsComplete(1);
adamUserInfoService.edit(editVo);
// editVo.setMobile(SensitizeUtil.custom(editVo.getMobile(), 3, 4));
return ResponseDto.success(editVo.desensitize(reviewUserInfo));
// String currentUid = CurrentUtil.getCurrentUid();
//
// AdamUserInfoVo editVo = adamRdmService.getUserInfoVoByUid(currentUid);
//// editVo.setAvatar(parameter.getAvatar());
//// editVo.setBackground(parameter.getBackground());
//// editVo.setNickname(parameter.getNickname());
// editVo.setAvatar(StringUtils.isEmpty(editVo.getAvatar()) ? AdamConst.DEF_URL_AVATAR : editVo.getAvatar());
// editVo.setBackground(StringUtils.isEmpty(editVo.getBackground()) ? AdamConst.DEF_URL_BACKGROUND : editVo.getBackground());
// editVo.setNickname(editVo.getNickname());
// editVo.setSex(sex);
// editVo.setBirthday(parameter.getBirthday());
// editVo.setArea(parameter.getArea());
//// editVo.setSignature(parameter.getSignature());
// editVo.setSignature(editVo.getSignature());
//// editVo.setTagMe(tagMeVoList);
// editVo.setUpdatedAt(LocalDateTime.now());
// editVo.setIsComplete(1);
//
// adamUserInfoService.edit(editVo);
//// editVo.setMobile(SensitizeUtil.custom(editVo.getMobile(), 3, 4));
// return ResponseDto.success(editVo.desensitize(reviewUserInfo));
parameter.setSex(sex);
return adamUserInfoService.edit(parameter);
}
@ApiOperationSupport(order = 2)
......@@ -152,16 +154,16 @@ public class AdamUserController {
if (CollectionUtils.isEmpty(tagsForMusic)) {
tagsForMusic = ObjectUtil.getAdamTagParentVoArrayList();
tagsForMusic.add(AdamTagParentVo.getNew().setVal("MMS01").setDesc("民歌").setTagVos(Arrays.asList(
AdamTagVo.getNew().setVal("MMS0101").setDesc("A"),
AdamTagVo.getNew().setVal("MMS0102").setDesc("B")
AdamTagParentVo.getNew().setVal("MMS0101").setDesc("A"),
AdamTagParentVo.getNew().setVal("MMS0102").setDesc("B")
)));
tagsForMusic.add(AdamTagParentVo.getNew().setVal("MMS02").setDesc("house").setTagVos(Arrays.asList(
AdamTagVo.getNew().setVal("MMS0201").setDesc("C"),
AdamTagVo.getNew().setVal("MMS0202").setDesc("D")
AdamTagParentVo.getNew().setVal("MMS0201").setDesc("C"),
AdamTagParentVo.getNew().setVal("MMS0202").setDesc("D")
)));
tagsForMusic.add(AdamTagParentVo.getNew().setVal("MMS03").setDesc("R&B").setTagVos(Arrays.asList(
AdamTagVo.getNew().setVal("MMS0301").setDesc("E"),
AdamTagVo.getNew().setVal("MMS0302").setDesc("F")
AdamTagParentVo.getNew().setVal("MMS0301").setDesc("E"),
AdamTagParentVo.getNew().setVal("MMS0302").setDesc("F")
)));
adamRdmService.setTagsForMusic(tagsForMusic);
......
package com.liquidnet.service.adam.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.common.third.easemob.util.EasemobUtil;
import com.liquidnet.commons.lang.core.JwtValidator;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.adam.constant.AdamConst;
import com.liquidnet.service.adam.dto.AdamUserInfoParam;
import com.liquidnet.service.adam.dto.vo.AdamTagParentVo;
import com.liquidnet.service.adam.dto.vo.AdamTagVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserInfoService;
import com.liquidnet.service.adam.util.QueueUtils;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
/**
......@@ -40,14 +52,93 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
RedisUtil redisUtil;
@Autowired
JwtValidator jwtValidator;
@Autowired
private EasemobUtil easemobUtil;
@Value("${liquidnet.reviewer.user-info}")
private Boolean reviewUserInfo;
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamUserInfoVo userInfoVo) {
public ResponseDto<AdamUserInfoVo> edit(AdamUserInfoParam parameter) {
String currentUid = CurrentUtil.getCurrentUid();
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(currentUid);
List<AdamTagParentVo> tagMe = parameter.getTagMe();
String ppwd = "138CEF91A62088BD3EF329FA3A6176CB18A",
uuid = null, type = null, created = null, modified = null;
boolean syncChimeFlg = false;// 标识是否需要同步`service-chime`
if (!CollectionUtil.isEmpty(tagMe)) {// 标签不为空则注册或更新IM
String nickname = parameter.getNickname();
boolean syncIMNicknameFlg = null != nickname && !nickname.equals(userInfoVo.getNickname());
Integer voIsComplete = userInfoVo.getIsComplete();
int isComplete = voIsComplete == 0 ? 1 : voIsComplete;
if (isComplete == 1) {// 注册IM
JSONObject jsonObject = null;
try {
// 138cef91a62088bd3ef329fa3a6176cb18a > 138CEF91A62088BD3EF329FA3A6176CB18A > IM@zhengzai
String result = easemobUtil.createUser(userInfoVo.getUid(), ppwd, userInfoVo.getNickname());
jsonObject = JSONObject.parseObject(result);
} catch (Exception e) {
log.error("###编辑资料:注册IM异常[uid:{},mobile:{}]", userInfoVo.getUid(), userInfoVo.getMobile());
}
if (null == jsonObject) {
return ResponseDto.failure(ErrorMapping.get("10014"));
}
if (StringUtil.isNotNull(jsonObject.get("error"))) {
return ResponseDto.failure(ErrorMapping.get("10014"));
}
if (jsonObject.getBooleanValue("activated")) {
isComplete = 11;
type = jsonObject.getString("type");
uuid = jsonObject.getString("uuid");
created = jsonObject.getString(created);
modified = jsonObject.getString("modified");
}
} else if (syncIMNicknameFlg && isComplete == 11) {// 同步IM信息
// TODO: 2021/9/17 暂未接入
}
userInfoVo.setIsComplete(isComplete);
syncChimeFlg = true;
} else {
tagMe = userInfoVo.getTagMe();
}
AdamTagVo sex = parameter.getSex();
syncChimeFlg = syncChimeFlg || !userInfoVo.getSex().getVal().equals(sex.getVal());
if (syncChimeFlg) {// 同步`service-chime`
}
// userInfoVo.setAvatar(parameter.getAvatar());
// userInfoVo.setBackground(parameter.getBackground());
// userInfoVo.setNickname(parameter.getNickname());
userInfoVo.setAvatar(StringUtils.isEmpty(userInfoVo.getAvatar()) ? AdamConst.DEF_URL_AVATAR : userInfoVo.getAvatar());
userInfoVo.setBackground(StringUtils.isEmpty(userInfoVo.getBackground()) ? AdamConst.DEF_URL_BACKGROUND : userInfoVo.getBackground());
userInfoVo.setNickname(userInfoVo.getNickname());
userInfoVo.setSex(sex);
userInfoVo.setBirthday(parameter.getBirthday());
userInfoVo.setArea(parameter.getArea());
// userInfoVo.setSignature(parameter.getSignature());
userInfoVo.setSignature(userInfoVo.getSignature());
userInfoVo.setTagMe(tagMe);
userInfoVo.setUpdatedAt(LocalDateTime.now());
// userInfoVo.setIsComplete(1);
long s = System.currentTimeMillis();
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> updateUserObjs = CollectionUtil.linkedListObjectArr(),
updateUserInfoObjs = CollectionUtil.linkedListObjectArr();
......@@ -58,13 +149,13 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
toMqSqls.add(SqlMapping.get("adam_user_info.edit"));
updateUserInfoObjs.add(new Object[]{
userInfoVo.getNickname(),
JsonUtils.toJson(userInfoVo.getSex()),
JsonUtils.toJson(sex),
userInfoVo.getBirthday(),
userInfoVo.getArea(),
userInfoVo.getSignature(),
userInfoVo.getAvatar(),
userInfoVo.getBackground(),
JsonUtils.toJson(userInfoVo.getTagMe()),
JsonUtils.toJson(tagMe),
userInfoVo.getUid()}
);
log.debug("#SQL.GET耗时:{}ms", System.currentTimeMillis() - s);
......@@ -74,6 +165,8 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
SqlMapping.gets(toMqSqls, updateUserObjs, updateUserInfoObjs)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
return ResponseDto.success(userInfoVo.desensitize(reviewUserInfo));
}
@Override
......
......@@ -17,7 +17,7 @@
10011=性别标签无效
10012=音乐风格标签无效
10013=账号与密码不匹配
10014=
10014=编辑无效
10015=入场人ID不能为空
10016=收货地址ID不能为空
10017=入场人不存在,请核实
......
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