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

Commit 0fc71e1a authored by 张国柄's avatar 张国柄

+同步`chime`标签;

parent 1f1176f8
......@@ -150,4 +150,25 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
}
return this;
}
/**
* 社交用户标签处理
*
* @param vos List<AdamTagVo>
* @return String
*/
public String getTagMeForChime(List<AdamTagVo> vos) {
if (null == this.tagMe || this.tagMe.isEmpty()) {
return null;
}
// MME01:音乐人
this.tagMe.parallelStream().forEach(r -> {
List<AdamTagParentVo> tagVos = r.getTagVos();// A|B|C...
tagVos.parallelStream().forEach(rr -> {
vos.add(AdamTagVo.getNew().setVal(rr.getVal()).setDesc(rr.getDesc()));
});
});
return JsonUtils.toJson(vos);
}
}
package com.liquidnet.service.feign.adam.rsc;
import com.liquidnet.service.base.ResponseDto;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Component
@FeignClient(name = "liquidnet-service-chime",
contextId = "FeignAdamChimeClient", path = "chime",
url = "${liquidnet.service.chime.url}",
fallback = FallbackFactory.Default.class)
public interface FeignAdamChimeClient {
@PostMapping("user/register")
ResponseDto<String> registerForUser(@RequestParam @Validated String userId,
@RequestParam @Validated String sex,
@RequestParam @Validated String tags,
@RequestParam @Validated String operateType
);
}
......@@ -49,6 +49,12 @@
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-adam</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
......
......@@ -15,11 +15,13 @@ 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.ObjectUtil;
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 com.liquidnet.service.feign.adam.rsc.FeignAdamChimeClient;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -55,6 +57,9 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
@Autowired
private EasemobUtil easemobUtil;
@Autowired
private FeignAdamChimeClient feignAdamChimeClient;
@Value("${liquidnet.reviewer.user-info}")
private Boolean reviewUserInfo;
// 用户注册IM的密码
......@@ -66,16 +71,15 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
String currentUid = CurrentUtil.getCurrentUid();
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(currentUid);
List<AdamTagParentVo> tagMe = parameter.getTagMe();
String uuid = null, type = null, created = null, modified = null;
Integer voIsComplete = userInfoVo.getIsComplete();
int isComplete = voIsComplete == 0 ? 1 : voIsComplete;
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();
boolean syncChimeRegisterFlg = false;// 标识同步`service-chime`是否为首次注册
int isComplete = voIsComplete == 0 ? 1 : voIsComplete;
List<AdamTagParentVo> tagMe = parameter.getTagMe();
String uuid = null, type = null, created = null, modified = null;
if (!CollectionUtil.isEmpty(tagMe)) {// 标签不为空则注册或更新IM
if (isComplete == 1) {// 注册IM
JSONObject jsonObject = null;
try {
......@@ -86,10 +90,7 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
} 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"))) {
if (null == jsonObject || StringUtil.isNotNull(jsonObject.get("error"))) {
return ResponseDto.failure(ErrorMapping.get("10014"));
}
if (jsonObject.getBooleanValue("activated")) {
......@@ -99,25 +100,18 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
uuid = jsonObject.getString("uuid");
created = jsonObject.getString(created);
modified = jsonObject.getString("modified");
syncChimeRegisterFlg = true;
}
} else if (syncIMNicknameFlg && isComplete == 11) {// 同步IM信息
} else if (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`
}
AdamTagVo existSex = userInfoVo.getSex();
// userInfoVo.setAvatar(parameter.getAvatar());
// userInfoVo.setBackground(parameter.getBackground());
......@@ -125,20 +119,33 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
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.setSex(parameter.getSex());
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);
userInfoVo.setIsComplete(isComplete);
long s = System.currentTimeMillis();
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
String sexStr = JsonUtils.toJson(userInfoVo.getSex());
if (syncChimeFlg || !userInfoVo.getSex().getVal().equals(existSex.getVal())) {// 同步`service-chime`
ResponseDto<String> chimeRegisterRstFlg = null;
try {
chimeRegisterRstFlg = feignAdamChimeClient.registerForUser(
userInfoVo.getUid(),
sexStr,
userInfoVo.getTagMeForChime(ObjectUtil.getAdamTagVoArrayList()),
syncChimeRegisterFlg ? "CREATE" : "UPDATE");
} catch (Exception e) {
log.error("同步`chime`用户标签信息异常", e);
}
log.debug("同步`chime`用户标签信息结果:{}", chimeRegisterRstFlg);
}
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> updateUserObjs = CollectionUtil.linkedListObjectArr(),
......@@ -150,7 +157,7 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
toMqSqls.add(SqlMapping.get("adam_user_info.edit"));
updateUserInfoObjs.add(new Object[]{
userInfoVo.getNickname(),
JsonUtils.toJson(sex),
sexStr,
userInfoVo.getBirthday(),
userInfoVo.getArea(),
userInfoVo.getSignature(),
......@@ -161,12 +168,21 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
);
log.debug("#SQL.GET耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
if (syncChimeRegisterFlg) {
toMqSqls.add(SqlMapping.get("adam_user_busi_acct.add"));
LinkedList<Object[]> initUserBusiAcctObjs = CollectionUtil.linkedListObjectArr();
initUserBusiAcctObjs.add(new Object[]{
userInfoVo.getUid(), "IMHX", uuid, type, ppwd, 1, userInfoVo.getUpdatedAt()
});
queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UCENTER.getKey(),
SqlMapping.gets(toMqSqls, updateUserObjs, updateUserInfoObjs, initUserBusiAcctObjs)
);
} else {
queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UCENTER.getKey(),
SqlMapping.gets(toMqSqls, updateUserObjs, updateUserInfoObjs)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
}
return ResponseDto.success(userInfoVo.desensitize(reviewUserInfo));
}
......
......@@ -61,6 +61,7 @@ adam_user_member.close=UPDATE adam_user_member SET `state`=2, updated_at=?, comm
candy_mgt_coupon.add_for_member=INSERT INTO candy_mgt_coupon (mcoupon_id, coupon_id, `state`, event_amt, event_type, event_limit, event_at, `operator`, created_at) VALUES (?, ?, 0, ?, 2, ?, ?, ?, ?)
# ----------------------------------------------------
adam_user_busi_acct.add=INSERT INTO adam_user_busi_acct (`uid`, busi, uuid, `work`, ppwd, `state`, created_at) VALUES (?,?,?,?,?,?,?)
# ----------------------------------------------------
......
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