Commit c8d0c3a2 by hanghang.wang

华莱士

parent 9ac25546
......@@ -26,6 +26,11 @@ public class QuerySpellGroupVo {
private Integer peopleLimit;
/**
* 活动总状态
*/
private Integer activityGroupStatus;
/**
* 当前用户是否已参与:0-否,1-是
*/
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;
import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.entities.dto.promotion.*;
import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.QueryGroupHistoryRequest;
import cn.freemud.entities.vo.QuerySpellGroupRequest;
import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException;
......@@ -126,9 +127,6 @@ public class SpellGroupOrderDataManager {
*/
public ActivityCalculationDiscountResponseDto queryCalculationDiscount(CalculationDiscountRequestDto calculationDiscountRequestDto) {
ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto = promotionDiscountClient.calculationDiscountSharing(calculationDiscountRequestDto);
if (!ResponseResult.SUCCESS.getCode().equals(activityCalculationDiscountResponseDto.getStatusCode()) || activityCalculationDiscountResponseDto.getResult() == null) {
return null;
}
return activityCalculationDiscountResponseDto;
}
......@@ -166,18 +164,27 @@ public class SpellGroupOrderDataManager {
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.setGroupId(groupId);
querySpellGroupRequest.setPartnerId(partnerId);
querySpellGroupRequest.setUserId(userId);
querySpellGroupRequest.setActivityCode(activityCode);
QuerySpellGroupVoResponse querySpellGroupVoResponse = promotionDiscountClient.queryByGroupId(querySpellGroupRequest);
if(!ResponseResult.SUCCESS.getCode().equals(querySpellGroupVoResponse.getStatusCode()) || querySpellGroupVoResponse.getResult() == null ||
querySpellGroupVoResponse.getResult().getGroup() == null ){
return null;
}
return querySpellGroupVoResponse.getResult();
return querySpellGroupVoResponse;
}
/**
......
......@@ -1081,8 +1081,8 @@ public class OrderServiceImpl implements Orderservice {
for(QueryOrderResponseVo orderResponseVo : queryOrderResponseVos){
if (OrderMarketType.GROUPB.getIndex() == orderResponseVo.getMarketingType() && StringUtils.isNotEmpty(orderResponseVo.getSpellGroupCode())
&& orders.get(0).getApportionDetails() != null) {
QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryByGroupId(orderResponseVo.getSpellGroupCode(),
"", orders.get(0).getApportionDetails().get(0).getExternalObjectId(), partnerId);
QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryHistoryByGroupId(orderResponseVo.getSpellGroupCode(),
partnerId);
orderResponseVo.setSpellGroup(querySpellGroupVo);
}
}
......@@ -1672,11 +1672,9 @@ public class OrderServiceImpl implements Orderservice {
//拼团订单
if(OrderMarketType.GROUPB.getIndex() == queryOrderResponseVo.getMarketingType() && StringUtils.isNotEmpty(queryOrderResponseVo.getSpellGroupCode())
&& orderBean.getApportionDetails()!=null){
QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryByGroupId(queryOrderResponseVo.getSpellGroupCode(),
orderBean.getUserId(),orderBean.getApportionDetails().get(0).getExternalObjectId(),partnerId);
QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryHistoryByGroupId(queryOrderResponseVo.getSpellGroupCode(),partnerId);
queryOrderResponseVo.setSpellGroup(querySpellGroupVo);
}
buildQueryOrderResponseVo(queryOrderResponseVo, response, partnerId);
return ResponseUtil.success(queryOrderResponseVo);
......
......@@ -16,6 +16,7 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.entities.dto.promotion.*;
import cn.freemud.entities.vo.CreateSpellGroupOrderReq;
import cn.freemud.enums.ActivityGroupStatusEnum;
import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.manager.SpellGroupOrderDataManager;
......@@ -120,18 +121,14 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
createSpellGroupOrderDto.setNickName(userLoginInfoDto.getNickName());
/*团id不为空,查询团信息,校验团状态是否正常.调用促销查询团是否关闭,关闭之后给提示不可下单*/
if(!StringUtils.isEmpty(createSpellGroupOrderReq.getSpellGroupCode())){
QuerySpellGroupVo querySpellGroupVo = spellGroupOrderDataManager.queryByGroupId(createSpellGroupOrderDto.getSpellGroupCode(),
QuerySpellGroupVoResponse querySpellGroupVoResponse = spellGroupOrderDataManager.queryByGroupIdNew(createSpellGroupOrderDto.getSpellGroupCode(),
createSpellGroupOrderDto.getUserId(),createSpellGroupOrderDto.getActivityCode(),createSpellGroupOrderDto.getPartnerId());
if(querySpellGroupVo == null){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_GROUP_WORK_ERROR);
if(!ResponseResult.SUCCESS.getCode().equals(querySpellGroupVoResponse.getStatusCode()) || querySpellGroupVoResponse.getResult() == null){
return ResponseUtil.error(querySpellGroupVoResponse.getStatusCode(),querySpellGroupVoResponse.getMsg());
}
//只有组团中的拼团才可创建拼团订单
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);
if(!ActivityGroupStatusEnum.NORMAL.getCode().equals(querySpellGroupVoResponse.getResult().getActivityGroupStatus())){
String message = ActivityGroupStatusEnum.getByCode(querySpellGroupVoResponse.getResult().getActivityGroupStatus()).getDesc();
return ResponseUtil.error(message);
}
}
/*获取虚拟门店id,拼单虚拟门店,无需校验。方便后续取值门店名称以及门店英文名称*/
......@@ -158,7 +155,10 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
/*根据商品信息查询促销,获取商品价格等信息->转换促销结算信息*/
CalculationDiscountRequestDto calculationDiscountRequestDto = spellGroupOrderAdapter.convertToCalculationDiscountRequestDto(createSpellGroupOrderDto, userLoginInfoDto);
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);
}
//促销和产品给出规则,如果促销返回的价格是商品原价,则表示库存不足或者活动关闭 肯定:拼团的商品价格,肯定比商品原价低
......
......@@ -19,6 +19,7 @@ import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.ActivityQueryRequestDto;
import cn.freemud.entities.dto.activity.ActivityQueryResponseDto;
import cn.freemud.entities.dto.promotion.*;
import cn.freemud.entities.vo.QueryGroupHistoryRequest;
import cn.freemud.entities.vo.QuerySpellGroupRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
......@@ -85,6 +86,13 @@ public interface PromotionDiscountClient {
@PostMapping("/activity/groupWork/queryByGroupId")
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