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

Commit 341cdb7e authored by 张国柄's avatar 张国柄

-goblin调用adam同步数字账号逻辑;

parent 9a109820
package com.liquidnet.service.goblin.controller.Inner;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.service.impl.GoblinNftNumAccountServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
@Slf4j
@Api(tags = "@API:RSC")
@RestController
......@@ -23,23 +13,4 @@ import javax.validation.constraints.NotBlank;
@RequestMapping("/rsc")
public class GoblinRscController {
@Autowired
GoblinNftNumAccountServiceImpl accountService;
@PostMapping("nft/sync/acc")
@ApiOperation("数字账户开通同步通知")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "userId", value = "用户ID", example = "1", required = true),
})
public ResponseDto syncNotice(
@RequestParam("userId") @NotBlank(message = "用户ID不能为空") String userId
) {
Boolean notice = accountService.syncNotice(userId);
if (notice) {
return ResponseDto.success("同步成功");
} else {
return ResponseDto.failure("未获取到数据");
}
}
}
package com.liquidnet.service.goblin.service.impl;
import com.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.vo.AdamUserBizAcctVo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
@Service
@Slf4j
public class GoblinNftNumAccountServiceImpl {
@Autowired
private GoblinRedisUtils goblinRedisUtils;
@Value("${liquidnet.service.adam.url}")
private String adamUrl;
public Boolean syncNotice(String userId) {
// 请求adam
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", MediaType.APPLICATION_JSON_UTF8_VALUE);
headers.set("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
String returnData = HttpUtil.getByUri(adamUrl.concat("/adam/rsc/inquire/bizacc?bizCode=NFT_ZX&uid=".concat(userId)), headers);
ResponseDto<AdamUserBizAcctVo> rsp = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<AdamUserBizAcctVo>>() {
});
AdamUserBizAcctVo rspData = rsp.getData();
if (null != rspData) {
// 写入redis
goblinRedisUtils.setNftNumAccount(userId);
return true;
} else {
log.info("同步数字账号失败,信息不存在 [userId:{}]", userId);
return false;
}
}
}
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