Commit 7d6b21f6 by 缪晖

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

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/thirdparty/WeChatClient.java
parents 0dc266a2 b01a52bf
package com.freemud.sdk.api.assortment.order.request.order;
import lombok.Data;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-11-28 16:37
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class GroupBuyRequest {
private String out_trade_no;
private String recv_openid;
private PayList pay_list;
private Integer scene;
private Desc desc;
private Long order_time;
private String order_id;
@Data
public static class PayList {
private List<UserInfo> user_info;
}
@Data
public static class UserInfo {
private String openid;
private Integer amount;
}
@Data
public static class Desc {
private String text_desc;
private String pic_url;
private String pic_md5;
}
}
package com.freemud.sdk.api.assortment.order.response.order;
import lombok.Data;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-11-28 16:54
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class GroupBuyResponse {
private String order_id;
private Integer errcode;
private String errmsg;
}
...@@ -26,6 +26,13 @@ public interface CollageOrderBaseService { ...@@ -26,6 +26,13 @@ public interface CollageOrderBaseService {
BaseResponse<CollageOrder> queryCollageOrder(CollageOrderDto collageOrderDto); BaseResponse<CollageOrder> queryCollageOrder(CollageOrderDto collageOrderDto);
/** /**
* 仅查询CreateCollageUserId创建的拼单
* @param collageOrderDto
* @return
*/
BaseResponse<CollageOrder> queryCollageOrderByCreateCollageUserId(CollageOrderDto collageOrderDto);
/**
* 创建拼单订单 * 创建拼单订单
* @param collageOrderDto * @param collageOrderDto
* @return * @return
......
...@@ -64,10 +64,14 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -64,10 +64,14 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
// 若按发起人维度查询不到,则按参与人维度查询 // 若按发起人维度查询不到,则按参与人维度查询
if (ObjectUtils.isEmpty(collageOrder)) { if (ObjectUtils.isEmpty(collageOrder)) {
String collagePartnerMemberHashKey = this.genCollagePartnerMemberHashKey(collageOrderDto.getPartnerId()); String collagePartnerMemberHashKey = this.genCollagePartnerMemberHashKey(collageOrderDto.getPartnerId());
CollagePartnerMember collagePartnerMember = this.getCollagePartnerMember(collagePartnerMemberHashKey, collageOrderDto.getCreateCollageUserId()); CollagePartnerMember collagePartnerMember = this.getCollagePartnerMember(collagePartnerMemberHashKey, collageOrderDto.getCurrentUserId());
// 若商户拼单参与人列表信息不存在或已过期 // 若商户拼单参与人列表信息不存在或已过期
if (collagePartnerMember == null || collagePartnerMember.getExpire() < System.currentTimeMillis()) { if (null == collagePartnerMember || collagePartnerMember.getExpire() < System.currentTimeMillis()) {
if (null != collagePartnerMember) {
// 门店下拼单参与人列表数据过期清理
this.deleteCollagePartnerMember(collagePartnerMemberHashKey, new String[]{collageOrderDto.getCurrentUserId()});
}
return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST); return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST);
} else { } else {
// 从商户拼单参与人列表中获取信息再次查询拼单信息 // 从商户拼单参与人列表中获取信息再次查询拼单信息
...@@ -90,6 +94,32 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -90,6 +94,32 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
} }
/** /**
* 仅查询CreateCollageUserId创建的拼单
* @param collageOrderDto
* @return
*/
@Override
public BaseResponse<CollageOrder> queryCollageOrderByCreateCollageUserId(CollageOrderDto collageOrderDto) {
try {
// 通过商户ID、门店ID、用户ID组装拼单订单Redis缓存基本信息Key
String collageBaseHashKey = this.genCollageBaseHashKey(collageOrderDto.getPartnerId(), collageOrderDto.getStoreId(), collageOrderDto.getCreateCollageUserId());
// 查询Redis缓存中拼单订单基础信息
CollageOrder collageOrder = this.getCollageBaseHash(collageBaseHashKey);
if (ObjectUtils.isEmpty(collageOrder)) {
return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST);
}
// 若拼单订单信息存在,则构造订单拼单对象并返回成功提示
return CartResponseUtil.success(collageOrder);
} catch (Exception e) {
ErrorLog.printErrorLog("获取拼单订单基础信息异常", "CollageOrderBaseServiceImpl/queryCollageOrderByCreateCollageUserId", this.collageOrderRequest(collageOrderDto), e);
return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST);
}
}
/**
* 创建拼单订单 * 创建拼单订单
* @param collageOrderDto * @param collageOrderDto
* @return * @return
...@@ -276,10 +306,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -276,10 +306,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
public BaseResponse judgeMemberAddOneCollage(CollageOrderDto collageOrderDto){ public BaseResponse judgeMemberAddOneCollage(CollageOrderDto collageOrderDto){
String key = genCollageMemberHashKey(collageOrderDto.getPartnerId(),collageOrderDto.getStoreId(),collageOrderDto.getCreateCollageUserId()); String key = genCollageMemberHashKey(collageOrderDto.getPartnerId(),collageOrderDto.getStoreId(),collageOrderDto.getCreateCollageUserId());
Boolean judge = redisTemplate.boundHashOps(key).hasKey(collageOrderDto.getCurrentUserId()); Boolean judge = redisTemplate.boundHashOps(key).hasKey(collageOrderDto.getCurrentUserId());
if(judge){ return judge ? CartResponseUtil.success() : CartResponseUtil.error("当前用户未参与拼单");
CartResponseUtil.success();
}
return CartResponseUtil.error("");
} }
@Override @Override
......
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.WeChatClient;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import java.util.ArrayList;
import org.springframework.web.bind.annotation.RestController; import java.util.List;
/** /**
* All rights Reserved, Designed By www.freemud.com * All rights Reserved, Designed By www.freemud.com
...@@ -28,6 +35,11 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -28,6 +35,11 @@ import org.springframework.web.bind.annotation.RestController;
@Validated @Validated
public class TestController { public class TestController {
@Autowired
private EcologyAdminApplicationClient ecologyAdminApplicationClient;
@Autowired
private WeChatClient weChatClient;
@ApiAnnotation(logMessage = "orderStatusChange") @ApiAnnotation(logMessage = "orderStatusChange")
@PostMapping("/orderStatusChange") @PostMapping("/orderStatusChange")
public PlatformBaseResponse orderStatusChange(@Validated @LogParams @RequestBody PlatformBaseRequest checkBeforeCreateOrderRequestVo) { public PlatformBaseResponse orderStatusChange(@Validated @LogParams @RequestBody PlatformBaseRequest checkBeforeCreateOrderRequestVo) {
...@@ -58,4 +70,55 @@ public class TestController { ...@@ -58,4 +70,55 @@ public class TestController {
return platformBaseResponse; return platformBaseResponse;
} }
@GetMapping("/test/groupBuy")
public BaseResponse testOrderDelivery() {
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);
GroupBuyRequest.UserInfo userInfo2 = new GroupBuyRequest.UserInfo();
userInfo2.setOpenid("ohvIM0VbQw41wCznsgYHu7W6W_bA");
userInfo2.setAmount(2);
GroupBuyRequest.UserInfo userInfo3 = new GroupBuyRequest.UserInfo();
userInfo3.setOpenid("oORZK5MHMBm78PO302NdRyzIY5K0");
userInfo3.setAmount(3);
userInfoList.add(userInfo1);
userInfoList.add(userInfo2);
userInfoList.add(userInfo2);
payList.setUser_info(userInfoList);
groupBuyRequest.setPay_list(payList);
// desc
GroupBuyRequest.Desc desc = new GroupBuyRequest.Desc();
desc.setText_desc("非码商户 20201128");
//String requestUrl = "https://api.weixin.qq.com/wxa/business/groupBuy/createOrder?access_token=" + accessToken;
String result = weChatClient.groupBuyCreateOrder(accessToken, groupBuyRequest);
BaseResponse baseResponse = new BaseResponse();
baseResponse.setResult(result);
log.info("response:{}",JSONObject.toJSONString(baseResponse));
return baseResponse;
}
} }
...@@ -15,6 +15,7 @@ package cn.freemud.service.impl; ...@@ -15,6 +15,7 @@ package cn.freemud.service.impl;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.wechat.GroupBuyResp; import cn.freemud.entities.dto.wechat.GroupBuyResp;
import com.freemud.sdk.api.assortment.order.response.order.GroupBuyResponse;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.WechatGroupBuyVo; import cn.freemud.entities.vo.WechatGroupBuyVo;
import cn.freemud.enums.OrderMarketType; import cn.freemud.enums.OrderMarketType;
......
///** /**
// * All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
// * *
// * @Title: WeChatClient * @Title: WeChatClient
// * @Package cn.freemud.service.thirdparty * @Package cn.freemud.service.thirdparty
// * @Description: * @Description:
// * @author: liming.guo * @author: liming.guo
// * @date: 2018/5/29 16:10 * @date: 2018/5/29 16:10
// * @version V1.0 * @version V1.0
// * @Copyright: 2018 www.freemud.cn Inc. All rights reserved. * @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
// * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
// */ */
//package cn.freemud.service.thirdparty; package cn.freemud.service.thirdparty;
//
//import cn.freemud.entities.dto.GetWxQrcodeDto; import cn.freemud.entities.dto.GetWxQrcodeDto;
//import cn.freemud.entities.dto.WeChatGetAccessTokenResponseDto; import cn.freemud.entities.dto.WeChatGetAccessTokenResponseDto;
//import cn.freemud.entities.dto.WechatSendMessageDto; import cn.freemud.entities.dto.WechatSendMessageDto;
//import org.springframework.cloud.netflix.feign.FeignClient; import com.freemud.sdk.api.assortment.order.request.order.GroupBuyRequest;
//import org.springframework.http.MediaType; import org.springframework.cloud.netflix.feign.FeignClient;
//import org.springframework.web.bind.annotation.*; import org.springframework.http.MediaType;
// import org.springframework.web.bind.annotation.*;
//@FeignClient(name = "WECHAT-SERVICE", url = "${saas.wechatclient.feign.url}")
//public interface WeChatClient { @FeignClient(name = "WECHAT-SERVICE", url = "${saas.wechatclient.feign.url}")
// public interface WeChatClient {
// /**
// * 小程序登录 获取用户openId 和 sercetKey /**
// * * 小程序登录 获取用户openId 和 sercetKey
// * @param appid 小程序appId *
// * @param secret 小程序appSecret * @param appid 小程序appId
// * @param jsCode code * @param secret 小程序appSecret
// * @param grantType authorization_code * @param jsCode code
// * @return * @param grantType authorization_code
// */ * @return
// @GetMapping(value = "/sns/jscode2session",produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) */
// String getSession(@RequestParam("appid") String appid, @RequestParam("secret") String secret, @GetMapping(value = "/sns/jscode2session",produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
// @RequestParam("js_code") String jsCode, @RequestParam("grant_type") String grantType); String getSession(@RequestParam("appid") String appid, @RequestParam("secret") String secret,
// @RequestParam("js_code") String jsCode, @RequestParam("grant_type") String grantType);
//
// /**
// * 小程序登录 获取用户openId 和 sercetKey 小程序授权模式 /**
// */ * 小程序登录 获取用户openId 和 sercetKey 小程序授权模式
// @GetMapping(value = "/sns/component/jscode2session", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) */
// String getCode2session(@RequestParam("appid") String appid, @RequestParam("js_code") String code, @GetMapping(value = "/sns/component/jscode2session", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
// @RequestParam("grant_type") String authorizationCode, @RequestParam("component_appid") String componentAppid, String getCode2session(@RequestParam("appid") String appid, @RequestParam("js_code") String code,
// @RequestParam("component_access_token") String componentAccessToken); @RequestParam("grant_type") String authorizationCode, @RequestParam("component_appid") String componentAppid,
// @RequestParam("component_access_token") String componentAccessToken);
//
// /**
// * 获取小程序access_token /**
// */ * 获取小程序access_token
// @GetMapping(value = "/cgi-bin/token", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) */
// WeChatGetAccessTokenResponseDto getAccessToken(@RequestParam("grant_type") String grantType, @RequestParam("appid") String appid, @GetMapping(value = "/cgi-bin/token", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
// @RequestParam("secret") String secret); WeChatGetAccessTokenResponseDto getAccessToken(@RequestParam("grant_type") String grantType, @RequestParam("appid") String appid,
// @RequestParam("secret") String secret);
//
// /**
// * 获取小程序码 /**
// */ * 获取小程序码
// @PostMapping(value = "wxa/getwxacodeunlimit?access_token=12_-kLukRhVUNHrX2JFwSTHK7ZjAkSAKRQuReFhmoZKGywkUbBNTWoR8IDHbfN0jA1ot_i2xlhkV89tKUqM8hDBsAMPlg6d6p0YnqufZY5B-pFzG_JH7rbb43Lcc3gnNAvHQLrD-rpRg3LGi5VDYERgAFADJW", */
// produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) @PostMapping(value = "wxa/getwxacodeunlimit?access_token=12_-kLukRhVUNHrX2JFwSTHK7ZjAkSAKRQuReFhmoZKGywkUbBNTWoR8IDHbfN0jA1ot_i2xlhkV89tKUqM8hDBsAMPlg6d6p0YnqufZY5B-pFzG_JH7rbb43Lcc3gnNAvHQLrD-rpRg3LGi5VDYERgAFADJW",
// String getWxacodeunlimit(@RequestBody GetWxQrcodeDto getWxQrcodeDto); produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
// String getWxacodeunlimit(@RequestBody GetWxQrcodeDto getWxQrcodeDto);
// @PostMapping(value = "/cgi-bin/message/wxopen/template/send?access_token={accessToken}", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE,
// consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) @PostMapping(value = "/cgi-bin/message/wxopen/template/send?access_token={accessToken}", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE,
// String sendMessageNotice(@PathVariable("accessToken") String accessToken, @RequestBody WechatSendMessageDto wechatSendMessageDto); consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
// String sendMessageNotice(@PathVariable("accessToken") String accessToken, @RequestBody WechatSendMessageDto wechatSendMessageDto);
//
//
//
//
// /**
//} * 发起群收款
*/
@PostMapping(value = "wxa/business/groupBuy/createOrder?access_token={accessToken}",
produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
String groupBuyCreateOrder(@PathVariable("accessToken") String accessToken, @RequestBody GroupBuyRequest groupBuyRequest);
}
package cn.freemud.client;
import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto;
import cn.freemud.entities.dto.wechat.GetTokenResponseDto;
import cn.freemud.entities.vo.WechatGroupBuyVo;
import cn.freemud.service.thirdparty.EcologyAdminApplicationClient;
import cn.freemud.service.thirdparty.WeChatClient;
import com.freemud.sdk.api.assortment.order.request.order.GroupBuyRequest;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-11-28 15:12
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@RunWith(SpringRunner.class)
@SpringBootTest
@EnableDiscoveryClient
@EnableFeignClients
@EnableAutoConfiguration
@Slf4j
public class EcologyAdminApplicationClientTest {
@Autowired
private EcologyAdminApplicationClient ecologyAdminApplicationClient;
@Autowired
private WeChatClient weChatClient;
@Test
public void accessToken() {
String partnerId = "1864";
String appId = "wxb78fb7c6218cb52c";
GetAuthorizerRequestDto getAuthorizerRequestDto = new GetAuthorizerRequestDto();
getAuthorizerRequestDto.setPartnerId(partnerId);
getAuthorizerRequestDto.setAuthorizerAppid(appId);
GetTokenResponseDto getTokenResponseDto = ecologyAdminApplicationClient.getAuthorizerAccessToken(getAuthorizerRequestDto);
log.info(getTokenResponseDto.toString());
}
@Test
public void 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);
GroupBuyRequest.UserInfo userInfo2 = new GroupBuyRequest.UserInfo();
userInfo2.setOpenid("ohvIM0VbQw41wCznsgYHu7W6W_bA");
userInfo2.setAmount(2);
GroupBuyRequest.UserInfo userInfo3 = new GroupBuyRequest.UserInfo();
userInfo3.setOpenid("oORZK5MHMBm78PO302NdRyzIY5K0");
userInfo3.setAmount(3);
userInfoList.add(userInfo1);
userInfoList.add(userInfo2);
userInfoList.add(userInfo2);
payList.setUser_info(userInfoList);
groupBuyRequest.setPay_list(payList);
// desc
GroupBuyRequest.Desc desc = new GroupBuyRequest.Desc();
desc.setText_desc("非码商户 20201128");
//String requestUrl = "https://api.weixin.qq.com/wxa/business/groupBuy/createOrder?access_token=" + accessToken;
String result = weChatClient.groupBuyCreateOrder(accessToken, groupBuyRequest);
log.info(result);
}
}
...@@ -56,9 +56,10 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -56,9 +56,10 @@ public class CollageOrderServiceImpl implements CollageOrderService {
CollageOrderDto collageOrderDto = this.collageOrderAdapter.convert2CollageOrderDto(request); CollageOrderDto collageOrderDto = this.collageOrderAdapter.convert2CollageOrderDto(request);
// 查询时需传入拼单创建人的userId,若上送字段为空时,默认查询当前登录人自己的拼单信息 // 查询时需传入拼单创建人的userId,若上送字段为空时,默认查询当前登录人自己的拼单信息
String currentUserId = this.getUserIdBySessionId(request.getSessionId()); String currentUserId = this.getUserIdBySessionId(request.getSessionId());
collageOrderDto.setCurrentUserId(currentUserId);
// 若拼单发起人ID为空,则默认按当前用户查询
if (StringUtils.isEmpty(request.getCreateCollageUserId())) { if (StringUtils.isEmpty(request.getCreateCollageUserId())) {
collageOrderDto.setCreateCollageUserId(currentUserId); collageOrderDto.setCreateCollageUserId(currentUserId);
collageOrderDto.setCurrentUserId(currentUserId);
} }
BaseResponse<CollageOrder> queryCollageOrderResponse = this.collageOrderBaseService.queryCollageOrder(collageOrderDto); BaseResponse<CollageOrder> queryCollageOrderResponse = this.collageOrderBaseService.queryCollageOrder(collageOrderDto);
CollageOrder collageOrder = queryCollageOrderResponse.getResult(); CollageOrder collageOrder = queryCollageOrderResponse.getResult();
...@@ -229,7 +230,7 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -229,7 +230,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
* @param collageOrderDto * @param collageOrderDto
*/ */
private void checkCollageOrderOwner(CollageOrderDto collageOrderDto) { private void checkCollageOrderOwner(CollageOrderDto collageOrderDto) {
CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrder(collageOrderDto).getResult(); CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrderByCreateCollageUserId(collageOrderDto).getResult();
// 拼单订单信息不存在时,返回错误提示 // 拼单订单信息不存在时,返回错误提示
Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST)); Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST));
// 若当前操作人并非拼单邀请人时,返回错误提示 当前用户不是拼单发起人,无法操作 // 若当前操作人并非拼单邀请人时,返回错误提示 当前用户不是拼单发起人,无法操作
...@@ -257,7 +258,7 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -257,7 +258,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
collageOrderDto.setPhotoUrl(userInfo.getPhotoUrl()); collageOrderDto.setPhotoUrl(userInfo.getPhotoUrl());
// 校验拼单是否存在 // 校验拼单是否存在
CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrder(collageOrderDto).getResult(); CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrderByCreateCollageUserId(collageOrderDto).getResult();
// 拼单订单信息不存在时,返回错误提示 // 拼单订单信息不存在时,返回错误提示
Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST)); Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST));
...@@ -303,18 +304,12 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -303,18 +304,12 @@ public class CollageOrderServiceImpl implements CollageOrderService {
collageOrderDto.setCreateCollageUserId(request.getCreateCollageUserId()); collageOrderDto.setCreateCollageUserId(request.getCreateCollageUserId());
// 校验拼单是否存在 // 校验拼单是否存在
CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrder(collageOrderDto).getResult(); CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrderByCreateCollageUserId(collageOrderDto).getResult();
// 拼单订单信息不存在时,返回错误提示 // 拼单订单信息不存在时,返回错误提示
Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST)); Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST));
// 拼单发起人不能退出只能取消 // 拼单发起人不能退出拼单
// 直接使用当前的用户查询拼单,如果能查询到,则当前用户就是拼单发起人 if(collageOrder.getCreateCollageUserId().equals(currentUserInfoVo.getMemberId())){
CollageOrderDto collageOrderCheckDto = CollageOrderDto.builder()
.partnerId(request.getPartnerId())
.storeId(request.getShopId())
.createCollageUserId(currentUserInfoVo.getMemberId()).build();
CollageOrder collageOrderCheck = this.collageOrderBaseService.queryCollageOrder(collageOrderCheckDto).getResult();
if(null != collageOrderCheck){
throw new ServiceException(ResponseResult.COLLAGE_CREATE_NOT_OUT_OF); throw new ServiceException(ResponseResult.COLLAGE_CREATE_NOT_OUT_OF);
} }
...@@ -354,7 +349,7 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -354,7 +349,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
collageOrderDto.setCreateCollageUserId(request.getCreateCollageUserId()); collageOrderDto.setCreateCollageUserId(request.getCreateCollageUserId());
// 校验拼单是否存在 // 校验拼单是否存在
CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrder(collageOrderDto).getResult(); CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrderByCreateCollageUserId(collageOrderDto).getResult();
// 拼单订单信息不存在时,返回错误提示 // 拼单订单信息不存在时,返回错误提示
Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST)); Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST));
......
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