Commit 2863f679 by zhiwj

接受订单信息

parent c8a832b6
package com.gic.evaluate.dto;
import java.io.Serializable;
import java.util.Date;
/**
*
* @Description:
* @author zhiwj
* @date 2020/2/6 13:32
*/
public class EvaluateMsgLogDTO implements Serializable {
private static final long serialVersionUID = -4459192805222309115L;
/**
* 订单消息发送日志ID
*/
private Long evaluateMsgLogId;
/**
*
*/
private Integer enterpriseId;
/**
* 订单ID
*/
private Long orderId;
/**
* 订单号
*/
private String orderNumber;
/**
* 门店id
*/
private Integer storeId;
/**
* 金额
*/
private Double saleAmount;
/**
* 会员卡域id
*/
private Long memberAreaId;
/**
* 会员mcuId
*/
private Long mcuId;
/**
* 商品详情
*/
private String goodsInfo;
/**
* 订单实际消费日期
*/
private Date receiptsDate;
public Long getEvaluateMsgLogId() {
return evaluateMsgLogId;
}
public void setEvaluateMsgLogId(Long evaluateMsgLogId) {
this.evaluateMsgLogId = evaluateMsgLogId;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public String getOrderNumber() {
return orderNumber;
}
public void setOrderNumber(String orderNumber) {
this.orderNumber = orderNumber;
}
public Integer getStoreId() {
return storeId;
}
public void setStoreId(Integer storeId) {
this.storeId = storeId;
}
public Double getSaleAmount() {
return saleAmount;
}
public void setSaleAmount(Double saleAmount) {
this.saleAmount = saleAmount;
}
public Long getMemberAreaId() {
return memberAreaId;
}
public void setMemberAreaId(Long memberAreaId) {
this.memberAreaId = memberAreaId;
}
public Long getMcuId() {
return mcuId;
}
public void setMcuId(Long mcuId) {
this.mcuId = mcuId;
}
public String getGoodsInfo() {
return goodsInfo;
}
public void setGoodsInfo(String goodsInfo) {
this.goodsInfo = goodsInfo;
}
public Date getReceiptsDate() {
return receiptsDate;
}
public void setReceiptsDate(Date receiptsDate) {
this.receiptsDate = receiptsDate;
}
}
......@@ -355,4 +355,5 @@ public class EvaluateOrderConfigDTO implements Serializable {
public void setBadSuggestionTagType(Integer badSuggestionTagType) {
this.badSuggestionTagType = badSuggestionTagType;
}
}
package com.gic.evaluate.service;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.evaluate.dto.EvaluateMsgLogDTO;
/**
*
* @Description:
* @author zhiwj
* @date 2020/2/6 13:31
*/
public interface EvaluateMsgLogApiService {
/**
* 保存一个订单信息
* @Title: saveEvaluateMsgLog
* @Description:
* @author zhiwj
* @param evaluateMsgLogDTO
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<Void> saveEvaluateMsgLog(EvaluateMsgLogDTO evaluateMsgLogDTO);
/**
* 定时器方法,遍历所有商户,调用队列方法
* @Title: timerSendMemberMessage
* @Description:
* @author zhiwj
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<Void> timerSendMemberMessage();
/**
* 队列方法 发送模板消息
* @Title: queueSendMemberMessage
* @Description:
* @author zhiwj
* @param enterpriseId
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<Void> queueSendMemberMessage(String enterpriseId);
}
package com.gic.evaluate.dao.mapper;
import com.gic.evaluate.entity.TabEvaluateMsgLog;
public interface TabEvaluateMsgLogMapper {
/**
* 根据主键删除
*
* @param evaluateMsgLogId 主键
* @return 更新条目数
*/
int deleteByPrimaryKey(Long evaluateMsgLogId);
/**
* 插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insert(TabEvaluateMsgLog record);
/**
* 动态插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insertSelective(TabEvaluateMsgLog record);
/**
* 根据主键查询
*
* @param evaluateMsgLogId 主键
* @return 实体对象
*/
TabEvaluateMsgLog selectByPrimaryKey(Long evaluateMsgLogId);
/**
* 根据主键动态更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKeySelective(TabEvaluateMsgLog record);
/**
* 根据主键更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKey(TabEvaluateMsgLog record);
TabEvaluateMsgLog getByOrderId(Long orderId);
}
\ No newline at end of file
package com.gic.evaluate.entity;
import java.util.Date;
/**
* tab_evaluate_msg_log
*/
public class TabEvaluateMsgLog {
/**
* 订单消息发送日志ID
*/
private Long evaluateMsgLogId;
/**
*
*/
private Integer enterpriseId;
/**
* 订单ID
*/
private Long orderId;
/**
* 订单号
*/
private String orderNumber;
/**
* 门店id
*/
private Integer storeId;
/**
* 金额
*/
private Double saleAmount;
/**
* 发送时间
*/
private Date firstSendTime;
/**
* 真正发送时间
*/
private Date firstRealSendTime;
/**
* 状态(0:无效,1:有效,2:无效)
*/
private Integer firstStatus;
/**
* 发送时间
*/
private Date secondSendTime;
/**
* 真正发送时间
*/
private Date secondRealSendTime;
/**
* 状态(0:无效,1:有效,2:无效)
*/
private Integer secondStatus;
/**
* 发送时间
*/
private Date reviewSendTime;
/**
* 真正发送时间
*/
private Date reviewRealSendTime;
/**
* 状态(0:无效,1:有效,2:无效)
*/
private Integer reviewStatus;
/**
* 会员卡域id
*/
private Long memberAreaId;
/**
* 会员mcuId
*/
private Long mcuId;
/**
* 商品详情
*/
private String goodsInfo;
/**
* 订单实际消费日期
*/
private Date receiptsDate;
/**
* 创建时间
*/
private Date createTime;
/**
*
*/
private Date updateTime;
public Long getEvaluateMsgLogId() {
return evaluateMsgLogId;
}
public void setEvaluateMsgLogId(Long evaluateMsgLogId) {
this.evaluateMsgLogId = evaluateMsgLogId;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public String getOrderNumber() {
return orderNumber;
}
public void setOrderNumber(String orderNumber) {
this.orderNumber = orderNumber;
}
public Integer getStoreId() {
return storeId;
}
public void setStoreId(Integer storeId) {
this.storeId = storeId;
}
public Double getSaleAmount() {
return saleAmount;
}
public void setSaleAmount(Double saleAmount) {
this.saleAmount = saleAmount;
}
public Date getFirstSendTime() {
return firstSendTime;
}
public void setFirstSendTime(Date firstSendTime) {
this.firstSendTime = firstSendTime;
}
public Date getFirstRealSendTime() {
return firstRealSendTime;
}
public void setFirstRealSendTime(Date firstRealSendTime) {
this.firstRealSendTime = firstRealSendTime;
}
public Integer getFirstStatus() {
return firstStatus;
}
public void setFirstStatus(Integer firstStatus) {
this.firstStatus = firstStatus;
}
public Date getSecondSendTime() {
return secondSendTime;
}
public void setSecondSendTime(Date secondSendTime) {
this.secondSendTime = secondSendTime;
}
public Date getSecondRealSendTime() {
return secondRealSendTime;
}
public void setSecondRealSendTime(Date secondRealSendTime) {
this.secondRealSendTime = secondRealSendTime;
}
public Integer getSecondStatus() {
return secondStatus;
}
public void setSecondStatus(Integer secondStatus) {
this.secondStatus = secondStatus;
}
public Date getReviewSendTime() {
return reviewSendTime;
}
public void setReviewSendTime(Date reviewSendTime) {
this.reviewSendTime = reviewSendTime;
}
public Date getReviewRealSendTime() {
return reviewRealSendTime;
}
public void setReviewRealSendTime(Date reviewRealSendTime) {
this.reviewRealSendTime = reviewRealSendTime;
}
public Integer getReviewStatus() {
return reviewStatus;
}
public void setReviewStatus(Integer reviewStatus) {
this.reviewStatus = reviewStatus;
}
public Long getMemberAreaId() {
return memberAreaId;
}
public void setMemberAreaId(Long memberAreaId) {
this.memberAreaId = memberAreaId;
}
public Long getMcuId() {
return mcuId;
}
public void setMcuId(Long mcuId) {
this.mcuId = mcuId;
}
public String getGoodsInfo() {
return goodsInfo;
}
public void setGoodsInfo(String goodsInfo) {
this.goodsInfo = goodsInfo;
}
public Date getReceiptsDate() {
return receiptsDate;
}
public void setReceiptsDate(Date receiptsDate) {
this.receiptsDate = receiptsDate;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.gic.evaluate.service;
import com.gic.evaluate.entity.TabEvaluateMsgLog;
/**
*
* @Description:
* @author zhiwj
* @date 2020/2/6 13:41
*/
public interface EvaluateMsgLogService {
void save(TabEvaluateMsgLog evaluateMsgLog);
TabEvaluateMsgLog getByOrderId(Long orderId);
}
package com.gic.evaluate.service.impl;
import com.gic.evaluate.dao.mapper.TabEvaluateMsgLogMapper;
import com.gic.evaluate.entity.TabEvaluateMsgLog;
import com.gic.evaluate.service.EvaluateMsgLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
*
* @Description:
* @author zhiwj
* @date 2020/2/6 13:41
*/
@Service
public class EvaluateMsgLogServiceImpl implements EvaluateMsgLogService {
@Autowired
private TabEvaluateMsgLogMapper tabEvaluateMsgLogMapper;
@Override
public void save(TabEvaluateMsgLog evaluateMsgLog) {
this.tabEvaluateMsgLogMapper.insertSelective(evaluateMsgLog);
}
@Override
public TabEvaluateMsgLog getByOrderId(Long orderId) {
return this.tabEvaluateMsgLogMapper.getByOrderId(orderId);
}
}
package com.gic.evaluate.service.outer.impl;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.evaluate.constant.Constants;
import com.gic.evaluate.dto.EvaluateMsgLogDTO;
import com.gic.evaluate.entity.TabEvaluateMsgLog;
import com.gic.evaluate.entity.TabEvaluateOrderConfig;
import com.gic.evaluate.service.EvaluateMsgLogApiService;
import com.gic.evaluate.service.EvaluateMsgLogService;
import com.gic.evaluate.service.EvaluateOrderConfigService;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
*
* @Description:
* @author zhiwj
* @date 2020/2/6 13:40
*/
@Service("evaluateMsgLogApiService")
public class EvaluateMsgLogApiServiceImpl implements EvaluateMsgLogApiService {
private Logger logger = LogManager.getLogger(EvaluateMsgLogApiServiceImpl.class);
@Autowired
private EvaluateMsgLogService evaluateMsgLogService;
@Autowired
private EvaluateOrderConfigService evaluateOrderConfigService;
@Override
public ServiceResponse<Void> saveEvaluateMsgLog(EvaluateMsgLogDTO evaluateMsgLogDTO) {
logger.info("保存评价提醒日志信息:{}", JSON.toJSONString(evaluateMsgLogDTO));
TabEvaluateMsgLog oldMsgLog = evaluateMsgLogService.getByOrderId(evaluateMsgLogDTO.getOrderId());
if (oldMsgLog != null) {
logger.info("该订单已存在, orderId:{}", evaluateMsgLogDTO.getOrderId());
return EnterpriseServiceResponse.success();
}
TabEvaluateMsgLog evaluateMsgLog = EntityUtil.changeEntityByJSON(TabEvaluateMsgLog.class, evaluateMsgLogDTO);
TabEvaluateOrderConfig evaluateOrderConfig = evaluateOrderConfigService.getEvaluateOrderConfig(evaluateMsgLogDTO.getEnterpriseId());
Date now = new Date();
if (evaluateOrderConfig.getMindHour() != null) {
// 第一次提醒
Date sendTime = DateUtil.stringToDate(DateUtil.dateToString(DateUtil.addNumForDay(now, evaluateOrderConfig.getMindHour())) + " 19:00:00");
evaluateMsgLog.setFirstSendTime(sendTime);
evaluateMsgLog.setFirstStatus(1);
}
if (evaluateOrderConfig.getRemindDay() != null) {
// 第二次提醒
Date sendTime = DateUtil.stringToDate(DateUtil.dateToString(DateUtil.addNumForDay(now, evaluateOrderConfig.getRemindDay())) + " 19:00:00");
evaluateMsgLog.setSecondSendTime(sendTime);
evaluateMsgLog.setSecondStatus(1);
}
if (Constants.OPEN.equals(evaluateOrderConfig.getReview()) && evaluateOrderConfig.getReviewRemind() != null) {
// 追评提醒
Date date = DateUtil.addNumForDay(DateUtil.addNumForDay(now, evaluateOrderConfig.getEvaluateLimitday()), evaluateOrderConfig.getReviewRemind());
Date sendTime = DateUtil.stringToDate(DateUtil.dateToString(date) + " 19:00:00");
evaluateMsgLog.setReviewSendTime(sendTime);
evaluateMsgLog.setReviewStatus(1);
}
evaluateMsgLogService.save(evaluateMsgLog);
return EnterpriseServiceResponse.success();
}
@Override
public ServiceResponse<Void> timerSendMemberMessage() {
return null;
}
@Override
public ServiceResponse<Void> queueSendMemberMessage(String enterpriseId) {
return null;
}
}
......@@ -20,6 +20,7 @@
<dubbo:service interface="com.gic.evaluate.service.EvaluateManageApiService" ref="evaluateManageApiService" timeout="6000" />
<dubbo:service interface="com.gic.evaluate.service.ProblemOutApiService" ref="problemOutApiService" timeout="6000" />
<dubbo:service interface="com.gic.evaluate.service.ProblemManageApiService" ref="problemManageApiService" timeout="6000" />
<dubbo:service interface="com.gic.evaluate.service.EvaluateMsgLogApiService" ref="evaluateMsgLogApiService" timeout="6000" />
<dubbo:reference interface="com.gic.member.api.service.MemberUserApiService" id="memberUserApiService" timeout="6000" />
<dubbo:reference interface="com.gic.member.api.service.CuDetailService" id="cuDetailService" timeout="6000" />
<dubbo:reference interface="com.gic.store.service.StoreApiService" id="storeApiService" timeout="6000" />
......
......@@ -99,6 +99,7 @@ public class EvaluateOrderConfigVO implements Serializable {
@Max(value = 1, message = "参数错误", groups = EvaluateOrderConfigValid.class)
private Integer review;
private Integer reviewRemind;
/**
* 追评期限
*/
......@@ -327,4 +328,12 @@ public class EvaluateOrderConfigVO implements Serializable {
public void setReplyQuick(String[] replyQuick) {
this.replyQuick = replyQuick;
}
public Integer getReviewRemind() {
return reviewRemind;
}
public void setReviewRemind(Integer reviewRemind) {
this.reviewRemind = reviewRemind;
}
}
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