소스 검색

优化查询用户积分功能

wuxw 1 년 전
부모
커밋
d00e8afe38

+ 36 - 0
java110-bean/src/main/java/com/java110/dto/MallDataDto.java

@@ -0,0 +1,36 @@
+package com.java110.dto;
+
+import com.alibaba.fastjson.JSONObject;
+
+public class MallDataDto {
+
+    private String mallApiCode;
+
+    private JSONObject data;
+
+    public MallDataDto() {
+    }
+
+    public MallDataDto(String mallApiCode, JSONObject data) {
+        this.mallApiCode = mallApiCode;
+        this.data = data;
+    }
+
+
+
+    public JSONObject getData() {
+        return data;
+    }
+
+    public void setData(JSONObject data) {
+        this.data = data;
+    }
+
+    public String getMallApiCode() {
+        return mallApiCode;
+    }
+
+    public void setMallApiCode(String mallApiCode) {
+        this.mallApiCode = mallApiCode;
+    }
+}

+ 11 - 0
java110-interface/src/main/java/com/java110/intf/job/IMallInnerServiceSMO.java

@@ -2,6 +2,8 @@ package com.java110.intf.job;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.config.feign.FeignConfiguration;
+import com.java110.dto.IotDataDto;
+import com.java110.dto.MallDataDto;
 import com.java110.dto.user.UserDto;
 import com.java110.vo.ResultVo;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -31,6 +33,15 @@ public interface IMallInnerServiceSMO {
     @RequestMapping(value = "/postMall", method = RequestMethod.POST)
     ResultVo postMall(@RequestBody JSONObject reqJson);
 
+    /**
+     * <p>重启设备</p>
+     *
+     * @param mallDataDto 请求信息
+     * @return TaskDto 对象数据
+     */
+    @RequestMapping(value = "/postMallData", method = RequestMethod.POST)
+    ResultVo postMallData(@RequestBody MallDataDto mallDataDto);
+
 
     @RequestMapping(value = "/generatorMallCode", method = RequestMethod.POST)
     String generatorMallCode(@RequestBody UserDto userDto);

+ 28 - 0
service-acct/src/main/java/com/java110/acct/cmd/integral/QueryAppUserIntegralCmd.java

@@ -2,12 +2,21 @@ package com.java110.acct.cmd.integral;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.CmdContextUtils;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.MallDataDto;
+import com.java110.dto.user.UserDto;
+import com.java110.intf.job.IMallInnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
 
 import java.text.ParseException;
+import java.util.List;
 
 
 /**
@@ -17,6 +26,13 @@ import java.text.ParseException;
  */
 @Java110Cmd(serviceCode = "integral.queryAppUserIntegral")
 public class QueryAppUserIntegralCmd extends Cmd {
+
+    @Autowired
+    IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IMallInnerServiceSMO mallInnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
 
@@ -25,5 +41,17 @@ public class QueryAppUserIntegralCmd extends Cmd {
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
 
+        String userId = CmdContextUtils.getUserId(context);
+
+        UserDto userDto = new UserDto();
+        userDto.setUserId(userId);
+        List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+
+        Assert.listOnlyOne(userDtos, "用户不存在");
+
+        reqJson.put("link", userDtos.get(0).getTel());
+        ResultVo resultVo = mallInnerServiceSMOImpl.postMallData(new MallDataDto("queryAppUserIntegralBmoImpl", reqJson));
+        context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
+
     }
 }

+ 23 - 0
service-job/src/main/java/com/java110/job/smo/impl/MallInnerServiceSMOImpl.java

@@ -4,6 +4,7 @@ package com.java110.job.smo.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.log.LoggerFactory;
+import com.java110.dto.MallDataDto;
 import com.java110.dto.user.UserDto;
 import com.java110.intf.job.IMallInnerServiceSMO;
 import com.java110.job.adapt.hcIot.IotConstant;
@@ -37,6 +38,28 @@ public class MallInnerServiceSMOImpl extends BaseServiceSMO implements IMallInne
 
     @Override
     public ResultVo postMall(@RequestBody JSONObject paramIn) {
+        String mallSwitch = MappingCache.getValue(MALL_DOMAIN, "MALL_SWITCH");
+
+        if (!"ON".equals(mallSwitch)) {
+            return new ResultVo(ResultVo.CODE_OK,ResultVo.MSG_OK);
+        }
+
+        ResultVo resultVo = sendMallImpl.post("/mall/api/common.openCommonApi", paramIn);
+        return resultVo;
+    }
+
+    @Override
+    public ResultVo postMallData(@RequestBody MallDataDto mallDataDto) {
+
+        String mallSwitch = MappingCache.getValue(MALL_DOMAIN, "MALL_SWITCH");
+
+        if (!"ON".equals(mallSwitch)) {
+            return new ResultVo(ResultVo.CODE_OK,ResultVo.MSG_OK);
+        }
+
+
+        JSONObject paramIn = mallDataDto.getData();
+        paramIn.put("mallApiCode", mallDataDto.getMallApiCode());
         ResultVo resultVo = sendMallImpl.post("/mall/api/common.openCommonApi", paramIn);
         return resultVo;
     }