Commit a02c0a8f by zhiwj

提交订单

parent 2966776f
......@@ -208,6 +208,7 @@ public class EvaluateDTO implements Serializable {
private String replyMemberContent;
private String replyUserContent;
private List<String> imgList;
private Double orderMount;
public Integer getEvaluateId() {
return evaluateId;
......@@ -564,5 +565,13 @@ public class EvaluateDTO implements Serializable {
public void setEcuId(Long ecuId) {
this.ecuId = ecuId;
}
public void setOrderMount(Double orderMount) {
this.orderMount = orderMount;
}
public Double getOrderMount() {
return orderMount;
}
}
package com.gic.evaluate.dto;
import java.io.Serializable;
/**
*
* @Description:
* @author zhiwj
* @date 2020/2/5 11:18
*/
public class OrderGoodsDTO implements Serializable {
private static final long serialVersionUID = 4919895618830625309L;
/**
* 商品图片链接
*/
private String imageUrl;
/**
* 商品名称
*/
private String goodsName;
/**
* sku编码
*/
private String skuCode;
/**
* 商品售价
*/
private Double payPrice;
/**
* 商品数量
*/
private Integer goodsNum;
public String getImageUrl() {
return imageUrl;
}
public void setImageUrl(String imageUrl) {
this.imageUrl = imageUrl;
}
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public String getSkuCode() {
return skuCode;
}
public void setSkuCode(String skuCode) {
this.skuCode = skuCode;
}
public Double getPayPrice() {
return payPrice;
}
public void setPayPrice(Double payPrice) {
this.payPrice = payPrice;
}
public Integer getGoodsNum() {
return goodsNum;
}
public void setGoodsNum(Integer goodsNum) {
this.goodsNum = goodsNum;
}
}
......@@ -61,13 +61,13 @@ public interface EvaluateOutApiService {
/**
* 查询订单号对应的回复状态 key是订单号, value是状态(-1:未评价 0管理员没有回复过 1管理员回复了 2有新的追评管理员没回复 3逾期不可评价 4不支持追评 5超过评价期限 6超过最大追评次数 )
* @Title: queryRelayStatusByOrderNumbers
* @Title: queryRelayStatusByOrderId
* @Description:
* @author zhiwj
* @param enterpriseId
* @param orderNumberList
* @param orderIdList
* @return com.gic.api.base.commons.ServiceResponse<java.util.Map<java.lang.Long,java.lang.Integer>>
* @throws
*/
ServiceResponse<Map<String, Integer>> queryRelayStatusByOrderNumbers(Integer enterpriseId, List<String> orderNumberList);
ServiceResponse<Map<Long, Integer>> queryRelayStatusByOrderId(Integer enterpriseId, List<Long> orderIdList);
}
......@@ -25,6 +25,7 @@
<gic-bizdict-api>4.0.0-SNAPSHOT</gic-bizdict-api>
<gic-evaluate-api>4.0-SNAPSHOT</gic-evaluate-api>
<gic-member-api>4.0-SNAPSHOT</gic-member-api>
<gic-order-api>4.0-SNAPSHOT</gic-order-api>
</properties>
<dependencies>
......@@ -118,6 +119,11 @@
<artifactId>gic-store-api</artifactId>
<version>${gic-store-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-order-api</artifactId>
<version>${gic-order-api}</version>
</dependency>
</dependencies>
<build>
......
......@@ -88,7 +88,7 @@ public interface TabEvaluateMapper {
Page<Map<String, Object>> listTrend(StoreTrendQO storeTrendQO);
TabEvaluate getEvaluateByOrderNumber(@Param("enterpriseId") Integer enterpriseId, @Param("orderNumber") String orderNumber);
TabEvaluate getEvaluateByOrderId(@Param("enterpriseId") Integer enterpriseId, @Param("orderId") Long orderId);
List<Map<String, Object>> evaluateQuickChart(@Param("enterpriseId") Integer enterpriseId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("tagType") Integer tagType, @Param("ids") List<Integer> storeIdList);
......
......@@ -51,7 +51,7 @@ public interface EvaluateService {
Page<Map<String, Object>> listTrend(StoreTrendQO storeTrendQO);
TabEvaluate getEvaluateByOrderNumber(Integer enterpriseId, String orderNumber);
TabEvaluate getEvaluateByOrderId(Integer enterpriseId, Long orderId);
void updateEvaluate(EvaluateDTO evaluateDTO);
......
......@@ -148,9 +148,8 @@ public class EvaluateServiceImpl implements EvaluateService {
return tabEvaluateMapper.listTrend(storeTrendQO);
}
@Override
public TabEvaluate getEvaluateByOrderNumber(Integer enterpriseId, String orderNumber) {
return tabEvaluateMapper.getEvaluateByOrderNumber(enterpriseId, orderNumber);
public TabEvaluate getEvaluateByOrderId(Integer enterpriseId, Long orderId) {
return tabEvaluateMapper.getEvaluateByOrderId(enterpriseId, orderId);
}
@Override
......
......@@ -20,6 +20,10 @@ import com.gic.member.api.dto.AcuDetailDTO;
import com.gic.member.api.dto.MemberUserDTO;
import com.gic.member.api.service.CuDetailService;
import com.gic.member.api.service.MemberUserApiService;
import com.gic.order.api.dto.OrderListDetailDTO;
import com.gic.order.api.service.OrderApiService;
import com.gic.store.dto.StoreDTO;
import com.gic.store.service.StoreApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
......@@ -55,16 +59,38 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
private CuDetailService cuDetailService;
@Autowired
private MemberUserApiService memberUserApiService;
@Autowired
private OrderApiService orderApiService;
@Autowired
private StoreApiService storeApiService;
@Override
public ServiceResponse<Void> saveEvaluate(EvaluateDTO evaluateDTO) {
logger.info("保存订单评价:{}", JSON.toJSONString(evaluateDTO));
TabEvaluate evaluate = evaluateService.getEvaluateByOrderNumber(evaluateDTO.getEnterpriseId(), evaluateDTO.getOrderNumber());
TabEvaluate evaluate = evaluateService.getEvaluateByOrderId(evaluateDTO.getEnterpriseId(), evaluateDTO.getOrderId());
if (evaluate != null) {
EnterpriseServiceResponse.failure(ErrorCode.DATA_EXISTS);
}
TabEvaluateOrderConfig evaluateOrderConfig = evaluateOrderConfigService.getEvaluateOrderConfig(evaluateDTO.getEnterpriseId());
OrderListDetailDTO orderListDetailDTO = orderApiService.getOrderDetail(evaluateDTO.getEnterpriseId(), evaluateDTO.getOrderId(), evaluateDTO.getMemberId()).getResult();
// 判断是否超过评价时间
if (DateUtil.compareDate(new Date(), DateUtil.addDay(orderListDetailDTO.getOrderDTO().getReceiptsTime(), evaluateOrderConfig.getReviewLimitday()))) {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "已超越评价期限,无法评价");
}
// todo 判断是否超过评价时间
evaluateDTO.setGoodsInfo(JSON.toJSONString(orderListDetailDTO.getOrderItemList()));
StoreDTO storeDTO = storeApiService.getStoreById(evaluateDTO.getEnterpriseId(), Integer.valueOf(orderListDetailDTO.getOrderDTO().getStoreIdOffline())).getResult();
evaluateDTO.setStoreName(storeDTO.getStoreName());
evaluateDTO.setStoreCode(storeDTO.getStoreCode());
evaluateDTO.setStoreGroupId(storeDTO.getStoreGroupId());
evaluateDTO.setStoreGroupName(storeDTO.getStoreGroupName());
evaluateDTO.setAreaName(storeDTO.getProvinces());
evaluateDTO.setOrderNumber(orderListDetailDTO.getOrderDTO().getOrderNo());
evaluateDTO.setReceiptsDate(orderListDetailDTO.getOrderDTO().getReceiptsTime());
evaluateDTO.setOrderMount(orderListDetailDTO.getOrderDTO().getPayAmount());
evaluateDTO.setClerkId(orderListDetailDTO.getOrderDTO().getClerkId());
evaluateDTO.setClerkName(orderListDetailDTO.getOrderDTO().getClerkName());
evaluateDTO.setReviewStatus(Constants.CLOSE);
evaluateDTO.setTopHotStatus(Constants.CLOSE);
......@@ -193,36 +219,36 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
}
@Override
public ServiceResponse<Map<String, Integer>> queryRelayStatusByOrderNumbers(Integer enterpriseId, List<String> orderNumberList) {
Map<String, Integer> resultMap = new HashMap<>();
public ServiceResponse<Map<Long, Integer>> queryRelayStatusByOrderId(Integer enterpriseId, List<Long> orderIdList) {
Map<Long, Integer> resultMap = new HashMap<>();
TabEvaluateOrderConfig evaluateOrderConfig = evaluateOrderConfigService.getEvaluateOrderConfig(enterpriseId);
for (String orderNumber : orderNumberList) {
TabEvaluate evaluate = this.evaluateService.getEvaluateByOrderNumber(enterpriseId, orderNumber);
for (Long orderId : orderIdList) {
TabEvaluate evaluate = this.evaluateService.getEvaluateByOrderId(enterpriseId, orderId);
if (evaluate != null) {
// 已经评价过
if (Constants.CLOSE.equals(evaluateOrderConfig.getReview())) {
// 判断追评是否支持
resultMap.put(orderNumber, OrderReplyEnum.REPLY_NOT_SUPPORT.getCode());
resultMap.put(orderId, OrderReplyEnum.REPLY_NOT_SUPPORT.getCode());
} else if (DateUtil.compareDate(new Date(), DateUtil.addDay(evaluate.getReceiptsDate(), evaluateOrderConfig.getReviewLimitday()))) {
// 追评超过期限
resultMap.put(orderNumber, OrderReplyEnum.REPLY_OVERDUE.getCode());
resultMap.put(orderId, OrderReplyEnum.REPLY_OVERDUE.getCode());
}else {
// 是否追评超过次数
List<TabEvaluateReply> replyList = this.evaluateReplyService.listEvaluateReply(evaluate.getEnterpriseId(), evaluate.getEvaluateId());
if (CollectionUtils.isNotEmpty(replyList) && evaluateOrderConfig.getReviewTimes() <= replyList.size()) {
// 追评超过次数
resultMap.put(orderNumber, OrderReplyEnum.REPLY_OVER_MAX_TIMES.getCode());
resultMap.put(orderId, OrderReplyEnum.REPLY_OVER_MAX_TIMES.getCode());
} else {
//追评没有超过次数
resultMap.put(orderNumber, evaluate.getReplyStatus());
resultMap.put(orderId, evaluate.getReplyStatus());
}
}
} else {
//还没有评价过
// todo 是否超过评价时间
resultMap.put(orderNumber, -1);
resultMap.put(orderId, -1);
}
}
......
......@@ -23,6 +23,7 @@
<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" />
<dubbo:reference interface="com.gic.order.api.service.OrderApiService" id="orderApiService" timeout="6000" />
<!-- <dubbo:reference interface="com.gic.log.api.service.LogApiService" id="logApiService" timeout="6000" />-->
......
......@@ -804,12 +804,12 @@
</if>
</if>
</select>
<select id="getEvaluateByOrderNumber" resultMap="BaseResultMap">
<select id="getEvaluateByOrderId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_evaluate
where enterprise_id = #{enterpriseId}
and order_number = #{orderNumber}
and order_id = #{orderId}
and status = 1
limit 1
</select>
......
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