Commit 11301469 by ping.wu

Merge branch 'feature/20240412_购物车接口迁移_wuping' of…

Merge branch 'feature/20240412_购物车接口迁移_wuping' of https://gitlab.freemud.com/order-group-application/order-group into develop

 Conflicts:
	order-management/src/main/java/cn/freemud/management/enums/ResponseResult.java
parents f8a74900 8efa4d1c
...@@ -111,6 +111,11 @@ public class RedisKeyConstant { ...@@ -111,6 +111,11 @@ public class RedisKeyConstant {
public final static String SAAS_ACCESSTOKEN_APPID = "saas:accesstoken:appid:"; public final static String SAAS_ACCESSTOKEN_APPID = "saas:accesstoken:appid:";
/** /**
* wxapp_config配置表
*/
public final static String KGD_ORDER_OPEN_STORE_IAPP_WXAPP_CONFIG_WXAPPID_ = "kgd:order:open_store_iapp_wxapp_config:wxappid_";
/**
* cocoNotMadeGoods:商户号:门店号:yyyy-MM-dd * cocoNotMadeGoods:商户号:门店号:yyyy-MM-dd
* *
* @param partnerId * @param partnerId
......
...@@ -157,4 +157,12 @@ public class ExposureOrderController { ...@@ -157,4 +157,12 @@ public class ExposureOrderController {
return ResponseUtil.success(refundService.refundOrderAmt(request.getPartnerId(), request.getOrderCode(), request.getReason())); return ResponseUtil.success(refundService.refundOrderAmt(request.getPartnerId(), request.getOrderCode(), request.getReason()));
} }
/**
* 结算页获取是否展示订单那备注配置
*/
@PostMapping(value = "/getOpenStoreIappWxappConfig")
@ApiAnnotation(logMessage = "/getOpenStoreIappWxappConfig")
public BaseResponse getOpenStoreIappWxappConfig(@LogParams @RequestBody OpenStoreIappWxappConfigRequestVo request) {
return exposureOrderService.getOpenStoreIappWxappConfig(request);
}
} }
package cn.freemud.entities.db;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.Date;
public class OpenStoreIappWxappConfig {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 自定义小程序appid
*/
private String appid;
/**
* 微信小程序appid
*/
@Column(name = "wx_appid")
private String wxAppid;
/**
* 是否允许填写备注文案,0=否,1=是
*/
@Column(name = "take_inside")
private Integer takeInside;
/**
* 到店订单默认文案
*/
@Column(name = "inside_remark")
private String insideRemark;
/**
* 外卖订单默认文案
*/
@Column(name = "take_out_remark")
private String takeOutRemark;
/**
* 创建时间
*/
@Column(name = "gmt_created")
private Date gmtCreated;
/**
* 修改时间
*/
@Column(name = "gmt_modified")
private Date gmtModified;
/**
* @return id
*/
public Long getId() {
return id;
}
/**
* @param id
*/
public void setId(Long id) {
this.id = id;
}
/**
* 获取自定义小程序appid
*
* @return appid - 自定义小程序appid
*/
public String getAppid() {
return appid;
}
/**
* 设置自定义小程序appid
*
* @param appid 自定义小程序appid
*/
public void setAppid(String appid) {
this.appid = appid;
}
/**
* 获取微信小程序appid
*
* @return wx_appid - 微信小程序appid
*/
public String getWxAppid() {
return wxAppid;
}
/**
* 设置微信小程序appid
*
* @param wxAppid 微信小程序appid
*/
public void setWxAppid(String wxAppid) {
this.wxAppid = wxAppid;
}
/**
* 获取是否允许填写备注文案,0=否,1=是
*
* @return take_inside - 是否允许填写备注文案,0=否,1=是
*/
public Integer getTakeInside() {
return takeInside;
}
/**
* 设置是否允许填写备注文案,0=否,1=是
*
* @param takeInside 是否允许填写备注文案,0=否,1=是
*/
public void setTakeInside(Integer takeInside) {
this.takeInside = takeInside;
}
/**
* 获取到店订单默认文案
*
* @return inside_remark - 到店订单默认文案
*/
public String getInsideRemark() {
return insideRemark;
}
/**
* 设置到店订单默认文案
*
* @param insideRemark 到店订单默认文案
*/
public void setInsideRemark(String insideRemark) {
this.insideRemark = insideRemark;
}
/**
* 获取外卖订单默认文案
*
* @return take_out_remark - 外卖订单默认文案
*/
public String getTakeOutRemark() {
return takeOutRemark;
}
/**
* 设置外卖订单默认文案
*
* @param takeOutRemark 外卖订单默认文案
*/
public void setTakeOutRemark(String takeOutRemark) {
this.takeOutRemark = takeOutRemark;
}
/**
* 获取创建时间
*
* @return gmt_created - 创建时间
*/
public Date getGmtCreated() {
return gmtCreated;
}
/**
* 设置创建时间
*
* @param gmtCreated 创建时间
*/
public void setGmtCreated(Date gmtCreated) {
this.gmtCreated = gmtCreated;
}
/**
* 获取修改时间
*
* @return gmt_modified - 修改时间
*/
public Date getGmtModified() {
return gmtModified;
}
/**
* 设置修改时间
*
* @param gmtModified 修改时间
*/
public void setGmtModified(Date gmtModified) {
this.gmtModified = gmtModified;
}
}
package cn.freemud.entities.vo;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
@Data
public class OpenStoreIappWxappConfigRequestVo {
@NotEmpty(message = "sessionId不能为空")
private String sessionId;
}
package cn.freemud.service; package cn.freemud.service;
import cn.freemud.entities.vo.GetMallPayConfigVo; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.GetPayCodeVo; import cn.freemud.constant.RedisKeyConstant;
import cn.freemud.entities.vo.GetPayConfigVo; import cn.freemud.entities.db.OpenStoreIappWxappConfig;
import cn.freemud.entities.vo.GetPaySuccessDataV2Request; import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.order.PayConfigVo; import cn.freemud.entities.vo.order.PayConfigVo;
import cn.freemud.entities.vo.order.PaySuccessDataVo; import cn.freemud.entities.vo.order.PaySuccessDataVo;
import cn.freemud.entities.vo.order.VirtualStoreVo; import cn.freemud.entities.vo.order.VirtualStoreVo;
...@@ -11,10 +11,16 @@ import cn.freemud.enums.AggregationTypeEnum; ...@@ -11,10 +11,16 @@ import cn.freemud.enums.AggregationTypeEnum;
import cn.freemud.enums.OrderTackCodeFactory; import cn.freemud.enums.OrderTackCodeFactory;
import cn.freemud.enums.TakeCodeOrderType; import cn.freemud.enums.TakeCodeOrderType;
import cn.freemud.manager.OrderTackCodeManager; import cn.freemud.manager.OrderTackCodeManager;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.business.impl.OrderBusinessServiceImpl; import cn.freemud.service.business.impl.OrderBusinessServiceImpl;
import cn.freemud.service.impl.PayServiceImpl; import cn.freemud.service.impl.PayServiceImpl;
import cn.freemud.utils.ResponseUtil;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappStore; import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappStore;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.log.ErrorLog;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
...@@ -30,6 +36,8 @@ public class ExposureOrderService { ...@@ -30,6 +36,8 @@ public class ExposureOrderService {
private final PayServiceImpl payService; private final PayServiceImpl payService;
private final OrderTackCodeManager orderTackCodeManager; private final OrderTackCodeManager orderTackCodeManager;
private final OrderBusinessServiceImpl orderBusinessService; private final OrderBusinessServiceImpl orderBusinessService;
private final RedisCache redisCache;
private final AssortmentCustomerInfoManager assortmentCustomerInfoManager;
public PayConfigVo getPayConfig(GetPayConfigVo req) { public PayConfigVo getPayConfig(GetPayConfigVo req) {
PayConfigVo vo = new PayConfigVo(); PayConfigVo vo = new PayConfigVo();
...@@ -121,4 +129,29 @@ public class ExposureOrderService { ...@@ -121,4 +129,29 @@ public class ExposureOrderService {
public String getPayCode(GetPayCodeVo req) { public String getPayCode(GetPayCodeVo req) {
return payService.getPayCode(req.getAppId(), req.getStoreId(), req.getChannel()); return payService.getPayCode(req.getAppId(), req.getStoreId(), req.getChannel());
} }
public BaseResponse getOpenStoreIappWxappConfig(OpenStoreIappWxappConfigRequestVo openStoreIappWxappConfigRequestVo){
// 获取用户信息
AssortmentCustomerInfoVo assortmentCustomerInfoVo = assortmentCustomerInfoManager.getCustomerInfoByObject(openStoreIappWxappConfigRequestVo.getSessionId());
//缓存为空则初始化为展示备注,默认备注为空,
OpenStoreIappWxappConfig defauleConfig = new OpenStoreIappWxappConfig();
defauleConfig.setTakeInside(1);
defauleConfig.setInsideRemark("");
defauleConfig.setTakeOutRemark("");
OpenStoreIappWxappConfig config;
try {
config = redisCache.hashGet(RedisKeyConstant.KGD_ORDER_OPEN_STORE_IAPP_WXAPP_CONFIG_WXAPPID_, assortmentCustomerInfoVo.getWxAppId());
if (null == config) {
config = new OpenStoreIappWxappConfig();
BeanUtils.copyProperties(config,defauleConfig);
return ResponseUtil.success(config);
}else{
return ResponseUtil.success(config);
}
}catch (Exception e){
//异常打印日常日志,返回默认config
ErrorLog.errorConvertJson(this.getClass(),"getOpenStoreIappWxappConfig",e);
return ResponseUtil.success(defauleConfig);
}
}
} }
...@@ -16,6 +16,7 @@ import org.apache.commons.lang.StringUtils; ...@@ -16,6 +16,7 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -93,7 +94,11 @@ public class OrderCancelReqAdapter { ...@@ -93,7 +94,11 @@ public class OrderCancelReqAdapter {
payRefundItem.setPayChannelName(PayMethodEnum.getDescByCode(request.getPayMethodCode())); payRefundItem.setPayChannelName(PayMethodEnum.getDescByCode(request.getPayMethodCode()));
} }
payRefundItem.setAmount(request.getRefundAmount()); payRefundItem.setAmount(request.getRefundAmount());
payRefundItem.setRefundTime(DateUtil.convert2Date(request.getRefundTime(), "yyyy-MM-dd HH:mm:ss").getTime()); if (StringUtils.isNotBlank(request.getRefundTime())){
payRefundItem.setRefundTime(DateUtil.convert2Date(request.getRefundTime(), "yyyy-MM-dd HH:mm:ss").getTime());
}else {
payRefundItem.setRefundTime(new Date().getTime());
}
payRefundItem.setCardCode(PayMethodEnum.TSVC.getCode().equals(request.getPayMethodCode()) ? request.getUniqueCode() : null); payRefundItem.setCardCode(PayMethodEnum.TSVC.getCode().equals(request.getPayMethodCode()) ? request.getUniqueCode() : null);
payRefundItemList.add(payRefundItem); payRefundItemList.add(payRefundItem);
......
...@@ -387,7 +387,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -387,7 +387,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
@Override @Override
public BaseResponse<OrderManagerResponse> partRefund(OrderManagerRequest request, OrderBeanV1 orderBean) { public BaseResponse<OrderManagerResponse> partRefund(OrderManagerRequest request, OrderBeanV1 orderBean) {
//发起售后单,退款,同意售后 //发起售后单
OrderCancelReq orderCancelReq = new OrderCancelReq(); OrderCancelReq orderCancelReq = new OrderCancelReq();
orderCancelReq.setPartnerId(orderBean.getCompanyId()); orderCancelReq.setPartnerId(orderBean.getCompanyId());
orderCancelReq.setOrderCode(orderBean.getOid()); orderCancelReq.setOrderCode(orderBean.getOid());
...@@ -397,7 +397,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -397,7 +397,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
orderCancelReq.setOrderClient(Integer.parseInt(orderBean.getOrderClient())); orderCancelReq.setOrderClient(Integer.parseInt(orderBean.getOrderClient()));
orderCancelReq.setOperator(request.getOperator()); orderCancelReq.setOperator(request.getOperator());
orderCancelReq.setOperationClient(request.getOperationClient()); orderCancelReq.setOperationClient(request.getOperationClient());
orderCancelReq.setRefundState(AfterSalesRefunStateEnum.STATE_1.getIndex()); orderCancelReq.setRefundState(AfterSalesRefunStateEnum.STATE_4.getIndex());
orderCancelReq.setIsPartRefund(true); orderCancelReq.setIsPartRefund(true);
orderCancelReq.setReqAmount(new BigDecimal(request.getRefundAmount())); orderCancelReq.setReqAmount(new BigDecimal(request.getRefundAmount()));
...@@ -631,7 +631,10 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -631,7 +631,10 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
if (!NewOrderStatus.PLACE_AN_ORDER.getIndex().equals(orderBean.getStatusV2())) { if (!NewOrderStatus.PLACE_AN_ORDER.getIndex().equals(orderBean.getStatusV2())) {
orderBaseService.sendMessage(orderBean, ORDER_AGREE_REFUND, reason); orderBaseService.sendMessage(orderBean, ORDER_AGREE_REFUND, reason);
} }
//todo 可以考虑基于订单回调异步实现 //部分退款不进行冲正
if (Objects.nonNull(afterSalesOrderResp) && afterSalesOrderResp.getIsPartRefund()) {
return ResponseUtil.success();
}
//冲正库存 //冲正库存
stockHandle.revert(omRequest, orderBean); stockHandle.revert(omRequest, orderBean);
return ResponseUtil.success(); return ResponseUtil.success();
......
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