Commit 5e6763f5 by zhiheng.zhang

Merge branch 'feature/2020/09/11-1.9.39-6位随机取餐码-张志恒' into develop

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parents 4146270e e7764675
...@@ -65,6 +65,12 @@ public class ConfirmOrderRequest extends BaseConfig { ...@@ -65,6 +65,12 @@ public class ConfirmOrderRequest extends BaseConfig {
*/ */
private String endTransId; private String endTransId;
/**
* 取餐码类型
*/
private String mealCodeRule;
@Data @Data
public static class OrderSettlement{ public static class OrderSettlement{
/** /**
......
...@@ -307,6 +307,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -307,6 +307,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setPayRequestNo(confirmOrderRequest.getPayVoucher()); request.setPayRequestNo(confirmOrderRequest.getPayVoucher());
request.setCompleteOrderCode(confirmOrderRequest.getCompleteOrderCode()); request.setCompleteOrderCode(confirmOrderRequest.getCompleteOrderCode());
request.setOrderCode(confirmOrderRequest.getOrderId()); request.setOrderCode(confirmOrderRequest.getOrderId());
request.setMealCodeRule(confirmOrderRequest.getMealCodeRule());
// 引入门店基础服务 查询自动制作完成配置时间,预约单单独超时任务设置 // 引入门店基础服务 查询自动制作完成配置时间,预约单单独超时任务设置
request.setTimeout(getPaySuccessTimeout(confirmOrderRequest,request)); request.setTimeout(getPaySuccessTimeout(confirmOrderRequest,request));
......
...@@ -36,9 +36,11 @@ import cn.freemud.enums.PayStatus; ...@@ -36,9 +36,11 @@ import cn.freemud.enums.PayStatus;
import cn.freemud.enums.QueryOrderStatus; import cn.freemud.enums.QueryOrderStatus;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache;
import cn.freemud.request.wechat.dto.SignMessageBuilder; import cn.freemud.request.wechat.dto.SignMessageBuilder;
import cn.freemud.service.impl.OrderCommonService; import cn.freemud.service.impl.OrderCommonService;
import cn.freemud.utils.*; import cn.freemud.utils.*;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerWxappConfig; import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerWxappConfig;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo; import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
...@@ -93,7 +95,6 @@ import static cn.freemud.constant.OrderRefundConstant.ALLOW_REFUND; ...@@ -93,7 +95,6 @@ import static cn.freemud.constant.OrderRefundConstant.ALLOW_REFUND;
@Component @Component
public class OrderAdapter { public class OrderAdapter {
private static FastDateFormat yyyyMMddHHmmss = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss", Locale.CHINA); private static FastDateFormat yyyyMMddHHmmss = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
public final static String TAKECODEKEY = "takecode"; public final static String TAKECODEKEY = "takecode";
public static final String REDIS_KEY_SEP = ":"; public static final String REDIS_KEY_SEP = ":";
...@@ -135,6 +136,9 @@ public class OrderAdapter { ...@@ -135,6 +136,9 @@ public class OrderAdapter {
private RedisTemplate redisTemplate; private RedisTemplate redisTemplate;
private static Gson gson = new Gson(); private static Gson gson = new Gson();
@Autowired
private RedisCache redisCache;
/** /**
* @param createOrderVo * @param createOrderVo
* @param shoppingCartGoodsDto * @param shoppingCartGoodsDto
...@@ -3324,4 +3328,20 @@ public class OrderAdapter { ...@@ -3324,4 +3328,20 @@ public class OrderAdapter {
return ebCode; return ebCode;
} }
public List<AssortmentOpenPlatformPartnerWxappConfig> cacheSelectDefaultPage(String wxAppId, String type) {
if (!StringUtils.isEmpty(wxAppId) && !StringUtils.isEmpty(type)) {
String hashKey = "ecology:kgd:wxappconfig:open_platform_partner_wxapp_config:appkey_" + wxAppId;
Object value = redisCache.hashGet(hashKey, type);
JSONArray jsonArray = value != null ? JSONArray.parseArray(value.toString()) : new JSONArray();
if(null != jsonArray && jsonArray.size() >0){
for(int i=0;i<jsonArray.size();i++){
JSONObject jsonObject = (JSONObject) jsonArray.get(i);
jsonObject.remove("@type");
}
}
return (value != null ? JSONObject.parseArray(jsonArray.toString(), AssortmentOpenPlatformPartnerWxappConfig.class) : new ArrayList());
} else {
return new ArrayList();
}
}
} }
...@@ -160,6 +160,8 @@ public enum ResponseResult { ...@@ -160,6 +160,8 @@ public enum ResponseResult {
ORDER_TAKE_OUT_ADDRESS_NOT_VALID("45063", "收货地址校验失败"), ORDER_TAKE_OUT_ADDRESS_NOT_VALID("45063", "收货地址校验失败"),
ORDER_COLLECT_FAILED("45084", "推送入机失败,配送回调失败"), ORDER_COLLECT_FAILED("45084", "推送入机失败,配送回调失败"),
ORDER_NO_PAU("45063", "订单未支付"), ORDER_NO_PAU("45063", "订单未支付"),
ORDER_PICK_UP_GOOD_NO("45064", "更新取餐码失败"),
/** /**
* 支付 * 支付
*/ */
......
...@@ -89,6 +89,7 @@ import com.freemud.application.sdk.api.ordercenter.response.carpark.OrderResp; ...@@ -89,6 +89,7 @@ import com.freemud.application.sdk.api.ordercenter.response.carpark.OrderResp;
import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse; import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse;
import com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest; import com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest;
...@@ -137,6 +138,7 @@ import org.springframework.beans.BeanUtils; ...@@ -137,6 +138,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.util.StringUtil; import tk.mybatis.mapper.util.StringUtil;
...@@ -257,6 +259,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -257,6 +259,9 @@ public class OrderServiceImpl implements Orderservice {
private OfflineCouponSdkService offlineCouponSdkService; private OfflineCouponSdkService offlineCouponSdkService;
@Autowired @Autowired
private PaymentApplicationClient paymentApplicationClient; private PaymentApplicationClient paymentApplicationClient;
private DeliveryFeiginClient deliveryFeiginClient;
@Autowired
private RedisTemplate redisTemplate;
@Override @Override
public BaseResponse checkBeforeCreateOrder(CheckBeforeCreateOrderRequestVo requestVo) { public BaseResponse checkBeforeCreateOrder(CheckBeforeCreateOrderRequestVo requestVo) {
...@@ -433,6 +438,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -433,6 +438,7 @@ public class OrderServiceImpl implements Orderservice {
var1.setPayTransId(message.getOut_trade_no()); var1.setPayTransId(message.getOut_trade_no());
var1.setOperator(orderBean.getUserName()); var1.setOperator(orderBean.getUserName());
var1.setEndTransId(message.getEndTransId()); var1.setEndTransId(message.getEndTransId());
var1.setMealCodeRule(getMealCodeRule(wxappid));
if (StringUtils.isNotBlank(payCode)) { if (StringUtils.isNotBlank(payCode)) {
var1.setPayChannel(payCode); var1.setPayChannel(payCode);
var1.setPayChannelName(PayChannel.getByCode(payCode).getDesc()); var1.setPayChannelName(PayChannel.getByCode(payCode).getDesc());
...@@ -458,8 +464,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -458,8 +464,6 @@ public class OrderServiceImpl implements Orderservice {
// TODO 订单序号替换取餐码显示 // TODO 订单序号替换取餐码显示
takeCode = payAccessResponse.getData().getTakeCode(); takeCode = payAccessResponse.getData().getTakeCode();
daySeq = payAccessResponse.getData().getDaySeq(); daySeq = payAccessResponse.getData().getDaySeq();
//TODO 清空购物车 //TODO 清空购物车
NewShoppingCartClearDto newShoppingCartClearDto = new NewShoppingCartClearDto(); NewShoppingCartClearDto newShoppingCartClearDto = new NewShoppingCartClearDto();
newShoppingCartClearDto.setPartnerId(partnerId); newShoppingCartClearDto.setPartnerId(partnerId);
...@@ -3078,4 +3082,15 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3078,4 +3082,15 @@ public class OrderServiceImpl implements Orderservice {
} }
return orderPayResponse; return orderPayResponse;
} }
public String getMealCodeRule(String appId){
String mealCodeRule = "";
List<AssortmentOpenPlatformPartnerWxappConfig> partnerWxappConfigs = orderAdapter.cacheSelectDefaultPage(appId, "2");
Map<String, AssortmentOpenPlatformPartnerWxappConfig> configMap = partnerWxappConfigs.stream().collect(Collectors.toMap(AssortmentOpenPlatformPartnerWxappConfig::getAppKey, Function.identity()));
AssortmentOpenPlatformPartnerWxappConfig refundDeliveryFeeConfig = configMap.get("mealCodeRule");
if(null != refundDeliveryFeeConfig) {
mealCodeRule = refundDeliveryFeeConfig.getAppValue();
}
return mealCodeRule;
}
} }
...@@ -52,4 +52,7 @@ public class PaySuccessReq { ...@@ -52,4 +52,7 @@ public class PaySuccessReq {
//预订单任务 //预订单任务
private OrderTaskReq orderTask; private OrderTaskReq orderTask;
//取餐码生成规则
private String mealCodeRule;
} }
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