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

Commit db65281f authored by 胡佳晨's avatar 胡佳晨

wf hjc ajb

parent 57009291
package com.liquidnet.client.admin.web.controller.zhengzai.goblin; package com.liquidnet.client.admin.web.controller.zhengzai.goblin;
import com.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.client.admin.common.annotation.Log; import com.liquidnet.client.admin.common.annotation.Log;
import com.liquidnet.client.admin.common.core.controller.BaseController; import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.enums.BusinessType; import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinCommonService; import com.liquidnet.client.admin.zhengzai.goblin.utils.GoblinRedisUtils;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil; import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
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.constant.AdamRedisConst; import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.constant.GoblinRedisConst; import com.liquidnet.service.candy.vo.CandyCouponVo;
import com.liquidnet.service.goblin.constant.NftAccStatusEnum; import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import com.liquidnet.service.goblin.dto.GoblinStoreSearchDto;
import com.liquidnet.service.goblin.dto.GoblinUserNftAccInfoVo;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
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.Controller; import org.springframework.stereotype.Controller;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
...@@ -29,6 +32,12 @@ public class GoblinGagoController extends BaseController { ...@@ -29,6 +32,12 @@ public class GoblinGagoController extends BaseController {
@Autowired @Autowired
RedisDataSourceUtil redisDataSourceUtil; RedisDataSourceUtil redisDataSourceUtil;
@Autowired
GoblinRedisUtils goblinRedisUtils;
@Value("${liquidnet.service.order.url}")
private String orderUrl;
// private String orderUrl = "http://127.0.0.1/order";
private final String prefix = "zhengzai/goblin/gago"; private final String prefix = "zhengzai/goblin/gago";
@GetMapping() @GetMapping()
...@@ -43,22 +52,17 @@ public class GoblinGagoController extends BaseController { ...@@ -43,22 +52,17 @@ public class GoblinGagoController extends BaseController {
}) })
@ResponseBody @ResponseBody
public AjaxResult storeSearch(String userMobile) { public AjaxResult storeSearch(String userMobile) {
AjaxResult ajaxResult = AjaxResult.success(); AjaxResult ajaxResult = AjaxResult.success();
Object obj1 = redisDataSourceUtil.getRedisAdamUtil().get(AdamRedisConst.IDENTITY_MOBILE.concat(userMobile)); Object obj1 = redisDataSourceUtil.getRedisAdamUtil().get(AdamRedisConst.IDENTITY_MOBILE.concat(userMobile));
if (obj1 == null) { if (obj1 == null) {
return AjaxResult.error("账号不存在"); return AjaxResult.error("账号不存在");
} }
String uid = (String) obj1; String uid = (String) obj1;
String redisKey = GoblinRedisConst.REDIS_GOBLIN_NFT_NUM_ACCOUNT_INFO.concat(uid); Boolean obj2 = goblinRedisUtils.getIsOpenAccount(uid);
Object obj2 = redisDataSourceUtil.getRedisGoblinUtil().get(redisKey); if (!obj2) {
if (obj2 == null) {
return AjaxResult.error("账号未开通数字账号");
}
GoblinUserNftAccInfoVo nftAccInfoVo = (GoblinUserNftAccInfoVo) obj2;
if (!NftAccStatusEnum.StatusAcc.SUCCESS.getCode().equals(nftAccInfoVo.getCode())) {
return AjaxResult.error("账号未开通数字账号"); return AjaxResult.error("账号未开通数字账号");
} }
ajaxResult.put("uid",uid); ajaxResult.put("uid", uid);
return ajaxResult; return ajaxResult;
} }
...@@ -66,34 +70,38 @@ public class GoblinGagoController extends BaseController { ...@@ -66,34 +70,38 @@ public class GoblinGagoController extends BaseController {
@Log(title = "生成兑换订单", businessType = BusinessType.INNER_OPERATION) @Log(title = "生成兑换订单", businessType = BusinessType.INNER_OPERATION)
@PostMapping(value = "/exchangeNumNftOrder") @PostMapping(value = "/exchangeNumNftOrder")
@ResponseBody @ResponseBody
public AjaxResult listByStatus(@RequestParam(value = "skuId") String skuId, @RequestParam(value = "nftNum") String nftNum,@RequestParam(value = "uid") String uid) { public AjaxResult listByStatus(@RequestParam(value = "skuId") String skuId, @RequestParam(value = "nftNum") int nftNum, @RequestParam(value = "uid") String uid) {
// List<PerformanceTitleDao> result = kylinPerformancesService.getListByStatus(status,title); //当前 nft序号
// AjaxResult ajax = new AjaxResult(); int cNufCount = goblinRedisUtils.getNftCountBySku(skuId);
// ajax.put("value", result); if (cNufCount >= nftNum) {
// return ajax; return AjaxResult.error("该序号已售卖");
return null; }
boolean addResult = goblinRedisUtils.addNftList(skuId, nftNum + "");
if (!addResult) {
return AjaxResult.error("该序号已被占用");
}
GoblinGoodsSkuInfoVo skuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(skuId);
if (skuInfoVo == null || skuInfoVo.getSkuStock() <= nftNum) {
return AjaxResult.error("该序号不存在");
}
if (skuInfoVo.getUnbox().equals("1")) {
return AjaxResult.error("不支持盲盒");
}
//
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.add("userId", uid);
params.add("skuId", skuId);
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Accept", "application/json;charset=UTF-8");
String returnData = HttpUtil.post(orderUrl.concat("/goblin/nft/airdropInner"), params, header);
ResponseDto<Boolean> innerReturnVo = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<Boolean>>() {
});
if (innerReturnVo.getData()) {
return AjaxResult.success();
} else {
return AjaxResult.error();
}
} }
// @Log(title = "搜索NFT SPU", businessType = BusinessType.INNER_OPERATION)
// @GetMapping("search_spu")
// @ApiImplicitParams({
// @ApiImplicitParam(type = "form", required = true, name = "name", value = "spu名称"),
// })
// @ResponseBody
// public AjaxResult storeSearch(String name, List<String> status) {
// return ResponseDto.success(goblinCommonService.storeSearch(name, status));
// }
//
// @Log(title = "搜索NFT SKU", businessType = BusinessType.INNER_OPERATION)
// @GetMapping("search_sku")
// @ApiImplicitParams({
// @ApiImplicitParam(type = "form", required = true, name = "name", value = "sku名称"),
// })
// @ResponseBody
// public AjaxResult storeSearch(String name, List<String> status) {
// return ResponseDto.success(goblinCommonService.storeSearch(name, status));
// }
/** ------------------------------------------------------------------------ **/ /** ------------------------------------------------------------------------ **/
} }
...@@ -5,16 +5,17 @@ import com.liquidnet.commons.lang.util.CollectionUtil; ...@@ -5,16 +5,17 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.galaxy.constant.GalaxyConstant; import com.liquidnet.service.galaxy.constant.GalaxyConstant;
import com.liquidnet.service.galaxy.dto.param.GalaxyNftPublishAndBuyReqDto; import com.liquidnet.service.galaxy.dto.param.GalaxyNftPublishAndBuyReqDto;
import com.liquidnet.service.goblin.constant.GoblinRedisConst; import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.constant.NftAccStatusEnum; import com.liquidnet.service.goblin.constant.NftAccStatusEnum;
import com.liquidnet.service.goblin.dto.GoblinUserNftAccInfoVo; import com.liquidnet.service.goblin.dto.GoblinUserNftAccInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinMarketingZhengzaiRelationVo; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.dto.vo.GoblinNftSkuVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo;
import com.liquidnet.service.goblin.entity.GoblinGoodsSku; import com.liquidnet.service.goblin.entity.GoblinGoodsSku;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
@Component @Component
...@@ -157,8 +158,8 @@ public class GoblinRedisUtils { ...@@ -157,8 +158,8 @@ public class GoblinRedisUtils {
} }
//获取 当前xx链上SkuId 发行的数量 //获取 当前xx链上SkuId 发行的数量
public int getNftCountBySku(String routerType, String skuId) { public int getNftCountBySku(String skuId) {
String redisKey = GalaxyConstant.REDIS_KEY_GALAXY_PUBLISH_NFT.concat(routerType).concat(":").concat(skuId); String redisKey = GalaxyConstant.REDIS_KEY_GALAXY_PUBLISH_NFT.concat(":").concat(skuId);
Object obj = redisDataSourceUtil.getRedisGoblinUtil().get(redisKey); Object obj = redisDataSourceUtil.getRedisGoblinUtil().get(redisKey);
if (obj == null) { if (obj == null) {
return -1; return -1;
...@@ -168,8 +169,8 @@ public class GoblinRedisUtils { ...@@ -168,8 +169,8 @@ public class GoblinRedisUtils {
} }
//获取 nft序号站位list //获取 nft序号站位list
public List<String> getNftList(String routerType, String skuId) { public List<String> getNftList(String skuId) {
String redisKey = GoblinRedisConst.GOBLIN_NUM_LIST.concat(routerType).concat(":").concat(skuId); String redisKey = GoblinRedisConst.GOBLIN_NUM_LIST.concat(":").concat(skuId);
Object obj = redisDataSourceUtil.getRedisGoblinUtil().get(redisKey); Object obj = redisDataSourceUtil.getRedisGoblinUtil().get(redisKey);
if (obj == null) { if (obj == null) {
return CollectionUtil.arrayListString(); return CollectionUtil.arrayListString();
...@@ -179,11 +180,24 @@ public class GoblinRedisUtils { ...@@ -179,11 +180,24 @@ public class GoblinRedisUtils {
} }
//添加 nft序号站位list //添加 nft序号站位list
public void addNftList(String routerType, String skuId, String num) { public boolean addNftList(String skuId, String num) {
String redisKey = GoblinRedisConst.GOBLIN_NUM_LIST.concat(routerType).concat(":").concat(skuId); String redisKey = GoblinRedisConst.GOBLIN_NUM_LIST.concat(":").concat(skuId);
List<String> voList = getNftList(routerType, skuId); List<String> voList = getNftList(skuId);
if (voList.contains(num)) {
return false;
}
voList.add(num); voList.add(num);
redisDataSourceUtil.getRedisGoblinUtil().set(redisKey, voList); redisDataSourceUtil.getRedisGoblinUtil().set(redisKey, voList);
return true;
}
public GoblinGoodsSkuInfoVo getGoodsSkuInfoVo(String skuId) {
String rk = GoblinRedisConst.BASIC_GOODS_SKU.concat(skuId);
GoblinGoodsSkuInfoVo vo = (GoblinGoodsSkuInfoVo) redisDataSourceUtil.getRedisGoblinUtil().get(rk);
if (null == vo ) {
return null;
}
return vo;
} }
//覆盖 站位宾哥要dto //覆盖 站位宾哥要dto
......
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