Commit 0704dbdc by 陶光胜

Merge branch 'developer' into 'master'

Developer

See merge request !3
parents 3717b4ad da00d4c6
......@@ -213,6 +213,8 @@ public class EvaluateDTO implements Serializable {
private Double orderMount;
private double avgScore;
private List<EvaluateTagsDTO> quickReplyTagList;
private List<String> quickReplyTagNameList;
private Integer storeInfoId;
public Integer getEvaluateId() {
return evaluateId;
......@@ -601,5 +603,21 @@ public class EvaluateDTO implements Serializable {
public List<EvaluateTagsDTO> getQuickReplyTagList() {
return quickReplyTagList;
}
public List<String> getQuickReplyTagNameList() {
return quickReplyTagNameList;
}
public void setQuickReplyTagNameList(List<String> quickReplyTagNameList) {
this.quickReplyTagNameList = quickReplyTagNameList;
}
public void setStoreInfoId(Integer storeInfoId) {
this.storeInfoId = storeInfoId;
}
public Integer getStoreInfoId() {
return storeInfoId;
}
}
......@@ -69,6 +69,7 @@ public class EvaluateReplyDTO implements Serializable {
private String userName;
private List<String> imgList;
private List<EvaluateTagsDTO> quickReplyTagList;
private List<String> quickReplyTagNameList;
public Integer getEvaluateReplyId() {
return evaluateReplyId;
......@@ -181,4 +182,12 @@ public class EvaluateReplyDTO implements Serializable {
public List<EvaluateTagsDTO> getQuickReplyTagList() {
return quickReplyTagList;
}
public List<String> getQuickReplyTagNameList() {
return quickReplyTagNameList;
}
public void setQuickReplyTagNameList(List<String> quickReplyTagNameList) {
this.quickReplyTagNameList = quickReplyTagNameList;
}
}
package com.gic.evaluate.dto;
import java.io.Serializable;
import java.util.List;
/**
*
......@@ -32,6 +33,9 @@ public class OrderGoodsDTO implements Serializable {
*/
private Integer goodsNum;
List<OrderItemAttrViewDTO> skuInfo;
public String getImageUrl() {
return imageUrl;
}
......@@ -71,4 +75,12 @@ public class OrderGoodsDTO implements Serializable {
public void setGoodsNum(Integer goodsNum) {
this.goodsNum = goodsNum;
}
public List<OrderItemAttrViewDTO> getSkuInfo() {
return skuInfo;
}
public void setSkuInfo(List<OrderItemAttrViewDTO> skuInfo) {
this.skuInfo = skuInfo;
}
}
package com.gic.evaluate.dto;
import java.io.Serializable;
/**
* @author zhiwj
* @Description:
* @date 2020-05-08 16:06
*/
public class OrderItemAttrViewDTO implements Serializable {
private static final long serialVersionUID = -7570327156461809158L;
private String key;
private String value;
public OrderItemAttrViewDTO() {
}
public String getKey() {
return this.key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return this.value;
}
public void setValue(String value) {
this.value = value;
}
}
......@@ -65,4 +65,8 @@ public class StoreTrendQO extends PageQO {
public void setSearch(String search) {
this.search = search;
}
public Integer getPageNum() {
return this.getCurrentPage();
}
}
......@@ -135,6 +135,11 @@
<artifactId>gic-marketing-process-api</artifactId>
<version>${gic-marketing-process-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-data-api</artifactId>
<version>${gic-data-api}</version>
</dependency>
</dependencies>
<build>
......
......@@ -22,7 +22,12 @@ public class TabEvaluate {
private Integer storeId;
/**
* 会员id
* 门店infoid
*/
private Integer storeInfoId;
/**
* mcuId
*/
private Long memberId;
......@@ -225,6 +230,14 @@ public class TabEvaluate {
this.storeId = storeId;
}
public Integer getStoreInfoId() {
return storeInfoId;
}
public void setStoreInfoId(Integer storeInfoId) {
this.storeInfoId = storeInfoId;
}
public Long getMemberId() {
return memberId;
}
......
......@@ -158,6 +158,7 @@ public class EvaluateServiceImpl implements EvaluateService {
@Override
public Page<Map<String, Object>> listTrend(StoreTrendQO storeTrendQO) {
PageHelper.startPage(storeTrendQO);
return tabEvaluateMapper.listTrend(storeTrendQO);
}
......
......@@ -67,8 +67,6 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
@Autowired
private StoreApiService storeApiService;
@Autowired
private EvaluateMsgLogService evaluateMsgLogService;
@Autowired
private EvaluateTagsService evaluateTagsService;
// @Autowired
// private NoticeRouterApiService noticeRouterApiService;
......@@ -90,9 +88,10 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
List<OrderGoodsDTO> dtoList = EntityUtil.changeEntityListByJSON(OrderGoodsDTO.class, orderListDetailDTO.getOrderItemList());
evaluateDTO.setGoodsInfo(JSON.toJSONString(dtoList));
StoreDTO storeDTO = storeApiService.getStoreById(evaluateDTO.getEnterpriseId(), Integer.valueOf(orderListDetailDTO.getOrderDTO().getStoreIdOffline())).getResult();
StoreDTO storeDTO = storeApiService.getStoreByStoreInfoId(evaluateDTO.getEnterpriseId(), Integer.valueOf(orderListDetailDTO.getOrderDTO().getStoreIdOffline())).getResult();
evaluateDTO.setStoreId(storeDTO.getStoreId());
evaluateDTO.setStoreInfoId(storeDTO.getStoreInfoId());
evaluateDTO.setStoreName(storeDTO.getStoreName());
evaluateDTO.setStoreCode(storeDTO.getStoreCode());
evaluateDTO.setStoreGroupId(storeDTO.getStoreGroupId());
......@@ -299,7 +298,8 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
List<TabEvaluateTags> tagsList = evaluateTagsService.listEvaluateTags(evaluateDTO.getEnterpriseId(), evaluateDTO.getEvaluateId());
evaluateDTO.setQuickReplyTagList(EntityUtil.changeEntityListByJSON(EvaluateTagsDTO.class, tagsList));
evaluateDTO.setQuickReplyTagNameList(Optional.ofNullable(tagsList).orElse(Collections.emptyList()).stream().map(TabEvaluateTags::getTagName).collect(Collectors.toList()));
// 追评和回复的图片
for (EvaluateReplyDTO replyDTO : replyDTOList) {
List<TabEvaluateImg> evaluateReplyImgList = evaluateImgService.listImageByEvaluateReplyId(replyDTO.getEvaluateReplyId());
......@@ -307,7 +307,7 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
replyDTO.setImgList(replyImgList);
List<TabEvaluateTags> replyTagsList = evaluateTagsService.listEvaluateTags(replyDTO.getEnterpriseId(), replyDTO.getEvaluateId(), replyDTO.getEvaluateReplyId());
replyDTO.setQuickReplyTagList(EntityUtil.changeEntityListByJSON(EvaluateTagsDTO.class, tagsList));
replyDTO.setQuickReplyTagNameList(Optional.ofNullable(replyTagsList).orElse(Collections.emptyList()).stream().map(TabEvaluateTags::getTagName).collect(Collectors.toList()));
}
evaluateDTO.setReplyList(replyDTOList);
......@@ -480,8 +480,9 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
}
private double getAvgScore(TabEvaluateOrderConfig evaluateOrderConfig, Integer goodsScore, Integer storeScore, Integer serviceScore) {
logger.debug("计算平均分:{},{},{}", goodsScore, storeScore, serviceScore);
// 开启的评价项
int count = 0;
double count = 0;
// 评价总分
double sumScore = 0;
if (Constants.OPEN.equals(evaluateOrderConfig.getGoods()) && goodsScore != null) {
......@@ -497,8 +498,11 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
sumScore += serviceScore;
}
if (count > 0) {
return sumScore / count;
double avg = sumScore / count;
logger.debug("平均分计算结果:{}", avg);
return avg;
} else {
logger.debug("平均分计算结果为0");
return 0;
}
}
......
......@@ -4,12 +4,13 @@ import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.PageHelperUtils;
import com.gic.data.api.dto.StoreOrderEvaluateDTO;
import com.gic.data.api.service.StoreEvaluateApiService;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.evaluate.constant.QuickReplyTypeEnum;
import com.gic.evaluate.qo.StoreScoreQO;
import com.gic.evaluate.qo.StoreTrendQO;
import com.gic.evaluate.service.EvaluateMsgLogService;
import com.gic.evaluate.service.EvaluateOverviewApiService;
import com.gic.evaluate.service.EvaluateQuickService;
import com.gic.evaluate.service.EvaluateService;
......@@ -19,6 +20,7 @@ import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
......@@ -37,10 +39,12 @@ public class EvaluateOverviewApiServiceImpl implements EvaluateOverviewApiServic
@Autowired
private EvaluateService evaluateService;
@Autowired
private EvaluateMsgLogService evaluateMsgLogService;
// @Autowired
// private EvaluateMsgLogService evaluateMsgLogService;
@Autowired
private EvaluateQuickService evaluateQuickService;
@Autowired
StoreEvaluateApiService storeEvaluateApiService;
@Override
public ServiceResponse<Map<String, Long>> chart1(Integer enterpriseId, String startTime, String endTime, List<Integer> storeIdList) {
......@@ -67,7 +71,7 @@ public class EvaluateOverviewApiServiceImpl implements EvaluateOverviewApiServic
public ServiceResponse<Map<String, List<Map<String, Object>>>> chart3(Integer enterpriseId, String startTime, String endTime, List<Integer> storeIdList) {
List<Map<String, Object>> listTrendTotalEvaluate = this.evaluateService.listTrendTotalEvaluate(enterpriseId, startTime, endTime, storeIdList);
List<Map<String, Object>> listTrendGoodEvaluate = this.evaluateService.listTrendGoodEvaluate(enterpriseId, startTime, endTime, storeIdList);
List<Map<String, Object>> listTrendOrderCount = evaluateMsgLogService.listTrendOrderCount(enterpriseId, startTime, endTime, storeIdList);
List<Map<String, Object>> listTrendOrderCount = this.storeEvaluateApiService.listTrendOrderCount(enterpriseId, startTime, endTime, storeIdList).getResult();
Map<String, List<Map<String, Object>>> map = new HashMap<>();
......@@ -111,6 +115,11 @@ public class EvaluateOverviewApiServiceImpl implements EvaluateOverviewApiServic
@Override
public ServiceResponse<Page<Map<String, Object>>> listStoreScore(StoreScoreQO storeScoreQO) {
com.github.pagehelper.Page<Map<String, Object>> storeScoreList = this.evaluateService.listStoreScore(storeScoreQO);
if (CollectionUtils.isNotEmpty(storeScoreList)) {
Map<String, Object> storeScore = this.evaluateService.getTotalStoreScore(storeScoreQO);
storeScore.put("storeName", "总计");
storeScoreList.add(0, storeScore);
}
return EnterpriseServiceResponse.success(PageHelperUtils.changePageHelperToCurrentPage(storeScoreList));
}
......@@ -131,24 +140,22 @@ public class EvaluateOverviewApiServiceImpl implements EvaluateOverviewApiServic
return storeId == null ? null : Integer.valueOf(storeId.toString());
}
).collect(Collectors.toList());
Map<Integer, Map<String, Object>> orderCountMap = evaluateMsgLogService.orderCountByStoreId(storeTrendQO.getEnterpriseId(), storeIdList);
// 这里要取数据组的数据
Map<Integer, StoreOrderEvaluateDTO> orderCountMap = storeEvaluateApiService.getStoreOrderEvaluateByStoreId(storeTrendQO.getEnterpriseId(), storeIdList).getResult();
// Map<Integer, Map<String, Object>> orderCountMap = evaluateMsgLogService.orderCountByStoreId(storeTrendQO.getEnterpriseId(), storeIdList);
for (Map<String, Object> e : trendList) {
// e.put("evaluateRate", 0);
Object storeId = e.get("storeId");
if (storeId != null) {
Map<String, Object> map = orderCountMap.get(Integer.valueOf(storeId.toString()));
if (map != null) {
Long totalCount = (Long) e.get("totalCount");
Long orderCount = (Long) map.get("orderCount");
Long goodCount = (Long) e.get("goodCount");
if (orderCount != null && orderCount != 0) {
e.put("evaluateRate", totalCount.doubleValue() / orderCount.doubleValue());
} else {
e.put("evaluateRate", 0);
}
if (goodCount != null && goodCount != 0) {
e.put("goodRate", goodCount.doubleValue() / totalCount.doubleValue());
StoreOrderEvaluateDTO storeOrderEvaluateDTO = orderCountMap.get(Integer.valueOf(storeId.toString()));
if (storeOrderEvaluateDTO != null) {
// Long totalCount = (Long) e.get("totalCount");
// Long goodCount = (Long) e.get("goodCount");
BigDecimal goodRate = (BigDecimal) e.get("goodRate");
e.put("evaluateRate", storeOrderEvaluateDTO.getEvaluateRate());
if (goodRate != null) {
e.put("goodRate", (double)Math.round(goodRate.doubleValue() * 10000) / 100 + "%");
} else {
e.put("goodRate", 0);
}
......@@ -261,5 +268,4 @@ public class EvaluateOverviewApiServiceImpl implements EvaluateOverviewApiServic
dateList.add(dateSecond);
return dateList;
}
}
......@@ -28,6 +28,7 @@
<dubbo:reference interface="com.gic.enterprise.service.EnterpriseApiService" id="enterpriseApiService" timeout="6000" />
<!--<dubbo:reference interface="com.gic.enterprise.service.EnterpriseApiService" id="enterpriseApiService" timeout="6000" />-->
<dubbo:reference interface="com.gic.order.api.service.OrderApiService" id="orderApiService" timeout="6000" />
<dubbo:reference interface="com.gic.data.api.service.StoreEvaluateApiService" id="storeEvaluateApiService" timeout="6000" />
<!-- <dubbo:reference interface="com.gic.log.api.service.LogApiService" id="logApiService" timeout="6000" />-->
......
......@@ -182,8 +182,8 @@
<if test="tagType != null ">
and tag_type = #{tagType}
</if>
order by update_time desc
limit 1, 10
order by create_time desc
limit 0, 10
</select>
</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