Commit 3cf339bf by 程飞祥

Merge branch 'feature/20220125_暴露餐盒费' into qa

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
parents d2b3ffcd 7db9d5ad
......@@ -546,5 +546,14 @@ public class OrderController {
return ResponseUtil.success(orderAdapterService.cashierCheck(dto));
}
/**
* 获取餐盒费配置
*/
@PostMapping("/orderConfig/get")
@ApiAnnotation(logMessage = "/orderConfig/get")
public BaseResponse<String> getOrderConfig(@Validated @LogParams @RequestBody GetOrderConfigRequestVo request){
return ResponseUtil.success(orderAdapterService.getOrderConfig(request));
}
}
package cn.freemud.entities.db;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @description:
* @author: chengfeixiang<feixiang.cheng @ freemud.cn>
* @date: 2022/1/25 11:26
* @version: v1.0
* @copyright: 2022 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的
*/
@Data
@Table(name = "open_platform_order_config")
public class OpenPlatformOrderConfig {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 自定义小程序appid
*/
@Column(name = "partner_id")
private String partnerId;
/**
* 微信小程序appid
*/
@Column(name = "min_app_id")
private String minAppId;
/**
* 订单配置类型
*/
@Column(name = "type")
private String type;
/**
* 配置内容
*/
@Column(name = "type_value")
private String typeValue;
/**
* 配置状态 0-禁用 1-启用
*/
@Column(name = "state")
private Integer state;
/**
*
* 配置备注
*/
@Column(name = "remark")
private String remark;
/**
* 创建时间
*/
@Column(name = "gmt_created")
private Date gmtCreated;
/**
* 修改时间
*/
@Column(name = "gmt_modified")
private Date gmtModified;
/**
* 创建时间
*/
@Column(name = "gmt_creator")
private String gmtCreator;
/**
* 修改时间
*/
@Column(name = "gmt_updator")
private String gmtUpdator;
}
package cn.freemud.entities.vo.order;
import cn.freemud.enums.OrderConfigEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @description:
* @author: chengfeixiang<feixiang.cheng @ freemud.cn>
* @date: 2022/1/25 15:04
* @version: v1.0
* @copyright: 2022 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的
*/
@Data
public class GetOrderConfigRequestVo {
@NotBlank(message = "请先授权登陆")
@ApiModelProperty("用户登陆的session")
private String sessionId;
@ApiModelProperty("商户号")
@NotBlank(message = "partnerId必填")
private String partnerId;
@ApiModelProperty("小程序Id")
// @NotBlank(message = "miniAppId不能为空!")
private String miniAppId;
/** {@link OrderConfigEnum} */
@ApiModelProperty("获取餐盒费配置填:packAmountType")
private String type;
}
package cn.freemud.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @description:
* @author: chengfeixiang<feixiang.cheng @ freemud.cn>
* @date: 2022/1/25 15:03
* @version: v1.0
* @copyright: 2022 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的
*/
@Getter
@AllArgsConstructor
public enum OrderConfigEnum {
CART_LIMIT_TYPE("cartLimitType","kgd:open_store_cart_limit_", "购物车限制"),
EAT_IN("eatInType", "kgd:order_refund_config_","订单退款配置(堂食)"),
TAKE_OUT("takeOutType", "kgd:order_refund_config_","订单退款配置(外卖)"),
CASHIER_TYPE("cashierType", "kgd:order_refund_config_", "订单退款配置(收银)"),
REFUND_COMPLAINT("orderComplaintType", "kgd:order_config_", "订单申诉配置"),
PACK_AMOUNT_TYPE("packAmountType", "kgd:order_pack_config_","餐盒费收费规则配置"),
;
private String type;
private String key;
private String message;
public static OrderConfigEnum getOrderConfigType (String type) {
OrderConfigEnum[] values = OrderConfigEnum.values();
for (OrderConfigEnum orderConfigEnum : values) {
if (orderConfigEnum.getType().equals(type)) {
return orderConfigEnum;
}
}
return null;
}
}
package cn.freemud.manager;
import cn.freemud.entities.db.OpenPlatformOrderConfig;
import cn.freemud.entities.vo.order.GetOrderConfigRequestVo;
import cn.freemud.manager.dao.OpenPlatformOrderConfigDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @description:
* @author: chengfeixiang<feixiang.cheng @ freemud.cn>
* @date: 2022/1/25 15:15
* @version: v1.0
* @copyright: 2022 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的
*/
@Component
public class OpenPlatformOrderConfigManager {
@Autowired
private OpenPlatformOrderConfigDao orderConfigDao;
public OpenPlatformOrderConfig getOrderConfigByType(GetOrderConfigRequestVo request) {
OpenPlatformOrderConfig config = new OpenPlatformOrderConfig();
config.setPartnerId(request.getPartnerId());
config.setMinAppId(request.getMiniAppId());
config.setType(request.getType());
/** 0 关闭 1开启 */
config.setState(1);
List<OpenPlatformOrderConfig> configs = orderConfigDao.select(config);
return CollectionUtils.isEmpty(configs) ? null : configs.get(0);
}
}
package cn.freemud.manager.dao;
import cn.freemud.comm.druid.MyMapper;
import cn.freemud.entities.db.OpenPlatformOrderConfig;
import org.springframework.stereotype.Repository;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @description:
* @author: chengfeixiang<feixiang.cheng @ freemud.cn>
* @date: 2022/1/25 14:19
* @version: v1.0
* @copyright: 2022 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的
*/
@Repository
public interface OpenPlatformOrderConfigDao extends MyMapper<OpenPlatformOrderConfig> {
}
......@@ -189,7 +189,7 @@ public class EvaluationServiceImpl implements EvaluationService {
QueryByCodeResponse orderDetailResponse = orderSdkService.getOrderInfo("", request.getOrderId(), "", null, LogThreadLocal.getTrackingNo());
if (orderDetailResponse == null || !ResponseResult.SUCCESS.getCode().equals(orderDetailResponse.getCode() + "")
|| orderDetailResponse.getResult() == null || orderDetailResponse.getResult().getOrderCode() == null) {
|| orderDetailResponse.getResult() == null || StringUtils.isEmpty(orderDetailResponse.getResult().getOrderCode())) {
return ResponseUtil.success(ResponseResult.ORDER_NOT_EXIST);
}
......
......@@ -5,18 +5,18 @@ import cn.freemud.base.entity.BaseResponse;
import cn.freemud.config.ApolloVariableConfig;
import cn.freemud.constant.RedisLockKey;
import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.db.OpenPlatformOrderConfig;
import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.QueryReceiveAddressDto;
import cn.freemud.entities.dto.QueryReceiveAddressResponseDto;
import cn.freemud.entities.dto.order.CreateCashierOrderDto;
import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.order.CashierCheckResponseVo;
import cn.freemud.entities.vo.order.PaymentConfigVo;
import cn.freemud.entities.vo.order.PlugInParameter;
import cn.freemud.entities.vo.order.*;
import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.service.handle.SaasOrderHandle;
import cn.freemud.management.thirdparty.OrderCallbackClient;
import cn.freemud.manager.OpenPlatformOrderConfigManager;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.*;
import cn.freemud.service.thirdparty.CustomerClient;
......@@ -24,6 +24,7 @@ import cn.freemud.service.thirdparty.TakeawayServiceClient;
import cn.freemud.service.universal.factory.CreateOrderServiceFactory;
import cn.freemud.utils.RedisUtil;
import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.enums.IappIdType;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
......@@ -141,6 +142,8 @@ public class OrderAdapterServiceImpl {
private CashierOrderService cashierOrderService;
@Autowired
private PayServiceImpl payService;
@Autowired
private OpenPlatformOrderConfigManager openPlatformOrderConfigManager;
@Value("${ycs.partnerId:2690,2702,2664}")
private String ycsPartnerId;
@Autowired
......@@ -458,4 +461,23 @@ public class OrderAdapterServiceImpl {
return cashierOrderService.cashierCheck(createOrderDto, member);
}
/**
* 获取餐盒费配置
*/
public String getOrderConfig(GetOrderConfigRequestVo request) {
OrderConfigEnum configType = OrderConfigEnum.getOrderConfigType(request.getType());
if (null == configType)
throw new ServiceException(ResponseResult.PARAMETER_MISSING);
String key = configType.getKey() + request.getPartnerId()+ "_" + request.getMiniAppId();
String configStr = redisCache.hashGet(key, configType.getType());
if (StringUtils.isBlank(configStr)){
OpenPlatformOrderConfig openPlatformOrderConfig = openPlatformOrderConfigManager.getOrderConfigByType(request);
if (null != openPlatformOrderConfig){
configStr = openPlatformOrderConfig.getTypeValue();
}
}
return configStr;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.freemud.manager.dao.OpenPlatformOrderConfigDao">
</mapper>
\ No newline at end of file
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