Commit c8d0c3a2 by hanghang.wang

华莱士

parent 9ac25546
...@@ -26,6 +26,11 @@ public class QuerySpellGroupVo { ...@@ -26,6 +26,11 @@ public class QuerySpellGroupVo {
private Integer peopleLimit; private Integer peopleLimit;
/** /**
* 活动总状态
*/
private Integer activityGroupStatus;
/**
* 当前用户是否已参与:0-否,1-是 * 当前用户是否已参与:0-否,1-是
*/ */
private Integer isJoin; private Integer isJoin;
......
package cn.freemud.entities.vo;
import lombok.Data;
import java.util.List;
/**
* @author freemud
* @title: QueryGroupHistoryRequest
* @projectName order-group
* @description: TODO
* @date 2021/4/28上午11:08
*/
@Data
public class QueryGroupHistoryRequest {
private String partnerId;
private List<String> groupIds;
}
package cn.freemud.enums;
/**
* @author freemud
* @title: ActivityGroupStatusEnum
* @projectName order-group
* @description: TODO
* @date 2021/4/27下午6:01
*/
public enum ActivityGroupStatusEnum {
NORMAL(1,"正常"),
INSUFFICIENT_INVENTORY(2,"库存不足"),
UPPER_LIMIT_OF_NUMBE(3,"您参与次数达到上限"),
GROUP_HAS_FAILURE(4,"团已失效"),
NUMBER_HAS_REACHED(5,"拼团活动人数已满"),
ACTIVITY_DOES_NOT_EXIST(6,"活动不存在")
;
private Integer code;
private String desc;
ActivityGroupStatusEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public static ActivityGroupStatusEnum getByCode(Integer code) {
for (ActivityGroupStatusEnum activityGroupStatusEnum : values()) {
if (activityGroupStatusEnum.getCode().equals(code)) {
return activityGroupStatusEnum;
}
}
return null;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
...@@ -9,6 +9,7 @@ import cn.freemud.entities.dto.ecology.VirtualStoreRequest; ...@@ -9,6 +9,7 @@ import cn.freemud.entities.dto.ecology.VirtualStoreRequest;
import cn.freemud.entities.dto.product.ProductInfo; import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.entities.dto.promotion.*; import cn.freemud.entities.dto.promotion.*;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.QueryGroupHistoryRequest;
import cn.freemud.entities.vo.QuerySpellGroupRequest; import cn.freemud.entities.vo.QuerySpellGroupRequest;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
...@@ -126,9 +127,6 @@ public class SpellGroupOrderDataManager { ...@@ -126,9 +127,6 @@ public class SpellGroupOrderDataManager {
*/ */
public ActivityCalculationDiscountResponseDto queryCalculationDiscount(CalculationDiscountRequestDto calculationDiscountRequestDto) { public ActivityCalculationDiscountResponseDto queryCalculationDiscount(CalculationDiscountRequestDto calculationDiscountRequestDto) {
ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto = promotionDiscountClient.calculationDiscountSharing(calculationDiscountRequestDto); ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto = promotionDiscountClient.calculationDiscountSharing(calculationDiscountRequestDto);
if (!ResponseResult.SUCCESS.getCode().equals(activityCalculationDiscountResponseDto.getStatusCode()) || activityCalculationDiscountResponseDto.getResult() == null) {
return null;
}
return activityCalculationDiscountResponseDto; return activityCalculationDiscountResponseDto;
} }
...@@ -166,18 +164,27 @@ public class SpellGroupOrderDataManager { ...@@ -166,18 +164,27 @@ public class SpellGroupOrderDataManager {
return groupWorkJoinResponse; return groupWorkJoinResponse;
} }
public QuerySpellGroupVo queryByGroupId(String groupId, String userId, String activityCode, String partnerId){ public QuerySpellGroupVo queryHistoryByGroupId(String groupId, String partnerId){
QueryGroupHistoryRequest querySpellGroupRequest = new QueryGroupHistoryRequest();
List<String> groups = new ArrayList<>();
groups.add(groupId);
querySpellGroupRequest.setPartnerId(partnerId);
querySpellGroupRequest.setGroupIds(groups);
QuerySpellGroupVoResponse querySpellGroupVoResponse = promotionDiscountClient.queryHistory(querySpellGroupRequest);
if(!ResponseResult.SUCCESS.getCode().equals(querySpellGroupVoResponse.getStatusCode()) || querySpellGroupVoResponse.getResult() == null){
return null;
}
return querySpellGroupVoResponse.getResult();
}
public QuerySpellGroupVoResponse queryByGroupIdNew(String groupId, String userId, String activityCode, String partnerId){
QuerySpellGroupRequest querySpellGroupRequest = new QuerySpellGroupRequest(); QuerySpellGroupRequest querySpellGroupRequest = new QuerySpellGroupRequest();
querySpellGroupRequest.setGroupId(groupId); querySpellGroupRequest.setGroupId(groupId);
querySpellGroupRequest.setPartnerId(partnerId); querySpellGroupRequest.setPartnerId(partnerId);
querySpellGroupRequest.setUserId(userId); querySpellGroupRequest.setUserId(userId);
querySpellGroupRequest.setActivityCode(activityCode); querySpellGroupRequest.setActivityCode(activityCode);
QuerySpellGroupVoResponse querySpellGroupVoResponse = promotionDiscountClient.queryByGroupId(querySpellGroupRequest); QuerySpellGroupVoResponse querySpellGroupVoResponse = promotionDiscountClient.queryByGroupId(querySpellGroupRequest);
if(!ResponseResult.SUCCESS.getCode().equals(querySpellGroupVoResponse.getStatusCode()) || querySpellGroupVoResponse.getResult() == null || return querySpellGroupVoResponse;
querySpellGroupVoResponse.getResult().getGroup() == null ){
return null;
}
return querySpellGroupVoResponse.getResult();
} }
/** /**
......
...@@ -1081,8 +1081,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1081,8 +1081,8 @@ public class OrderServiceImpl implements Orderservice {
for(QueryOrderResponseVo orderResponseVo : queryOrderResponseVos){ for(QueryOrderResponseVo orderResponseVo : queryOrderResponseVos){
if (OrderMarketType.GROUPB.getIndex() == orderResponseVo.getMarketingType() && StringUtils.isNotEmpty(orderResponseVo.getSpellGroupCode()) if (OrderMarketType.GROUPB.getIndex() == orderResponseVo.getMarketingType() && StringUtils.isNotEmpty(orderResponseVo.getSpellGroupCode())
&& orders.get(0).getApportionDetails() != null) { && orders.get(0).getApportionDetails() != null) {
QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryByGroupId(orderResponseVo.getSpellGroupCode(), QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryHistoryByGroupId(orderResponseVo.getSpellGroupCode(),
"", orders.get(0).getApportionDetails().get(0).getExternalObjectId(), partnerId); partnerId);
orderResponseVo.setSpellGroup(querySpellGroupVo); orderResponseVo.setSpellGroup(querySpellGroupVo);
} }
} }
...@@ -1672,11 +1672,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1672,11 +1672,9 @@ public class OrderServiceImpl implements Orderservice {
//拼团订单 //拼团订单
if(OrderMarketType.GROUPB.getIndex() == queryOrderResponseVo.getMarketingType() && StringUtils.isNotEmpty(queryOrderResponseVo.getSpellGroupCode()) if(OrderMarketType.GROUPB.getIndex() == queryOrderResponseVo.getMarketingType() && StringUtils.isNotEmpty(queryOrderResponseVo.getSpellGroupCode())
&& orderBean.getApportionDetails()!=null){ && orderBean.getApportionDetails()!=null){
QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryByGroupId(queryOrderResponseVo.getSpellGroupCode(), QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryHistoryByGroupId(queryOrderResponseVo.getSpellGroupCode(),partnerId);
orderBean.getUserId(),orderBean.getApportionDetails().get(0).getExternalObjectId(),partnerId);
queryOrderResponseVo.setSpellGroup(querySpellGroupVo); queryOrderResponseVo.setSpellGroup(querySpellGroupVo);
} }
buildQueryOrderResponseVo(queryOrderResponseVo, response, partnerId); buildQueryOrderResponseVo(queryOrderResponseVo, response, partnerId);
return ResponseUtil.success(queryOrderResponseVo); return ResponseUtil.success(queryOrderResponseVo);
......
...@@ -16,6 +16,7 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto; ...@@ -16,6 +16,7 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.product.ProductInfo; import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.entities.dto.promotion.*; import cn.freemud.entities.dto.promotion.*;
import cn.freemud.entities.vo.CreateSpellGroupOrderReq; import cn.freemud.entities.vo.CreateSpellGroupOrderReq;
import cn.freemud.enums.ActivityGroupStatusEnum;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.manager.SpellGroupOrderDataManager; import cn.freemud.manager.SpellGroupOrderDataManager;
...@@ -120,18 +121,14 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService { ...@@ -120,18 +121,14 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
createSpellGroupOrderDto.setNickName(userLoginInfoDto.getNickName()); createSpellGroupOrderDto.setNickName(userLoginInfoDto.getNickName());
/*团id不为空,查询团信息,校验团状态是否正常.调用促销查询团是否关闭,关闭之后给提示不可下单*/ /*团id不为空,查询团信息,校验团状态是否正常.调用促销查询团是否关闭,关闭之后给提示不可下单*/
if(!StringUtils.isEmpty(createSpellGroupOrderReq.getSpellGroupCode())){ if(!StringUtils.isEmpty(createSpellGroupOrderReq.getSpellGroupCode())){
QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryByGroupId(createSpellGroupOrderDto.getSpellGroupCode(), QuerySpellGroupVoResponse querySpellGroupVoResponse = spellGroupOrderDataManager.queryByGroupIdNew(createSpellGroupOrderDto.getSpellGroupCode(),
createSpellGroupOrderDto.getUserId(),createSpellGroupOrderDto.getActivityCode(),createSpellGroupOrderDto.getPartnerId()); createSpellGroupOrderDto.getUserId(),createSpellGroupOrderDto.getActivityCode(),createSpellGroupOrderDto.getPartnerId());
if(querySpellGroupVo == null){ if(!ResponseResult.SUCCESS.getCode().equals(querySpellGroupVoResponse.getStatusCode()) || querySpellGroupVoResponse.getResult() == null){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_GROUP_WORK_ERROR); return ResponseUtil.error(querySpellGroupVoResponse.getStatusCode(),querySpellGroupVoResponse.getMsg());
} }
//只有组团中的拼团才可创建拼团订单 if(!ActivityGroupStatusEnum.NORMAL.getCode().equals(querySpellGroupVoResponse.getResult().getActivityGroupStatus())){
if(querySpellGroupVo.getGroup().getGroupStatus() != 0){ String message = ActivityGroupStatusEnum.getByCode(querySpellGroupVoResponse.getResult().getActivityGroupStatus()).getDesc();
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_GROUP_STATUS_IS_NOT_NORMAL); return ResponseUtil.error(message);
}
//当前用户是否已参与此团
if(querySpellGroupVo.getIsJoin() == 1){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_ISJOIN_ERROR);
} }
} }
/*获取虚拟门店id,拼单虚拟门店,无需校验。方便后续取值门店名称以及门店英文名称*/ /*获取虚拟门店id,拼单虚拟门店,无需校验。方便后续取值门店名称以及门店英文名称*/
...@@ -158,12 +155,15 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService { ...@@ -158,12 +155,15 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
/*根据商品信息查询促销,获取商品价格等信息->转换促销结算信息*/ /*根据商品信息查询促销,获取商品价格等信息->转换促销结算信息*/
CalculationDiscountRequestDto calculationDiscountRequestDto = spellGroupOrderAdapter.convertToCalculationDiscountRequestDto(createSpellGroupOrderDto, userLoginInfoDto); CalculationDiscountRequestDto calculationDiscountRequestDto = spellGroupOrderAdapter.convertToCalculationDiscountRequestDto(createSpellGroupOrderDto, userLoginInfoDto);
ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto = spellGroupOrderDataManager.queryCalculationDiscount(calculationDiscountRequestDto); ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto = spellGroupOrderDataManager.queryCalculationDiscount(calculationDiscountRequestDto);
if(activityCalculationDiscountResponseDto == null){ if(ResponseResult.PARTICIPATE_IN_THE_GROUP_OVERRUN.getCode().equals(activityCalculationDiscountResponseDto.getStatusCode())){
return ResponseUtil.error(ResponseResult.PARTICIPATE_IN_THE_GROUP_OVERRUN);
}
if (!ResponseResult.SUCCESS.getCode().equals(activityCalculationDiscountResponseDto.getStatusCode()) || activityCalculationDiscountResponseDto.getResult() == null) {
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_CALCULATION_DISCOUNT_ERROR); return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_CALCULATION_DISCOUNT_ERROR);
} }
//促销和产品给出规则,如果促销返回的价格是商品原价,则表示库存不足或者活动关闭 肯定:拼团的商品价格,肯定比商品原价低 //促销和产品给出规则,如果促销返回的价格是商品原价,则表示库存不足或者活动关闭 肯定:拼团的商品价格,肯定比商品原价低
if (activityCalculationDiscountResponseDto.getResult().getTotalAmount().equals(productInfosDto.get(0).getOriginalPrice())) { 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); createSpellGroupOrderDto.setActivityCalculationDiscountResponseDto(activityCalculationDiscountResponseDto);
/*转换request->查询快递费用信息->转换dto*/ /*转换request->查询快递费用信息->转换dto*/
......
...@@ -19,6 +19,7 @@ import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto; ...@@ -19,6 +19,7 @@ import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.ActivityQueryRequestDto; import cn.freemud.entities.dto.ActivityQueryRequestDto;
import cn.freemud.entities.dto.activity.ActivityQueryResponseDto; import cn.freemud.entities.dto.activity.ActivityQueryResponseDto;
import cn.freemud.entities.dto.promotion.*; import cn.freemud.entities.dto.promotion.*;
import cn.freemud.entities.vo.QueryGroupHistoryRequest;
import cn.freemud.entities.vo.QuerySpellGroupRequest; import cn.freemud.entities.vo.QuerySpellGroupRequest;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -85,6 +86,13 @@ public interface PromotionDiscountClient { ...@@ -85,6 +86,13 @@ public interface PromotionDiscountClient {
@PostMapping("/activity/groupWork/queryByGroupId") @PostMapping("/activity/groupWork/queryByGroupId")
QuerySpellGroupVoResponse queryByGroupId(QuerySpellGroupRequest querySpellGroupRequest); QuerySpellGroupVoResponse queryByGroupId(QuerySpellGroupRequest querySpellGroupRequest);
/**
* 通过团号查询团信息
* @param querySpellGroupRequest
* @return
*/
@PostMapping("/activity/groupWork/queryHistory")
QuerySpellGroupVoResponse queryHistory(QueryGroupHistoryRequest 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