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

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

+TAG +IM;

parent 55ea34f7
...@@ -6,7 +6,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -6,7 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
@ApiModel(value = "AdamTagParentVo", description = "父级标签库") @ApiModel(value = "AdamTagParentVo", description = "标签库")
public class AdamTagParentVo implements Serializable, Cloneable { public class AdamTagParentVo implements Serializable, Cloneable {
private static final long serialVersionUID = -7965840594354555093L; private static final long serialVersionUID = -7965840594354555093L;
@ApiModelProperty(position = 11, value = "标签Key") @ApiModelProperty(position = 11, value = "标签Key")
...@@ -14,7 +14,7 @@ public class AdamTagParentVo implements Serializable, Cloneable { ...@@ -14,7 +14,7 @@ public class AdamTagParentVo implements Serializable, Cloneable {
@ApiModelProperty(position = 12, value = "标签名称") @ApiModelProperty(position = 12, value = "标签名称")
private String desc; private String desc;
@ApiModelProperty(position = 13, value = "子标签列表") @ApiModelProperty(position = 13, value = "子标签列表")
private List<AdamTagVo> tagVos; private List<AdamTagParentVo> tagVos;
private static final AdamTagParentVo obj = new AdamTagParentVo(); private static final AdamTagParentVo obj = new AdamTagParentVo();
...@@ -22,9 +22,8 @@ public class AdamTagParentVo implements Serializable, Cloneable { ...@@ -22,9 +22,8 @@ public class AdamTagParentVo implements Serializable, Cloneable {
try { try {
return (AdamTagParentVo) obj.clone(); return (AdamTagParentVo) obj.clone();
} catch (CloneNotSupportedException e) { } catch (CloneNotSupportedException e) {
e.printStackTrace(); return new AdamTagParentVo();
} }
return new AdamTagParentVo();
} }
public String getVal() { public String getVal() {
...@@ -45,11 +44,11 @@ public class AdamTagParentVo implements Serializable, Cloneable { ...@@ -45,11 +44,11 @@ public class AdamTagParentVo implements Serializable, Cloneable {
return this; return this;
} }
public List<AdamTagVo> getTagVos() { public List<AdamTagParentVo> getTagVos() {
return tagVos; return tagVos;
} }
public AdamTagParentVo setTagVos(List<AdamTagVo> tagVos) { public AdamTagParentVo setTagVos(List<AdamTagParentVo> tagVos) {
this.tagVos = tagVos; this.tagVos = tagVos;
return this; return this;
} }
......
...@@ -54,7 +54,7 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable { ...@@ -54,7 +54,7 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
@ApiModelProperty(position = 25, value = "注销时间") @ApiModelProperty(position = 25, value = "注销时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime closedAt; private LocalDateTime closedAt;
@ApiModelProperty(position = 26, value = "完善信息进度[0-未完善,1-已完善]") @ApiModelProperty(position = 26, value = "完善信息进度[0-未完善,1-已完善,11-已完善且注册IM]")
private Integer isComplete; private Integer isComplete;
@ApiModelProperty(position = 27, value = "") @ApiModelProperty(position = 27, value = "")
private String rongCloudToken; private String rongCloudToken;
......
package com.liquidnet.service.adam.service; 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.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.base.ResponseDto;
/** /**
* <p> * <p>
...@@ -12,7 +14,7 @@ import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo; ...@@ -12,7 +14,7 @@ import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
*/ */
public interface IAdamUserInfoService { public interface IAdamUserInfoService {
void edit(AdamUserInfoVo userInfoVo); ResponseDto<AdamUserInfoVo> edit(AdamUserInfoParam parameter);
String editMobile(String uid, String mobile); 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 { ...@@ -121,27 +121,29 @@ public class AdamUserController {
// existParentVo.setTagVos(existTagVos); // existParentVo.setTagVos(existTagVos);
// tagMeVoList.add(existParentVo); // tagMeVoList.add(existParentVo);
// } // }
String currentUid = CurrentUtil.getCurrentUid(); // String currentUid = CurrentUtil.getCurrentUid();
//
AdamUserInfoVo editVo = adamRdmService.getUserInfoVoByUid(currentUid); // AdamUserInfoVo editVo = adamRdmService.getUserInfoVoByUid(currentUid);
// editVo.setAvatar(parameter.getAvatar()); //// editVo.setAvatar(parameter.getAvatar());
// editVo.setBackground(parameter.getBackground()); //// editVo.setBackground(parameter.getBackground());
// editVo.setNickname(parameter.getNickname()); //// editVo.setNickname(parameter.getNickname());
editVo.setAvatar(StringUtils.isEmpty(editVo.getAvatar()) ? AdamConst.DEF_URL_AVATAR : editVo.getAvatar()); // 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.setBackground(StringUtils.isEmpty(editVo.getBackground()) ? AdamConst.DEF_URL_BACKGROUND : editVo.getBackground());
editVo.setNickname(editVo.getNickname()); // editVo.setNickname(editVo.getNickname());
editVo.setSex(sex); // editVo.setSex(sex);
editVo.setBirthday(parameter.getBirthday()); // editVo.setBirthday(parameter.getBirthday());
editVo.setArea(parameter.getArea()); // editVo.setArea(parameter.getArea());
// editVo.setSignature(parameter.getSignature()); //// editVo.setSignature(parameter.getSignature());
editVo.setSignature(editVo.getSignature()); // editVo.setSignature(editVo.getSignature());
// editVo.setTagMe(tagMeVoList); //// editVo.setTagMe(tagMeVoList);
editVo.setUpdatedAt(LocalDateTime.now()); // editVo.setUpdatedAt(LocalDateTime.now());
editVo.setIsComplete(1); // editVo.setIsComplete(1);
//
adamUserInfoService.edit(editVo); // adamUserInfoService.edit(editVo);
// editVo.setMobile(SensitizeUtil.custom(editVo.getMobile(), 3, 4)); //// editVo.setMobile(SensitizeUtil.custom(editVo.getMobile(), 3, 4));
return ResponseDto.success(editVo.desensitize(reviewUserInfo)); // return ResponseDto.success(editVo.desensitize(reviewUserInfo));
parameter.setSex(sex);
return adamUserInfoService.edit(parameter);
} }
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 2)
...@@ -152,16 +154,16 @@ public class AdamUserController { ...@@ -152,16 +154,16 @@ public class AdamUserController {
if (CollectionUtils.isEmpty(tagsForMusic)) { if (CollectionUtils.isEmpty(tagsForMusic)) {
tagsForMusic = ObjectUtil.getAdamTagParentVoArrayList(); tagsForMusic = ObjectUtil.getAdamTagParentVoArrayList();
tagsForMusic.add(AdamTagParentVo.getNew().setVal("MMS01").setDesc("民歌").setTagVos(Arrays.asList( tagsForMusic.add(AdamTagParentVo.getNew().setVal("MMS01").setDesc("民歌").setTagVos(Arrays.asList(
AdamTagVo.getNew().setVal("MMS0101").setDesc("A"), AdamTagParentVo.getNew().setVal("MMS0101").setDesc("A"),
AdamTagVo.getNew().setVal("MMS0102").setDesc("B") AdamTagParentVo.getNew().setVal("MMS0102").setDesc("B")
))); )));
tagsForMusic.add(AdamTagParentVo.getNew().setVal("MMS02").setDesc("house").setTagVos(Arrays.asList( tagsForMusic.add(AdamTagParentVo.getNew().setVal("MMS02").setDesc("house").setTagVos(Arrays.asList(
AdamTagVo.getNew().setVal("MMS0201").setDesc("C"), AdamTagParentVo.getNew().setVal("MMS0201").setDesc("C"),
AdamTagVo.getNew().setVal("MMS0202").setDesc("D") AdamTagParentVo.getNew().setVal("MMS0202").setDesc("D")
))); )));
tagsForMusic.add(AdamTagParentVo.getNew().setVal("MMS03").setDesc("R&B").setTagVos(Arrays.asList( tagsForMusic.add(AdamTagParentVo.getNew().setVal("MMS03").setDesc("R&B").setTagVos(Arrays.asList(
AdamTagVo.getNew().setVal("MMS0301").setDesc("E"), AdamTagParentVo.getNew().setVal("MMS0301").setDesc("E"),
AdamTagVo.getNew().setVal("MMS0302").setDesc("F") AdamTagParentVo.getNew().setVal("MMS0302").setDesc("F")
))); )));
adamRdmService.setTagsForMusic(tagsForMusic); adamRdmService.setTagsForMusic(tagsForMusic);
......
package com.liquidnet.service.adam.service.impl; package com.liquidnet.service.adam.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.liquidnet.common.cache.redis.util.RedisUtil; 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.core.JwtValidator;
import com.liquidnet.commons.lang.util.CollectionUtil; 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.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.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.service.AdamRdmService; import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserInfoService; import com.liquidnet.service.adam.service.IAdamUserInfoService;
import com.liquidnet.service.adam.util.QueueUtils; 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.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import lombok.extern.slf4j.Slf4j; 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.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils; import org.springframework.util.DigestUtils;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -40,14 +52,93 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService { ...@@ -40,14 +52,93 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
RedisUtil redisUtil; RedisUtil redisUtil;
@Autowired @Autowired
JwtValidator jwtValidator; JwtValidator jwtValidator;
@Autowired
private EasemobUtil easemobUtil;
@Value("${liquidnet.reviewer.user-info}")
private Boolean reviewUserInfo;
@Override @Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @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(); long s = System.currentTimeMillis();
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo); adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = CollectionUtil.linkedListString(); LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> updateUserObjs = CollectionUtil.linkedListObjectArr(), LinkedList<Object[]> updateUserObjs = CollectionUtil.linkedListObjectArr(),
updateUserInfoObjs = CollectionUtil.linkedListObjectArr(); updateUserInfoObjs = CollectionUtil.linkedListObjectArr();
...@@ -58,13 +149,13 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService { ...@@ -58,13 +149,13 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
toMqSqls.add(SqlMapping.get("adam_user_info.edit")); toMqSqls.add(SqlMapping.get("adam_user_info.edit"));
updateUserInfoObjs.add(new Object[]{ updateUserInfoObjs.add(new Object[]{
userInfoVo.getNickname(), userInfoVo.getNickname(),
JsonUtils.toJson(userInfoVo.getSex()), JsonUtils.toJson(sex),
userInfoVo.getBirthday(), userInfoVo.getBirthday(),
userInfoVo.getArea(), userInfoVo.getArea(),
userInfoVo.getSignature(), userInfoVo.getSignature(),
userInfoVo.getAvatar(), userInfoVo.getAvatar(),
userInfoVo.getBackground(), userInfoVo.getBackground(),
JsonUtils.toJson(userInfoVo.getTagMe()), JsonUtils.toJson(tagMe),
userInfoVo.getUid()} userInfoVo.getUid()}
); );
log.debug("#SQL.GET耗时:{}ms", System.currentTimeMillis() - s); log.debug("#SQL.GET耗时:{}ms", System.currentTimeMillis() - s);
...@@ -74,6 +165,8 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService { ...@@ -74,6 +165,8 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
SqlMapping.gets(toMqSqls, updateUserObjs, updateUserInfoObjs) SqlMapping.gets(toMqSqls, updateUserObjs, updateUserInfoObjs)
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
return ResponseDto.success(userInfoVo.desensitize(reviewUserInfo));
} }
@Override @Override
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
10011=性别标签无效 10011=性别标签无效
10012=音乐风格标签无效 10012=音乐风格标签无效
10013=账号与密码不匹配 10013=账号与密码不匹配
10014= 10014=编辑无效
10015=入场人ID不能为空 10015=入场人ID不能为空
10016=收货地址ID不能为空 10016=收货地址ID不能为空
10017=入场人不存在,请核实 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