Browse Source

优惠券开发接口

gongfuzhu 10 tháng trước cách đây
mục cha
commit
5f42e3428d

+ 6 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/request/XiaoJuQueryUserPromotionListModel.java

@@ -10,6 +10,12 @@ import lombok.NoArgsConstructor;
 @NoArgsConstructor
 public class XiaoJuQueryUserPromotionListModel {
 
+    @ApiModelProperty(hidden = true)
+    private String outUserId;
+
+    @ApiModelProperty(hidden = true)
+    private String mobile;
+
     @ApiModelProperty("3.已使用、4.已过期、5.未使用")
     private Integer status;
     private Integer pageIndex;

+ 18 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/xiaoju/QueryGetPromotionRequest.java

@@ -0,0 +1,18 @@
+package com.zswl.cloud.springBatch.client.model.xiaoju;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class QueryGetPromotionRequest {
+    private String mobile;
+    private String outUserId;
+    private String activityId;
+    private String tradeNo;
+
+}

+ 12 - 2
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/service/XiaoJuService.java

@@ -1,7 +1,11 @@
 package com.zswl.cloud.springBatch.client.service;
 
 import com.github.microservice.auth.client.content.ResultContent;
+import com.xiaoju.open.oil.interfaces.domain.GenPromotionInfo;
+import com.xiaoju.open.oil.interfaces.response.QueryUserPromotionListResponse;
+import com.zswl.cloud.springBatch.client.model.request.XiaoJuQueryUserPromotionListModel;
 import com.zswl.cloud.springBatch.client.model.xiaoju.QueryApiStorePriceRequest;
+import com.zswl.cloud.springBatch.client.model.xiaoju.QueryGetPromotionRequest;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
@@ -9,19 +13,25 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 
+import java.util.List;
 import java.util.Map;
 
 @FeignClient(name = "springbatchservice/manager/xiaoju")
 public interface XiaoJuService {
 
 
-
     @ApiOperation("加油站详情")
     @RequestMapping(value = "storeInfo", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
-    ResultContent<Map<String,String>> storeInfo(@RequestBody QueryApiStorePriceRequest queryApiStorePriceRequest);
+    ResultContent<Map<String, String>> storeInfo(@RequestBody QueryApiStorePriceRequest queryApiStorePriceRequest);
 
 
+    @ApiOperation("用户所有加油券")
+    @RequestMapping(value = "storeInfo", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
+    ResultContent<QueryUserPromotionListResponse> queryUserPromotionList(@RequestBody XiaoJuQueryUserPromotionListModel xiaoJuQueryUserPromotionListModel);
 
+    @ApiOperation("发放优惠券")
+    @RequestMapping(value = "getPromotion", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
+    ResultContent<List<GenPromotionInfo>> getPromotion(@RequestBody QueryGetPromotionRequest queryGetPromotionRequest);
 
 
 }

+ 4 - 0
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/controller/XiaoJuController.java

@@ -5,6 +5,7 @@ import com.github.microservice.auth.client.content.ResultContent;
 import com.github.microservice.auth.client.content.ResultState;
 import com.github.microservice.auth.security.annotations.ResourceAuth;
 import com.github.microservice.auth.security.helper.AuthHelper;
+import com.github.microservice.auth.security.model.AuthDetails;
 import com.github.microservice.auth.security.type.AuthType;
 import com.xiaoju.open.oil.interfaces.domain.AllowancePromotionInfo;
 import com.xiaoju.open.oil.interfaces.domain.GenPromotionInfo;
@@ -127,6 +128,9 @@ public class XiaoJuController {
     @RequestMapping(value = "queryUserPromotionList", method = RequestMethod.POST)
     @ResourceAuth(value = "user", type = AuthType.User)
     public ResultContent<QueryUserPromotionListResponse> queryUserPromotionList(@RequestBody XiaoJuQueryUserPromotionListModel xiaoJuQueryUserPromotionListModel) {
+        AuthDetails currentUser = authHelper.getCurrentUser();
+        xiaoJuQueryUserPromotionListModel.setMobile(currentUser.getPhone());
+        xiaoJuQueryUserPromotionListModel.setOutUserId(currentUser.getUserId());
         ResultContent<QueryUserPromotionListResponse> listResultContent = xiaoJuService.queryUserPromotionList(xiaoJuQueryUserPromotionListModel);
         return listResultContent;
     }

+ 32 - 3
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/service/impl/XiaoJuServiceImpl.java

@@ -646,11 +646,11 @@ public class XiaoJuServiceImpl implements XiaoJuService {
 
     // 查询用户所有券列表
     public ResultContent<QueryUserPromotionListResponse> queryUserPromotionList(XiaoJuQueryUserPromotionListModel xiaoJuQueryUserPromotionListModel) {
-        AuthDetails currentUser = authHelper.getCurrentUser();
+
         QueryUserPromotionListRequest request = new QueryUserPromotionListRequest();
-        request.setMobile(currentUser.getPhone());
+        request.setMobile(xiaoJuQueryUserPromotionListModel.getMobile());
         request.setAllowanceType(2);
-        request.setOutUserId(currentUser.getUserId());
+        request.setOutUserId(xiaoJuQueryUserPromotionListModel.getOutUserId());
         request.setStatus(xiaoJuQueryUserPromotionListModel.getStatus());
         request.setPageIndex(xiaoJuQueryUserPromotionListModel.getPageIndex());
         request.setPageSize(xiaoJuQueryUserPromotionListModel.getPageSize());
@@ -675,6 +675,33 @@ public class XiaoJuServiceImpl implements XiaoJuService {
         }
     }
 
+    public ResultContent<List<GenPromotionInfo>> getPromotion(com.zswl.cloud.springBatch.client.model.xiaoju.QueryGetPromotionRequest queryGetPromotionRequest){
+        QueryClient queryClient = QueryClientFactory.create(oilConfig);
+        ApiLog apiLog = new ApiLog();
+        apiLog.setService("queryUserPromotionList");
+        apiLog.setRequest(JSONUtil.toJsonStr(queryGetPromotionRequest));
+        apiLog.setSystem("xiaoju");
+        QueryGetPromotionRequest queryGetPromotionRequest1 = new QueryGetPromotionRequest();
+        BeanUtils.copyProperties(queryGetPromotionRequest, queryGetPromotionRequest1);
+        try {
+            List<GenPromotionInfo> response = queryClient.promotion().getPromotion(queryGetPromotionRequest1);
+            XiaoJuActivityReceiver xiaoJuActivityReceiver = new XiaoJuActivityReceiver();
+            xiaoJuActivityReceiver.setActivityId(queryGetPromotionRequest.getActivityId());
+            xiaoJuActivityReceiver.setUserId(queryGetPromotionRequest.getOutUserId());
+            xiaoJuActivityReceiver.setTradeNo(queryGetPromotionRequest.getTradeNo());
+            xiaoJuActivityReceiverDao.save(xiaoJuActivityReceiver);
+            apiLog.setResponse(JSONUtil.toJsonStr(response));
+            apiLogDao.save(apiLog);
+            return ResultContent.buildContent(response);
+        } catch (Exception e) {
+            e.printStackTrace();
+            apiLog.setResponse(e.getCause().getCause().getMessage());
+            apiLogDao.save(apiLog);
+            return ResultContent.build(ResultState.Fail, e.getCause().getCause().getMessage().split("详细")[0]);
+
+        }
+
+    }
     // 券发放
     public ResultContent<List<GenPromotionInfo>> getPromotion(String activityId) {
         AuthDetails currentUser = authHelper.getCurrentUser();
@@ -709,6 +736,8 @@ public class XiaoJuServiceImpl implements XiaoJuService {
         xiaoJuQueryUserPromotionListModel.setPageIndex(1);
         xiaoJuQueryUserPromotionListModel.setPageSize(20);
         xiaoJuQueryUserPromotionListModel.setStatus(5);
+        xiaoJuQueryUserPromotionListModel.setMobile(currentUser.getPhone());
+        xiaoJuQueryUserPromotionListModel.setOutUserId(currentUser.getUserId());
 
         ResultContent<QueryUserPromotionListResponse> queryUserPromotionListResponseResultContent = queryUserPromotionList(xiaoJuQueryUserPromotionListModel);
         QueryUserPromotionListResponse queryUserPromotionListResponse = queryUserPromotionListResponseResultContent.getContent();