Commit e4a6b991 by zhiheng.zhang

Merge remote-tracking branch 'origin/feature/20210420-华莱士公用分支-张志恒' into…

Merge remote-tracking branch 'origin/feature/20210420-华莱士公用分支-张志恒' into feature/20210420-华莱士公用分支-张志恒
parents 06866e3f df9e4934
......@@ -4,6 +4,7 @@ import cn.freemud.base.constant.Version;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.freemud.application.sdk.api.couponcenter.offline.domain.ProductRedeemVO;
import com.freemud.application.sdk.api.couponcenter.offline.domain.TransactionVO;
import com.freemud.application.sdk.api.couponcenter.offline.request.CouponLockRequest;
......@@ -1013,6 +1014,21 @@ public class OrderSdkAdapter {
//售后单状态 1:待处理 2:退货中 3:拒绝退款 4:已退货 5:完成 6:取消
refundBean.setStatus(getOldOrderRefundStatus(afterSalesOrderResp.getAfterSalesStatus()));
refundBean.setCreateTime(afterSalesOrderResp.getCreateTime());
refundBean.setExtInfo(afterSalesOrderResp.getExtInfo());
if (StringUtils.isNotBlank(afterSalesOrderResp.getExtInfo())) {
AfterOrderExtInfoDto extInfoDto = JSONObject.parseObject(afterSalesOrderResp.getExtInfo(), new TypeReference<AfterOrderExtInfoDto>() {
}.getType());
if (extInfoDto != null) {
RefundModeEnum refundModeEnum;
if ((refundModeEnum = RefundModeEnum.getByIndex(extInfoDto.getRefundMode())) != null) {
refundBean.setRefundMode(refundModeEnum.getIndex());
refundBean.setRefundModeDesc(refundModeEnum.getName());
}
refundBean.setBatchRefundId(extInfoDto.getBatchRefundId());
}
}
refundBeans.add(refundBean);
}
return refundBeans;
......
......@@ -793,12 +793,36 @@ public class QueryOrdersResponse {
private Integer status;
private String remark;
//商家退单审核 备注
/**
* 商家退单审核 备注
*/
private String decisionReason;
//创建时间
/**
* 售后单创建时间
*/
private String createTime;
/**
* 拓展信息
*/
private String extInfo;
/**
* 退款方式
*/
private Byte refundMode;
/**
* 退款方式说明
*/
private String refundModeDesc;
/**
* 批量退款批次号
*/
private Long batchRefundId ;
}
@NoArgsConstructor
......
......@@ -53,7 +53,7 @@ public class SpellGroupOrderAdapter {
createOrderRequest.setPartnerId(createSpellGroupOrderDto.getPartnerId());
createOrderRequest.setStoreId(createSpellGroupOrderDto.getStoreId());
createOrderRequest.setThirdStoreId(createSpellGroupOrderDto.getStoreId());
StoreResponse.BizVO storeInfo = createSpellGroupOrderDto.getStoreResponse().getBizVO();
StoreResponse.BizVO storeInfo = createSpellGroupOrderDto.getStore();
createOrderRequest.setStoreName(storeInfo.getStoreName());
createOrderRequest.setStoreNameEn(storeInfo.getStoreNameEn());
createOrderRequest.setUserId(createSpellGroupOrderDto.getUserId());
......@@ -69,10 +69,10 @@ public class SpellGroupOrderAdapter {
//运费
long freight = 0 ;
//判断是否包邮,包邮的话运费为0
if (createSpellGroupOrderDto.getDeliveryTemplateInfoVo().getIsDispatchFree() == false) {
freight = createSpellGroupOrderDto.getDeliveryTemplateInfoVo().getFreight();
if (createSpellGroupOrderDto.getDeliveryTemplateInfo().getIsDispatchFree() == false) {
freight = createSpellGroupOrderDto.getDeliveryTemplateInfo().getFreight();
}
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscount = createSpellGroupOrderDto.getActivityCalculationDiscountResponseDto().getResult();
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscount = createSpellGroupOrderDto.getCalculationDiscount();
createOrderRequest.setActualPayAmount(calculationDiscount.getTotalAmount().longValue() + freight); //加配送费
createOrderRequest.setSettlementAmount(calculationDiscount.getTotalAmount().longValue() + freight);
createOrderRequest.setOriginalAmount(calculationDiscount.getOriginalTotalAmount().longValue() + freight);
......@@ -240,20 +240,20 @@ public class SpellGroupOrderAdapter {
public ActivityUpdateStockRequest convert2ActivityUpdateStockRequest(QueryOrdersResponse.DataBean.OrderBean orderBean, CreateSpellGroupOrderDto createSpellGroupOrderDto) {
if (orderBean == null || createSpellGroupOrderDto.getActivityCalculationDiscountResponseDto().getResult() == null) {
if (orderBean == null || createSpellGroupOrderDto.getCalculationDiscount() == null) {
return null;
}
ActivityUpdateStockRequest activityUpdateStockRequest = new ActivityUpdateStockRequest();
activityUpdateStockRequest.setOrderId(orderBean.getOid());
activityUpdateStockRequest.setPartnerCode(orderBean.getCompanyId());
activityUpdateStockRequest.setStoreId(orderBean.getShopId());
activityUpdateStockRequest.setVer(createSpellGroupOrderDto.getActivityCalculationDiscountResponseDto().getVer().toString());
activityUpdateStockRequest.setVer("1");
activityUpdateStockRequest.setUserId(orderBean.getUserId());
activityUpdateStockRequest.setOrderCreateTime(DateUtil.getCurrentDate(DateUtil.FORMAT_yyyyMMdd_date));
List<String> activityList = new ArrayList<>();
activityList.add(createSpellGroupOrderDto.getActivityCode());
activityUpdateStockRequest.setActivityList(activityList);
activityUpdateStockRequest.setStock(createSpellGroupOrderDto.getActivityCalculationDiscountResponseDto().getResult().getStocks());
activityUpdateStockRequest.setStock(createSpellGroupOrderDto.getCalculationDiscount().getStocks());
return activityUpdateStockRequest;
}
......@@ -272,7 +272,7 @@ public class SpellGroupOrderAdapter {
QueryDeliveryTemplateRequest queryDeliveryTemplateRequest = new QueryDeliveryTemplateRequest();
queryDeliveryTemplateRequest.setPartnerId(createSpellGroupOrderDto.getPartnerId());
queryDeliveryTemplateRequest.setProvince(createSpellGroupOrderDto.getProvince());
queryDeliveryTemplateRequest.setOrderAmount(createSpellGroupOrderDto.getActivityCalculationDiscountResponseDto().getResult().getTotalAmount().intValue());
queryDeliveryTemplateRequest.setOrderAmount(createSpellGroupOrderDto.getCalculationDiscount().getTotalAmount().intValue());
queryDeliveryTemplateRequest.setCount(createSpellGroupOrderDto.getProducts().size());
return queryDeliveryTemplateRequest;
}
......
......@@ -10,6 +10,7 @@ public class ResponseCodeConstant {
public final static String RESPONSE_SUCCESS_STR = "100";
public final static String COCO_RESPONSE_COUPON_ERR_STR = "49000";
public final static String USER_HAVE_NO_COUPON = "44039";
public final static String RESPONSE_SUCCESS_OK = "ok";
public final static Integer RESPONSE_SUCCESS_1 = 1;
......
......@@ -55,16 +55,16 @@ public class CreateSpellGroupOrderDto extends CreateSpellGroupOrderReq {
/**
* 存储促销返回商品算价信息
*/
private ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto;
private ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscount;
/**
* 门店信息
*/
private StoreResponse storeResponse;
private StoreResponse.BizVO store;
/**
*配送费信息
*/
private QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo deliveryTemplateInfoVo;
private QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo deliveryTemplateInfo;
}
......@@ -5,6 +5,7 @@ import lombok.Builder;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;
......@@ -77,8 +78,8 @@ public class CreateSpellGroupOrderReq {
@ApiModelProperty(value = "拼团活动号")
private String activityCode;
@NotNull(message = "拼团商品信息不能为空")
@ApiModelProperty(value = "拼团商品集合")
@Valid
private List<SpellGroupProduct> spellGroupProductList;
/**
......@@ -93,7 +94,9 @@ public class CreateSpellGroupOrderReq {
*/
@Data
public static class SpellGroupProduct {
@NotNull(message = "商品id不能为空")
private String productId;
@NotNull(message = "数量不能为空")
private Integer productQuantity;
}
......
......@@ -12,14 +12,11 @@
*/
package cn.freemud.entities.vo;
import cn.freemud.enums.RefundModeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.constraints.NotBlank;
/**
* 用户退货快递信息
*
......
......@@ -12,7 +12,7 @@
*/
package cn.freemud.entities.vo;
import cn.freemud.enums.RefundModeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.RefundModeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -43,7 +43,7 @@ public class OrderRefundVo {
/**
* 微商城退款方式
*
* @see cn.freemud.enums.RefundModeEnum
* @see RefundModeEnum#getIndex()
*/
@ApiModelProperty(value = "微商城退款方式", notes = RefundModeEnum.API_DOC)
private Byte refundMode;
......
......@@ -12,11 +12,7 @@
*/
package cn.freemud.entities.vo;
import cn.freemud.enums.RefundModeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
/**
* 拼团批量退款申请
......
......@@ -60,6 +60,7 @@ import com.freemud.application.sdk.api.log.ThirdPartyLog;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesStatus;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.RefundModeEnum;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.application.sdk.api.ordercenter.request.POSOrderOperationBaseReq;
......
......@@ -88,10 +88,7 @@ import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.entities.PayItem;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.enums.ProductTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.*;
import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
......@@ -2225,7 +2222,7 @@ public class OrderServiceImpl implements Orderservice {
if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
// 拼团订单主动退款触发通知促销
if (Objects.equals(com.freemud.sdk.api.assortment.order.enums.OrderSourceType.SAASMALL.getCode(), orderBean.getSource())
&& Objects.equals(OrderMarketType.GROUPB.getIndex(), orderBean.getMarketingType()) && StringUtils.isBlank(orderBean.getSpellGroupCode())) {
&& Objects.equals(OrderMarketType.GROUPB.getIndex(), orderBean.getMarketingType())) {
GroupWorkRefundRequest groupWorkRefundRequest = spellGroupOrderAdapter.convertToGroupWorkRefundRequest(orderBean.getSpellGroupActivityCode(),orderBean.getSpellGroupCode(),orderBean.getOid(),orderBean.getUserId());
GroupWorkRefundResponse refundResponse = spellGroupOrderDataManager.groupWorkRefund(groupWorkRefundRequest);
if (Objects.isNull(refundResponse) || !Objects.equals(ResponseConstant.SUCCESS_RESPONSE_CODE, refundResponse.getStatusCode())) {
......
......@@ -114,15 +114,10 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
if (userLoginInfoDto == null || StringUtils.isEmpty(userLoginInfoDto.getMemberId())) {
return ResponseUtil.error(ResponseResult.NOT_LOGIN);
}
/*初始化service业务DTO类,后续数据收集以及转换依据CreateSpellGroupOrderDto*/
CreateSpellGroupOrderDto createSpellGroupOrderDto = new CreateSpellGroupOrderDto();
BeanUtils.copyProperties(createSpellGroupOrderReq, createSpellGroupOrderDto);
createSpellGroupOrderDto.setUserId(userLoginInfoDto.getMemberId());
createSpellGroupOrderDto.setNickName(userLoginInfoDto.getNickName());
/*团id不为空,查询团信息,校验团状态是否正常.调用促销查询团是否关闭,关闭之后给提示不可下单*/
if(!StringUtils.isEmpty(createSpellGroupOrderReq.getSpellGroupCode())){
QuerySpellGroupVoResponse querySpellGroupVoResponse = spellGroupOrderDataManager.queryByGroupIdNew(createSpellGroupOrderDto.getSpellGroupCode(),
createSpellGroupOrderDto.getUserId(),createSpellGroupOrderDto.getActivityCode(),createSpellGroupOrderDto.getPartnerId());
QuerySpellGroupVoResponse querySpellGroupVoResponse = spellGroupOrderDataManager.queryByGroupIdNew(createSpellGroupOrderReq.getSpellGroupCode(),
userLoginInfoDto.getMemberId(),createSpellGroupOrderReq.getActivityCode(),createSpellGroupOrderReq.getPartnerId());
if(!ResponseResult.SUCCESS.getCode().equals(querySpellGroupVoResponse.getStatusCode()) || querySpellGroupVoResponse.getResult() == null){
return ResponseUtil.error(querySpellGroupVoResponse.getStatusCode(),querySpellGroupVoResponse.getMsg());
}
......@@ -131,21 +126,25 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
return ResponseUtil.error(message);
}
}
/*初始化service业务DTO类,后续数据收集以及转换依据CreateSpellGroupOrderDto*/
CreateSpellGroupOrderDto createSpellGroupOrderDto = new CreateSpellGroupOrderDto();
BeanUtils.copyProperties(createSpellGroupOrderReq, createSpellGroupOrderDto);
/*前端传入地址等信息->转换至DTO*/
spellGroupOrderAdapter.convertToReceiveAddress(createSpellGroupOrderDto);
createSpellGroupOrderDto.setUserId(userLoginInfoDto.getMemberId());
createSpellGroupOrderDto.setNickName(userLoginInfoDto.getNickName());
/*获取虚拟门店id,拼单虚拟门店,无需校验。方便后续取值门店名称以及门店英文名称*/
VirtualBindStoreResponse virtualBindStoreResponse = spellGroupOrderDataManager.change2BindMallShopId(createSpellGroupOrderReq.getAppId());
if(virtualBindStoreResponse == null){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_BIND_STORE_ERROR);
}
createSpellGroupOrderDto.setStoreId(virtualBindStoreResponse.getStoreId());
/*门店信息->转换至DTO*/
StoreResponse storeResponse = spellGroupOrderDataManager.getStoreInfo(createSpellGroupOrderReq.getPartnerId(), virtualBindStoreResponse.getStoreId(), trackingNo);
if(storeResponse == null || storeResponse.getBizVO() == null){
return ResponseUtil.error(ResponseResult.STORE_ITEM_QUERY_ERROR);
}
/*门店信息->转换至DTO*/
createSpellGroupOrderDto.setStoreResponse(storeResponse);
/*前端传入地址等信息->转换至DTO*/
spellGroupOrderAdapter.convertToReceiveAddress(createSpellGroupOrderDto);
createSpellGroupOrderDto.setStore(storeResponse.getBizVO());
/*查询拼团商品信息->转换至DTO*/
List<ProductInfo> productInfosDto = spellGroupOrderDataManager.queryProductInfos(createSpellGroupOrderDto);
if(productInfosDto == null){
......@@ -165,14 +164,14 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
if (activityCalculationDiscountResponseDto.getResult().getTotalAmount().equals(productInfosDto.get(0).getOriginalPrice())) {
return ResponseUtil.error(ResponseResult.SPELL_GROUP_ACTIVITE_AMOUNT_ERROR);
}
createSpellGroupOrderDto.setActivityCalculationDiscountResponseDto(activityCalculationDiscountResponseDto);
createSpellGroupOrderDto.setCalculationDiscount(activityCalculationDiscountResponseDto.getResult());
/*转换request->查询快递费用信息->转换dto*/
QueryDeliveryTemplateRequest queryDeliveryTemplateRequest = spellGroupOrderAdapter.convertToQueryDeliveryTemplateRequest(createSpellGroupOrderDto);
QueryDeliveryTemplateResponse queryDeliveryTemplateResponse = spellGroupOrderDataManager.queryDeliveryTemplate(queryDeliveryTemplateRequest);
if(queryDeliveryTemplateResponse == null ){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_DELIVERYTEMPLATE_ERROR);
}
createSpellGroupOrderDto.setDeliveryTemplateInfoVo(queryDeliveryTemplateResponse.getData());
createSpellGroupOrderDto.setDeliveryTemplateInfo(queryDeliveryTemplateResponse.getData());
/*createSpellGroupOrderDto转换为订单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);
......@@ -190,6 +189,11 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
return orderService.createPrepayOrder(createPrepayRequestDto);
}
/***
* 查询配送费。包装一层返回给前端。
* @param request
* @return
*/
@Override
public BaseResponse queryDeliveryAmount(QueryDeliveryTemplateRequest request) {
QueryDeliveryTemplateResponse queryDeliveryTemplateResponse = spellGroupOrderDataManager.queryDeliveryTemplate(request);
......
......@@ -66,7 +66,7 @@ public interface PromotionDiscountClient {
* @param groupWorkRefundRequest
* @return
*/
@PostMapping("/groupWork/refund")
@PostMapping("/activity/groupWork/refund")
GroupWorkRefundResponse groupWorkRefund(GroupWorkRefundRequest groupWorkRefundRequest);
......
......@@ -18,7 +18,14 @@ import lombok.Data;
@Data
public class AfterOrderExtInfoDto {
private int refundMode;
/**
* 微商城退款方式
*/
private Byte refundMode;
/**
* 拼团订单批量退款批次号
*/
private Long batchRefundId;
}
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