Commit 9812b224 by 邓杰

Merge branch '20201125-coco-zhw' into 20201127_coco配送进程

parents aa6787c0 a60313be
...@@ -1009,7 +1009,9 @@ public class OrderSdkAdapter { ...@@ -1009,7 +1009,9 @@ public class OrderSdkAdapter {
*/ */
public QueryOrdersResponse.DataBean.OrderBean convent2NEWOrderInfo(OrderInfoReqs orderInfoReqs) { public QueryOrdersResponse.DataBean.OrderBean convent2NEWOrderInfo(OrderInfoReqs orderInfoReqs) {
QueryOrdersResponse.DataBean.OrderBean data = new QueryOrdersResponse.DataBean.OrderBean(); QueryOrdersResponse.DataBean.OrderBean data = new QueryOrdersResponse.DataBean.OrderBean();
if(Objects.nonNull(orderInfoReqs.getEstimateDeliveryCompleteTime())){
data.setEstimateDeliveryCompleteTime(Long.parseLong(orderInfoReqs.getEstimateDeliveryCompleteTime()));
}
data.setOrderClient(orderInfoReqs.getOrderClient().toString()); data.setOrderClient(orderInfoReqs.getOrderClient().toString());
data.setCompanyId(orderInfoReqs.getPartnerId()); data.setCompanyId(orderInfoReqs.getPartnerId());
data.setShopId(orderInfoReqs.getStoreId()); data.setShopId(orderInfoReqs.getStoreId());
......
...@@ -383,6 +383,9 @@ public class QueryOrdersResponse { ...@@ -383,6 +383,9 @@ public class QueryOrdersResponse {
private List<OrderPayItem> orderPayItem; private List<OrderPayItem> orderPayItem;
private String pickUpGoodsNo; private String pickUpGoodsNo;
// 预计到达时间
private Long estimateDeliveryCompleteTime;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public static class AddDeliveryInfo { public static class AddDeliveryInfo {
......
...@@ -87,8 +87,8 @@ ...@@ -87,8 +87,8 @@
<!-- 商户门店sdk --> <!-- 商户门店sdk -->
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<version>3.3.5-SNAPSHOT</version>
<artifactId>storecenter-sdk</artifactId> <artifactId>storecenter-sdk</artifactId>
<version>3.2.1.RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
package cn.freemud.constant; package cn.freemud.constant;
import cn.freemud.utils.DateTimeUtil;
public class RedisKeyConstant { public class RedisKeyConstant {
/** /**
* userInfoMap的redisKey前缀 * userInfoMap的redisKey前缀
...@@ -51,7 +53,7 @@ public class RedisKeyConstant { ...@@ -51,7 +53,7 @@ public class RedisKeyConstant {
* 支付回掉标记在redis的key前缀 * 支付回掉标记在redis的key前缀
*/ */
public final static String KGD_PAYMENT_CALLBACK_FMID = "kgd:payment:callback:fmid:"; public final static String KGD_PAYMENT_CALLBACK_FMID = "kgd:payment:callback:fmid:";
/** /**
* 点餐门店绑定的商城门店redis的key前缀 * 点餐门店绑定的商城门店redis的key前缀
*/ */
...@@ -67,4 +69,24 @@ public class RedisKeyConstant { ...@@ -67,4 +69,24 @@ public class RedisKeyConstant {
*/ */
public final static String KGD_SENDPOINT_ORDERID = "kgd:sendpoint:orderid:"; public final static String KGD_SENDPOINT_ORDERID = "kgd:sendpoint:orderid:";
private final static String REDIS_KEY_SEP = ":";
/**
* cocoNotMadeGoods:商户号:门店号:yyyy-MM-dd
*
* @param partnerId
* @param storeId
* @return
*/
public static String notMadeGoodsNumber(String partnerId, String storeId) {
StringBuilder sb = new StringBuilder("cocoNotMadeGoods");
sb.append(REDIS_KEY_SEP);
sb.append(partnerId).append(REDIS_KEY_SEP);
sb.append(storeId).append(REDIS_KEY_SEP);
sb.append(DateTimeUtil.getCurrentDateStr());
return sb.toString();
}
} }
package cn.freemud.controller;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.TakeMealNoticesVO;
import cn.freemud.service.CallerService;
import cn.freemud.utils.ResponseUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 叫号器
*/
@Slf4j
@RequestMapping("/caller")
@RestController
@Validated
public class CallerController {
private CallerService callerService;
public CallerController(CallerService callerService) {
this.callerService = callerService;
}
/**
* 取餐通知
* @return
*/
public BaseResponse takeMealNotices(TakeMealNoticesVO vo){
return callerService.takeMealNotices(vo);
}
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class BookingOrderPayedScene {
/**
* 商户地址
*/
private String merchantAddress;
/**
* 商户名
*/
private String merchantName;
/**
* 取单号
*/
private String orderNo;
/**
* 订单类型
*/
private String orderType;
/**
* 预计取单时间
*/
private String takeOrderTime;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class DeliveryErrorReminder {
/**
* 配送地址
*/
private String address;
/**
* 下单时间
*/
private String createTime;
/**
* 客户电话
*/
private String customerPhone;
/**
* 订单号
*/
private String orderId;
/**
* 备注
*/
private String remark;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class GroupBuyingStatusReminder {
/**
* 温馨提示
*/
private String friendlyTips;
/**
* 商户地址
*/
private String merchantAddress;
/**
* 商户名
*/
private String merchantName;
/**
* 完成点单人数
*/
private String peopleNumber;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class InstantOrderPayedScene {
/**
* 温馨提示
*/
private String friendlyTips;
/**
* 商户地址
*/
private String merchantAddress;
/**
* 商户名
*/
private String merchantName;
/**
* 订单号
*/
private String orderNo;
/**
* 订单类型
*/
private String orderType;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class OrderDeliveryScene {
/**
* 配送地址
*/
private String address;
/**
* 预计达到时间
*/
private String estimateArrivalTime;
/**
* 商户电话
*/
private String merchantPhone;
/**
* 订单编号
*/
private String orderNo;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SceneCouponRequest {
/**
* 券名称,
*/
private String couponName;
/**
* 备注
*/
private String remark;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SceneInviteGiftRequest {
/**
* 活动id,
*/
private String activityId;
/**
* 被邀请人
*/
private String inviteeName;
/**
* 通过时间,
*/
private String passTime;
/**
* relationId,
*/
private String relationId;
/**
* remark,
*/
private String 备注;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SceneMemberCardExpiredRequest {
/**
* 到期时间
*/
private Integer expiredAt;
/**
* 备注说明 / 温馨提示
*/
private String remark;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SceneMemberLevelChangedRequest {
/**
* 等级变更时间
*/
private Integer changedAt;
/**
* 备注
*/
private String remark;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SceneOrderPayedRequest {
/**
* 地址
*/
private String address;
/**
* 金额
*/
private Integer amount;
/**
* 序号 必填
*/
private Integer daySeq;
/**
* 备注
*/
private String formId;
/**
* 创建时间
*/
private Long gmtCreate;
/**
* 预约时间
*/
private Long gmtExpect;
/**
* 订单号
*/
private String orderId;
/**
* 订单类型
*/
private String orderType;
/**
* 取餐码
*/
private String otherCode;
/**
* prepayId
*/
private String prepayId;
/**
* 积分变动
*/
private String scoreChangedNum;
/**
* 积分变动原因
*/
private String scoreChangedReason;
/**
* 门店名称
*/
private String shopName;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SelfDeliveryOrderPayedScene {
/**
* 配送地址
*/
private String address;
/**
* 预计达到时间
*/
private String estimateArrivalTime;
/**
* 商户电话
*/
private String merchantPhone;
/**
* 订单编号
*/
private String orderNo;
/**
* 订单类型
*/
private String orderType;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Setter
@Getter
public class SubscribeMessageRequest {
private BookingOrderPayedScene bookingOrderPayedScene;
private BookingOrderPayedScene bookingOrderTakeReminderScene;
/**
* 渠道
*/
private Integer channel;
private DeliveryErrorReminder deliveryErrorReminder;
private GroupBuyingStatusReminder groupBuyingStatusReminder;
private InstantOrderPayedScene instantOrderPayedScene;
private InstantOrderPayedScene instantOrderTakeReminderScene;
private String messageEventType;
/**
* 小程序id
*/
private String miniAppId;
/**
* 小程序集合
*/
private List<String> openIdList;
private OrderDeliveryScene orderDeliveryScene;
private SceneCouponRequest sceneCouponExpiredRequest;
private SceneCouponRequest sceneCouponReceiveRequest;
private SceneInviteGiftRequest sceneInviteGiftRequest;
private SceneMemberCardExpiredRequest sceneMemberCardExpiredRequest;
private SceneMemberLevelChangedRequest sceneMemberLevelChangedRequest;
private SceneOrderPayedRequest sceneOrderPayedRequest;
private SelfDeliveryOrderPayedScene selfDeliveryOrderPayedScene;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class SubscribeMessageResponse {
private Integer code;
private String message;
private String subMsg;
private String ver;
}
package cn.freemud.entities.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* @author freemud
*/
@Getter
@Setter
public class TakeMealNoticesVO {
@ApiModelProperty(value = "商户Id")
private String partnerId;
@ApiModelProperty(value = "门店id")
private String storeCode;
@ApiModelProperty(value = "订单数量")
private Integer orderTotalNum;
@ApiModelProperty(value = "待制作杯数")
private Integer cupTotalNum;
@ApiModelProperty(value = "订单")
private String[] orders;
}
...@@ -162,6 +162,9 @@ public enum ResponseResult { ...@@ -162,6 +162,9 @@ public enum ResponseResult {
ORDER_NOT_CREATE_ERROR("45065", "请不要重复创建订单"), ORDER_NOT_CREATE_ERROR("45065", "请不要重复创建订单"),
MULTIORDER__ERRORREFUND("45005", "订单申请退款失败"), MULTIORDER__ERRORREFUND("45005", "订单申请退款失败"),
ORDER_CANCEL_ERROR_EXPECT_TIME("45067", "预约时间还剩15分钟,无法取消"),
ORDER_CANCEL_ERROR_ESTIMATE_TIME("45068", "预计送达还剩30分钟,无法取消"),
/** /**
* 支付 * 支付
......
package cn.freemud.service;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.constant.RedisKeyConstant;
import cn.freemud.entities.vo.TakeMealNoticesVO;
import cn.freemud.utils.ResponseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.concurrent.TimeUnit;
@Service
public class CallerService {
@Autowired
private RedisTemplate redisTemplate;
/**
* 缓存 待制作杯数量
* @param vo
*/
private void cacheTakeMealNotices(TakeMealNoticesVO vo){
String redisKey = RedisKeyConstant.notMadeGoodsNumber(vo.getPartnerId(), vo.getStoreCode());
redisTemplate.boundValueOps(redisKey).set(vo.getCupTotalNum(),1, TimeUnit.DAYS);
}
public BaseResponse takeMealNotices(TakeMealNoticesVO vo){
cacheTakeMealNotices(vo);
//发送取餐通知消息 cc 生态
return ResponseUtil.success();
}
}
package cn.freemud.service.thirdparty; package cn.freemud.service.thirdparty;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.ecology.SubscribeMessageRequest;
import cn.freemud.entities.dto.ecology.SubscribeMessageResponse;
import cn.freemud.entities.dto.ecology.VirtualBindStoreResponse; import cn.freemud.entities.dto.ecology.VirtualBindStoreResponse;
import cn.freemud.entities.dto.ecology.VirtualStoreRequest; import cn.freemud.entities.dto.ecology.VirtualStoreRequest;
import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto; import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto;
...@@ -28,4 +30,7 @@ public interface EcologyAdminApplicationClient { ...@@ -28,4 +30,7 @@ public interface EcologyAdminApplicationClient {
@PostMapping(value = "/ecology/api/getAuthorizerAccessToken") @PostMapping(value = "/ecology/api/getAuthorizerAccessToken")
GetTokenResponseDto getAuthorizerAccessToken(@RequestBody GetAuthorizerRequestDto request); GetTokenResponseDto getAuthorizerAccessToken(@RequestBody GetAuthorizerRequestDto request);
@PostMapping(value = "/ecology/api/subscribeMessage/send")
SubscribeMessageResponse subscribeMessage(SubscribeMessageRequest request);
} }
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