Commit 7ae6947b by 程飞祥

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

parents 049341cd 7db9d5ad
...@@ -547,5 +547,14 @@ public class OrderController { ...@@ -547,5 +547,14 @@ public class OrderController {
return ResponseUtil.success(orderAdapterService.cashierCheck(dto)); 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> {
}
...@@ -5,21 +5,22 @@ import cn.freemud.base.entity.BaseResponse; ...@@ -5,21 +5,22 @@ import cn.freemud.base.entity.BaseResponse;
import cn.freemud.config.ApolloVariableConfig; import cn.freemud.config.ApolloVariableConfig;
import cn.freemud.constant.RedisLockKey; import cn.freemud.constant.RedisLockKey;
import cn.freemud.entities.bo.CreateOrderBONew; import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.db.OpenPlatformOrderConfig;
import cn.freemud.entities.dto.ConfirmOrderDto; import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.order.CreateCashierOrderDto; import cn.freemud.entities.dto.order.CreateCashierOrderDto;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.order.CashierCheckResponseVo; import cn.freemud.entities.vo.order.*;
import cn.freemud.entities.vo.order.PaymentConfigVo;
import cn.freemud.entities.vo.order.PlugInParameter;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.service.handle.SaasOrderHandle; import cn.freemud.management.service.handle.SaasOrderHandle;
import cn.freemud.management.thirdparty.OrderCallbackClient; import cn.freemud.management.thirdparty.OrderCallbackClient;
import cn.freemud.manager.OpenPlatformOrderConfigManager;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.*; import cn.freemud.service.*;
import cn.freemud.service.universal.factory.CreateOrderServiceFactory; import cn.freemud.service.universal.factory.CreateOrderServiceFactory;
import cn.freemud.utils.RedisUtil; import cn.freemud.utils.RedisUtil;
import cn.freemud.utils.ResponseUtil; 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.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.enums.IappIdType; import com.freemud.api.assortment.datamanager.enums.IappIdType;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager; import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
...@@ -136,6 +137,8 @@ public class OrderAdapterServiceImpl { ...@@ -136,6 +137,8 @@ public class OrderAdapterServiceImpl {
private CashierOrderService cashierOrderService; private CashierOrderService cashierOrderService;
@Autowired @Autowired
private PayServiceImpl payService; private PayServiceImpl payService;
@Autowired
private OpenPlatformOrderConfigManager openPlatformOrderConfigManager;
//获取下单实现对象 //获取下单实现对象
private OrderFactoryService getCreateOrderBean(AssortmentCustomerInfoVo assortmentCustomerInfoVo,CreateOrderVo createOrderVo){ private OrderFactoryService getCreateOrderBean(AssortmentCustomerInfoVo assortmentCustomerInfoVo,CreateOrderVo createOrderVo){
...@@ -411,4 +414,23 @@ public class OrderAdapterServiceImpl { ...@@ -411,4 +414,23 @@ public class OrderAdapterServiceImpl {
return cashierOrderService.cashierCheck(createOrderDto, member); 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