Commit e924b95c by hanghang.wang

华莱士

parent 12cf7b32
......@@ -135,7 +135,11 @@ public class SpellGroupOrderAdapter {
discountGoodsDtoList.add(discountGoodsDto);
});
calculationDiscountRequestDto.setGoods(discountGoodsDtoList);
calculationDiscountRequestDto.setGroupActivityCode(createSpellGroupOrderDto.getSpellGroupCode());
List<String> activityCodes = new ArrayList<>();
activityCodes.add(createSpellGroupOrderDto.getActivityCode());
calculationDiscountRequestDto.setGroupActivityCode(activityCodes);
calculationDiscountRequestDto.setVer(1);
return calculationDiscountRequestDto;
}
......@@ -249,7 +253,6 @@ public class SpellGroupOrderAdapter {
groupWorkQueryRequest.setGroupId(createSpellGroupOrderDto.getSpellGroupCode());
groupWorkQueryRequest.setPartnerId(createSpellGroupOrderDto.getPartnerId());
groupWorkQueryRequest.setUserId(createSpellGroupOrderDto.getUserId());
groupWorkQueryRequest.setUserName(createSpellGroupOrderDto.getNickName());
groupWorkQueryRequest.setOrderId("");
return groupWorkQueryRequest;
}
......@@ -270,18 +273,13 @@ public class SpellGroupOrderAdapter {
/**
* 转换拼团订单收货地址reps
*/
public void convertToReceiveAddress(QueryReceiveAddressResponse receiveAddressResult, CreateSpellGroupOrderDto createSpellGroupOrderDto) {
public void convertToReceiveAddress(CreateSpellGroupOrderDto createSpellGroupOrderDto) {
DeliveryContactInfoCreateReq deliveryContactInfoCreateReq = new DeliveryContactInfoCreateReq();
deliveryContactInfoCreateReq.setRelateObjectType(1);
deliveryContactInfoCreateReq.setAddressDetail(receiveAddressResult.getReceiveAddress());
// deliveryContactInfoCreateReq.setAddressDetail("receiveAddressResult.getReceiveAddress()");
deliveryContactInfoCreateReq.setAddressDetail(createSpellGroupOrderDto.getReceiveAddress());
deliveryContactInfoCreateReq.setInfoType(1);
deliveryContactInfoCreateReq.setLatitude(new BigDecimal(receiveAddressResult.getLatitude()));
deliveryContactInfoCreateReq.setLongitude(new BigDecimal(receiveAddressResult.getLongitude()));
deliveryContactInfoCreateReq.setMobile(StringUtils.isEmpty(receiveAddressResult.getMobile()) ? receiveAddressResult.getReceiveMobile() : receiveAddressResult.getMobile());
// deliveryContactInfoCreateReq.setMobile("18516602251");
deliveryContactInfoCreateReq.setContactsName(receiveAddressResult.getReceiveName());
// deliveryContactInfoCreateReq.setContactsName("receiveAddressResult.getReceiveName()");
deliveryContactInfoCreateReq.setMobile(createSpellGroupOrderDto.getReceiveMobile());
deliveryContactInfoCreateReq.setContactsName(createSpellGroupOrderDto.getReceiveUsername());
List<DeliveryContactInfoCreateReq> list = new ArrayList<>();
list.add(deliveryContactInfoCreateReq);
createSpellGroupOrderDto.setDeliveryContactInfoCreateReqList(list);
......
......@@ -91,5 +91,5 @@ public class CalculationDiscountRequestDto {
/**
* 拼团活动是,必传活动号
*/
private String groupActivityCode;
private List<String> groupActivityCode;
}
package cn.freemud.entities.dto.promotion;
import io.swagger.models.auth.In;
import lombok.Data;
import java.util.List;
/**
* @author freemud
* @title: QuerySpellGroupVo
......@@ -15,21 +18,27 @@ public class QuerySpellGroupVo {
/**
* 当前用户是否已参与:0-否,1-是
*/
private String isJoin;
private Integer isJoin;
/**
* 当前用户订单
*/
private String orderId;
private Group group;
private Good good;
private List<Participants> participants;
/**
* 团信息
*/
@Data
public static class group {
public static class Group {
/**
* 团状态:0-组团中,1-已成团,2-成团失败
*/
private String groupStatus;
private Integer groupStatus;
/**
* 拼团结束时间:2021-04-21 23:59:59
*/
......@@ -48,7 +57,7 @@ public class QuerySpellGroupVo {
* 商品信息
*/
@Data
public static class good {
public static class Good {
/**
* 商品id
*/
......@@ -68,7 +77,7 @@ public class QuerySpellGroupVo {
}
@Data
public static class groupInfo {
public static class Participants {
/**
* 是否团长:0不是,1-是
*/
......
......@@ -12,8 +12,8 @@ import lombok.Data;
@Data
public class QuerySpellGroupVoResponse<T> {
private String code;
private String message;
private String statusCode;
private String msg;
private QuerySpellGroupVo result;
......
......@@ -4,6 +4,7 @@ import lombok.Builder;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
......@@ -61,8 +62,27 @@ public class CreateSpellGroupOrderReq {
/**
* 收货地址ID
*/
@NotEmpty(message = "收货地址ID不能为空")
private String receiveId;
// @NotEmpty(message = "收货地址ID不能为空")
// private String receiveId;
/**
* 收货地址
*/
private String receiveAddress;
/**
* 收货用户名
*/
private String receiveUsername;
/**
* 收货电话
*/
@Pattern(regexp = "^1[3|4|5|6|7|8|9][0-9]{9}$", message = "手机号码格式不正确")
private String receiveMobile;
/**
* 收货人性别 sexType 1 男 2 女 0 未知
*/
private Integer sex;
/**
* 拼团活动号
......
......@@ -17,9 +17,9 @@ public class QuerySpellGroupRequest {
*/
private String partnerId;
/**
* sessionId
* 用户id
*/
private String sessionId;
private String userId;
/**
* 活动号
*/
......
......@@ -253,6 +253,7 @@ public enum ResponseResult {
SPELL_GROUP_QUERY_GROUP_WORK_ERROR("80007", "查询拼团信息异常"),
SPELL_GROUP_QUERY_GROUP_STATUS_IS_NOT_NORMAL("80008", "团状态非正常"),
SPELL_GROUP_QUERY_DELIVERYTEMPLATE_ERROR("80009", "查询配送费异常"),
SPELL_GROUP_ISJOIN_ERROR("80010", "用户已经参与此团,不能再次参与"),
SPELL_GROUP_REFUND_ERROR("80015", "取消拼团失败"),
;
......
......@@ -133,13 +133,13 @@ public class SpellGroupOrderDataManager {
* @param groupWorkQueryRequest
* @return
*/
public GroupWorkQueryResponse groupWorkQuery(GroupWorkQueryRequest groupWorkQueryRequest) {
GroupWorkQueryResponse groupWorkQueryResponse = promotionDiscountClient.groupWorkQuery(groupWorkQueryRequest);
if (!ResponseResult.SUCCESS.getCode().equals(groupWorkQueryResponse.getCode()) || groupWorkQueryResponse.getResult() == null) {
return null;
}
return groupWorkQueryResponse;
}
// public GroupWorkQueryResponse groupWorkQuery(GroupWorkQueryRequest groupWorkQueryRequest) {
// GroupWorkQueryResponse groupWorkQueryResponse = promotionDiscountClient.groupWorkQuery(groupWorkQueryRequest);
// if (!ResponseResult.SUCCESS.getCode().equals(groupWorkQueryResponse.getCode()) || groupWorkQueryResponse.getResult() == null) {
// return null;
// }
// return groupWorkQueryResponse;
// }
/**
* 查询配送费
......@@ -174,14 +174,15 @@ public class SpellGroupOrderDataManager {
return groupWorkJoinResponse;
}
public QuerySpellGroupVo queryByGroupId(String groupId, String sessionId, String activityCode, String partnerId){
public QuerySpellGroupVo queryByGroupId(String groupId, String userId, String activityCode, String partnerId){
QuerySpellGroupRequest querySpellGroupRequest = new QuerySpellGroupRequest();
querySpellGroupRequest.setGroupId(groupId);
querySpellGroupRequest.setPartnerId(partnerId);
querySpellGroupRequest.setSessionId(sessionId);
querySpellGroupRequest.setUserId(userId);
querySpellGroupRequest.setActivityCode(activityCode);
QuerySpellGroupVoResponse querySpellGroupVoResponse = promotionDiscountClient.queryByGroupId(querySpellGroupRequest);
if(!ResponseResult.SUCCESS.getCode().equals(querySpellGroupVoResponse.getCode()) || querySpellGroupVoResponse.getResult() == null){
if(!ResponseResult.SUCCESS.getCode().equals(querySpellGroupVoResponse.getStatusCode()) || querySpellGroupVoResponse.getResult() == null ||
querySpellGroupVoResponse.getResult().getGroup() == null ){
return null;
}
return querySpellGroupVoResponse.getResult();
......
......@@ -450,7 +450,6 @@ public class MallOrderServiceImpl implements MallOrderService {
}
if(StringUtils.isEmpty(orderBean.getSpellGroupCode())){
confirmOrderRequest.setSpellGroupCode(groupWorkJoinResponse.getResult().getGroupId());
// confirmOrderRequest.setSpellGroupCode("spe23132123");
}
}
......@@ -502,6 +501,7 @@ public class MallOrderServiceImpl implements MallOrderService {
//支付回掉成功标记
redisCache.save(RedisKeyConstant.KGD_PAYMENT_CALLBACK_FMID + message.getOut_trade_no(), message.getOut_trade_no(), 10L, TimeUnit.MINUTES);
//接单
POSOrderOperationBaseReq acceptOrderReq = new POSOrderOperationBaseReq();
acceptOrderReq.setOrderCode(orderBean.getOid());
......@@ -510,6 +510,8 @@ public class MallOrderServiceImpl implements MallOrderService {
orderRefund(orderBean, "接单失败");
return gson.toJson(message);
}
// 创建配送单
boolean createSuccess = this.createDelivery(orderBean, LogTreadLocal.getTrackingNo());
if(!createSuccess) {
......
......@@ -2128,12 +2128,9 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_GROUP_WORK_ERROR);
}
// 查询团信息
GroupWorkQueryRequest groupWorkQueryRequest = new GroupWorkQueryRequest();
groupWorkQueryRequest.setActivityCode(orderBean.getSpellGroupActivityCode());
groupWorkQueryRequest.setGoodId(orderBean.getSpellGroupActivityCode());
groupWorkQueryRequest.setPartnerId(orderBean.getCompanyId());
GroupWorkQueryResponse groupWorkQueryResponse = spellGroupOrderDataManager.groupWorkQuery(groupWorkQueryRequest);
if(groupWorkQueryResponse == null || groupWorkQueryResponse.getResult() == null){
QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryByGroupId(orderBean.getSpellGroupCode(),orderBean.getUserId(),
orderBean.getSpellGroupActivityCode(),orderBean.getCompanyId());
if(querySpellGroupVo == null ){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_GROUP_WORK_ERROR);
}
}
......
......@@ -13,10 +13,7 @@ import cn.freemud.entities.dto.delivery.QueryDeliveryTemplateRequest;
import cn.freemud.entities.dto.delivery.QueryDeliveryTemplateResponse;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.entities.dto.promotion.CalculationDiscountRequestDto;
import cn.freemud.entities.dto.promotion.CalculationDiscountResponseDto;
import cn.freemud.entities.dto.promotion.GroupWorkQueryRequest;
import cn.freemud.entities.dto.promotion.GroupWorkQueryResponse;
import cn.freemud.entities.dto.promotion.*;
import cn.freemud.entities.vo.CreateSpellGroupOrderReq;
import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException;
......@@ -125,29 +122,29 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
/*团id不为空,调用促销查询团是否关闭,关闭之后给提示不可下单*/
//查询团信息,校验团状态是否正常
if(!StringUtils.isEmpty(createSpellGroupOrderReq.getSpellGroupCode())){
GroupWorkQueryRequest groupWorkQueryRequestBefore = spellGroupOrderAdapter.groupWorkQueryRequest(createSpellGroupOrderDto);
GroupWorkQueryResponse groupWorkQueryResponse = spellGroupOrderDataManager.groupWorkQuery(groupWorkQueryRequestBefore);
if(groupWorkQueryResponse == null || groupWorkQueryResponse.getResult() == null){
QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryByGroupId(createSpellGroupOrderDto.getSpellGroupCode(),
createSpellGroupOrderDto.getUserId(),createSpellGroupOrderDto.getActivityCode(),createSpellGroupOrderDto.getPartnerId());
if(querySpellGroupVo == null){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_GROUP_WORK_ERROR);
}
if(groupWorkQueryResponse.getResult().getStatus() == 1){
if(querySpellGroupVo.getGroup().getGroupStatus() != 0){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_GROUP_STATUS_IS_NOT_NORMAL);
}
if(querySpellGroupVo.getIsJoin() == 1){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_ISJOIN_ERROR);
}
}
/*---------团开启 则继续执行-------*/
/*获取门店信息,拼单虚拟门店,无需校验*/
StoreResponse storeResponse = spellGroupOrderDataManager.getStoreInfo(createSpellGroupOrderReq.getPartnerId(), createSpellGroupOrderReq.getStoreId(), trackingNo);
if(storeResponse == null || storeResponse.getBizVO() == null){
return ResponseUtil.error(ResponseResult.STORE_ITEM_QUERY_ERROR);
// storeResponse = new StoreResponse();
}
//门店信息->转换至DTO
createSpellGroupOrderDto.setStoreResponse(storeResponse);
/*查询配送地址等信息->转换至DTO*/
QueryReceiveAddressResponse queryReceiveAddressResponse = spellGroupOrderDataManager.queryOrderReceiveAddress(createSpellGroupOrderReq.getReceiveId(), createSpellGroupOrderReq.getPartnerId(), trackingNo);
if(queryReceiveAddressResponse == null){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_ORDER_RECEIVE_ADDRESS_ERROR);
}
spellGroupOrderAdapter.convertToReceiveAddress(queryReceiveAddressResponse, createSpellGroupOrderDto);
spellGroupOrderAdapter.convertToReceiveAddress(createSpellGroupOrderDto);
/*查询商品信息*/
List<ProductInfo> productInfosDto = spellGroupOrderDataManager.queryProductInfos(createSpellGroupOrderDto);
if(productInfosDto == null){
......@@ -162,7 +159,7 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
}
//促销和产品给出规则,如果促销返回的价格是商品原价,则表示库存不足或者活动关闭 == 拼团的商品价格,肯定比商品原价低
if (activityCalculationDiscountResponseDto.getResult().getTotalAmount().equals(productInfosDto.get(0).getOriginalPrice())) {
// return ResponseUtil.error(ResponseResult.SPELL_GROUP_ACTIVITE_AMOUNT_ERROR);
return ResponseUtil.error(ResponseResult.SPELL_GROUP_ACTIVITE_AMOUNT_ERROR);
}
createSpellGroupOrderDto.setActivityCalculationDiscountResponseDto(activityCalculationDiscountResponseDto);
//转换费用信息->查询配送费
......@@ -173,7 +170,6 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
}
//转换类存入费用信息->配送费
createSpellGroupOrderDto.setDeliveryTemplateInfoVo(queryDeliveryTemplateResponse.getData());
//DTO转换为订单Request信息
com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest createOrderRequest = spellGroupOrderAdapter.convertToCreateOrderRequest(createSpellGroupOrderDto, userLoginInfoDto);
com.freemud.application.sdk.api.ordercenter.response.BaseResponse<OrderInfoReqs> response = orderSdkService.createOrder(createOrderRequest, trackingNo);
......
......@@ -74,7 +74,7 @@ public interface PromotionDiscountClient {
* @param groupWorkJoinRequest
* @return
*/
@PostMapping("/groupwork/join")
@PostMapping("/activity/groupwork/join")
GroupWorkJoinResponse groupWorkJoin(GroupWorkJoinRequest groupWorkJoinRequest);
/**
......@@ -82,7 +82,7 @@ public interface PromotionDiscountClient {
* @param querySpellGroupRequest
* @return
*/
@PostMapping("/promotionActivity/groupWork/queryByGroupId")
@PostMapping("/activity/groupWork/queryByGroupId")
QuerySpellGroupVoResponse queryByGroupId(QuerySpellGroupRequest querySpellGroupRequest);
......
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