Commit e44c57d0 by 缪晖

Merge branch 'feature/2.0.1-collageOrder-刘鹏飞' into develop

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/controller/test/TestController.java
parents fcb8635e 2daef541
package cn.freemud.controller.test; package cn.freemud.controller.test;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto;
import cn.freemud.entities.dto.wechat.GetTokenResponseDto;
import cn.freemud.service.thirdparty.EcologyAdminApplicationClient; import cn.freemud.service.thirdparty.EcologyAdminApplicationClient;
import cn.freemud.service.thirdparty.WeChatClient; import cn.freemud.service.thirdparty.WeChatClient;
import cn.freemud.utils.HttpUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.log.ApiAnnotation; import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams; import com.freemud.application.sdk.api.log.LogParams;
import com.freemud.sdk.api.assortment.order.request.order.GroupBuyRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* All rights Reserved, Designed By www.freemud.com * All rights Reserved, Designed By www.freemud.com
...@@ -69,58 +56,4 @@ public class TestController { ...@@ -69,58 +56,4 @@ public class TestController {
log.info("testOrderDelivery get {}",JSONObject.toJSONString(platformBaseRequest)); log.info("testOrderDelivery get {}",JSONObject.toJSONString(platformBaseRequest));
return platformBaseResponse; return platformBaseResponse;
} }
@GetMapping("/testGroupBuy")
public BaseResponse groupBuy() {
String partnerId = "1864";
String appId = "wxb78fb7c6218cb52c";
GetAuthorizerRequestDto getAuthorizerRequestDto = new GetAuthorizerRequestDto();
getAuthorizerRequestDto.setPartnerId(partnerId);
getAuthorizerRequestDto.setAuthorizerAppid(appId);
GetTokenResponseDto getTokenResponseDto = ecologyAdminApplicationClient.getAuthorizerAccessToken(getAuthorizerRequestDto);
String accessToken = getTokenResponseDto.getResult().getAccessToken();
log.info("token:{}", accessToken);
GroupBuyRequest groupBuyRequest = new GroupBuyRequest();
groupBuyRequest.setOut_trade_no("88888888");
groupBuyRequest.setRecv_openid("oORZK5NUo7sDvuJwPwbehqq360Tw");
groupBuyRequest.setScene(1);
// pay_list
GroupBuyRequest.PayList payList = new GroupBuyRequest.PayList();
List<GroupBuyRequest.UserInfo> userInfoList = new ArrayList<>();
GroupBuyRequest.UserInfo userInfo1 = new GroupBuyRequest.UserInfo();
userInfo1.setOpenid("oORZK5A8hrejg0uBVSlkpv-KPgv4");
userInfo1.setAmount(1);
userInfoList.add(userInfo1);
// GroupBuyRequest.UserInfo userInfo2 = new GroupBuyRequest.UserInfo();
// userInfo2.setOpenid("ohvIM0VbQw41wCznsgYHu7W6W_bA");
// userInfo2.setAmount(2);
// userInfoList.add(userInfo2);
// GroupBuyRequest.UserInfo userInfo3 = new GroupBuyRequest.UserInfo();
// userInfo3.setOpenid("oORZK5MHMBm78PO302NdRyzIY5K0");
// userInfo3.setAmount(3);
// userInfoList.add(userInfo2);
payList.setUser_info(userInfoList);
groupBuyRequest.setPay_list(payList);
// desc
GroupBuyRequest.Desc desc = new GroupBuyRequest.Desc();
desc.setText_desc("非码商户 20201128");
groupBuyRequest.setDesc(desc);
//String requestUrl = "https://api.weixin.qq.com/wxa/business/groupBuy/createOrder?access_token=" + accessToken;
log.info("bean:{}", groupBuyRequest);
String result = weChatClient.groupBuyCreateOrder(accessToken, groupBuyRequest);
BaseResponse baseResponse = new BaseResponse();
baseResponse.setResult(result);
log.info("response:{}", JSONObject.toJSONString(baseResponse));
return baseResponse;
}
} }
...@@ -46,6 +46,8 @@ import org.springframework.stereotype.Service; ...@@ -46,6 +46,8 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@Service @Service
@Slf4j @Slf4j
...@@ -128,12 +130,21 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -128,12 +130,21 @@ public class CollageOrderServiceImpl implements CollageOrderService {
GroupBuyRequest.PayList payList = new GroupBuyRequest.PayList(); GroupBuyRequest.PayList payList = new GroupBuyRequest.PayList();
List<GroupBuyRequest.UserInfo> userInfoList = new ArrayList<>(); List<GroupBuyRequest.UserInfo> userInfoList = new ArrayList<>();
List<OrderSettlementResp> orderSettlementDetailList = order.getOrderSettlementDetailList(); List<QueryOrdersResponse.DataBean.OrderBean.ProductBean> productList = order.getProductList();
GroupBuyRequest.UserInfo groupBuyUserInfo = new GroupBuyRequest.UserInfo(); // 群收款支付用户userId列表
groupBuyUserInfo.setOpenid("oORZK5A8hrejg0uBVSlkpv-KPgv4"); List<String> payerUserIdList = productList.stream().filter(product -> !userInfo.getMemberId().equals(product.getUserId())).map(QueryOrdersResponse.DataBean.OrderBean.ProductBean::getUserId).distinct().collect(Collectors.toList());
groupBuyUserInfo.setAmount(1);
userInfoList.add(groupBuyUserInfo); GroupBuyRequest.UserInfo groupBuyUserInfo;
for (String payerUserId : payerUserIdList) {
Long amount = productList.stream().filter(product -> payerUserId.equals(product.getUserId())).map(QueryOrdersResponse.DataBean.OrderBean.ProductBean::getSalePrice).reduce(Long::sum).get();
groupBuyUserInfo = new GroupBuyRequest.UserInfo();
// TODO 新增openid值传入
groupBuyUserInfo.setOpenid("oORZK5A8hrejg0uBVSlkpv-KPgv4");
groupBuyUserInfo.setAmount(Integer.parseInt(String.valueOf(amount)));
userInfoList.add(groupBuyUserInfo);
}
payList.setUser_info(userInfoList); payList.setUser_info(userInfoList);
groupBuyRequest.setPay_list(payList); groupBuyRequest.setPay_list(payList);
......
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