Commit d224d3af by zhiwj

保存接口

parent 515bf442
......@@ -7,11 +7,12 @@ package com.gic.evaluate.constant;
* @date 2019-12-27 10:33
*/
public enum ComputeEnum {
GT(">",1, "大于"),
GTE(">=",3, "大于等于"),
EQ("=", 2, "等于"),
LTE("<=", 3, "小于等于"),
LT("<", 1, "小于");
LT("<", 1, "小于"),
LTE("<=", 2, "小于等于"),
EQ("=", 3, "等于"),
GTE(">=",4, "大于等于"),
GT(">",5, "大于"),
;
private String compute;
private Integer code;
private String msg;
......
......@@ -11,21 +11,21 @@ public class Constants {
/**
* 开启
*/
public static final int OPEN = 1;
public static final Integer OPEN = 1;
/**
* 关闭
*/
public static final int CLOSE = 0;
public static final Integer CLOSE = 0;
/**
* 按评分从高到低
*/
public static final int EVALUATE_ORDER_SORT_SCORE = 1;
public static final Integer EVALUATE_ORDER_SORT_SCORE = 1;
/**
* 按评价时间倒序
*/
public static final int EVALUATE_ORDER_SORT_TIME = 2;
public static final Integer EVALUATE_ORDER_SORT_TIME = 2;
}
......@@ -7,9 +7,9 @@ package com.gic.evaluate.constant;
* @date 2019-12-25 18:14
*/
public enum GreaterEnum {
GT(">",1, "大于"),
EQ("=",2, "等于"),
GTE(">=",3, "大于等于");
EQ("=",3, "等于"),
GTE(">=",4, "大于等于"),
GT(">",5, "大于");
private String compute;
private Integer code;
......
......@@ -8,8 +8,8 @@ package com.gic.evaluate.constant;
*/
public enum LessEnum {
LT("<", 1, "小于"),
EQ("=", 2, "等于"),
LTE("<=", 3, "小于等于");
LTE("<=", 2, "小于等于"),
EQ("=", 3, "等于");
private String compute;
private Integer code;
......
......@@ -28,11 +28,6 @@ public class BadEvaluateConfigDTO implements Serializable {
private Integer badOnceStatus;
/**
* 三项评价到达设定值
*/
private Integer badTotalStatus;
/**
* 商品质量评分类型
*/
private Integer badGoodsType;
......@@ -63,6 +58,21 @@ public class BadEvaluateConfigDTO implements Serializable {
private Integer badServiceScore;
/**
* 三项评价到达设定值
*/
private Integer badTotalStatus;
/**
* 差评判定 全部评价 类型
*/
private Integer badTotalType;
/**
* 差评 全部评价 分数
*/
private Integer badTotalScore;
/**
* 好评判定是否开启
*/
private Integer goodStatus;
......@@ -121,14 +131,6 @@ public class BadEvaluateConfigDTO implements Serializable {
this.badOnceStatus = badOnceStatus;
}
public Integer getBadTotalStatus() {
return badTotalStatus;
}
public void setBadTotalStatus(Integer badTotalStatus) {
this.badTotalStatus = badTotalStatus;
}
public Integer getBadGoodsType() {
return badGoodsType;
}
......@@ -177,6 +179,30 @@ public class BadEvaluateConfigDTO implements Serializable {
this.badServiceScore = badServiceScore;
}
public Integer getBadTotalStatus() {
return badTotalStatus;
}
public void setBadTotalStatus(Integer badTotalStatus) {
this.badTotalStatus = badTotalStatus;
}
public Integer getBadTotalType() {
return badTotalType;
}
public void setBadTotalType(Integer badTotalType) {
this.badTotalType = badTotalType;
}
public Integer getBadTotalScore() {
return badTotalScore;
}
public void setBadTotalScore(Integer badTotalScore) {
this.badTotalScore = badTotalScore;
}
public Integer getGoodStatus() {
return goodStatus;
}
......
......@@ -99,6 +99,16 @@ public class EvaluateDTO implements Serializable {
private String storeCode;
/**
* 门店分组id
*/
private Integer storeGroupId;
/**
* 门店分组名
*/
private String storeGroupName;
/**
* 订单号
*/
private String orderNumber;
......@@ -154,7 +164,7 @@ public class EvaluateDTO implements Serializable {
private Integer visitStatus;
/**
* 评论状态 0未回复 1有回复 2有追评
* 评论状态 0未回复 1有回复
*/
private Integer replyStatus;
......@@ -311,6 +321,22 @@ public class EvaluateDTO implements Serializable {
this.storeCode = storeCode;
}
public Integer getStoreGroupId() {
return storeGroupId;
}
public void setStoreGroupId(Integer storeGroupId) {
this.storeGroupId = storeGroupId;
}
public String getStoreGroupName() {
return storeGroupName;
}
public void setStoreGroupName(String storeGroupName) {
this.storeGroupName = storeGroupName;
}
public String getOrderNumber() {
return orderNumber;
}
......
......@@ -29,7 +29,7 @@ public class MemberReplyDTO implements Serializable {
/**
*
*/
private Integer memberId;
private Long memberId;
/**
*
......@@ -60,11 +60,11 @@ public class MemberReplyDTO implements Serializable {
this.replyContent = replyContent;
}
public Integer getMemberId() {
public Long getMemberId() {
return memberId;
}
public void setMemberId(Integer memberId) {
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
......
package com.gic.evaluate.qo;
import com.gic.enterprise.qo.PageQO;
/**
*
* @Description:
* @author zhiwj
* @date 2019-12-27 16:43
*/
public class StoreScoreQO extends PageQO {
private static final long serialVersionUID = -860396383402780434L;
private Integer enterpriseId;
private Integer sortColumn;
private Integer sortType;
private Integer storeGroupId;
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Integer getSortColumn() {
return sortColumn;
}
public void setSortColumn(Integer sortColumn) {
this.sortColumn = sortColumn;
}
public Integer getSortType() {
return sortType;
}
public void setSortType(Integer sortType) {
this.sortType = sortType;
}
public Integer getStoreGroupId() {
return storeGroupId;
}
public void setStoreGroupId(Integer storeGroupId) {
this.storeGroupId = storeGroupId;
}
public Integer getPageNum() {
return this.getCurrentPage();
}
}
package com.gic.evaluate.qo;
import com.gic.enterprise.qo.PageQO;
/**
*
* @Description:
* @author zhiwj
* @date 2019-12-27 16:47
*/
public class StoreTrendQO extends PageQO {
private static final long serialVersionUID = -5061611641251898648L;
private Integer enterpriseId;
private Integer sortColumn;
private Integer sortType;
private Integer storeGroupId;
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Integer getSortColumn() {
return sortColumn;
}
public void setSortColumn(Integer sortColumn) {
this.sortColumn = sortColumn;
}
public Integer getSortType() {
return sortType;
}
public void setSortType(Integer sortType) {
this.sortType = sortType;
}
public Integer getStoreGroupId() {
return storeGroupId;
}
public void setStoreGroupId(Integer storeGroupId) {
this.storeGroupId = storeGroupId;
}
}
package com.gic.evaluate.service;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.evaluate.qo.StoreScoreQO;
import com.gic.evaluate.qo.StoreTrendQO;
import java.util.List;
import java.util.Map;
/**
*
......@@ -11,7 +16,7 @@ import com.gic.api.base.commons.ServiceResponse;
public interface EvaluateOverviewApiService {
/**
* 图表1
* 图表1 近期评价总数
* @Title: chart1
* @Description:
* @author zhiwj
......@@ -21,10 +26,10 @@ public interface EvaluateOverviewApiService {
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<Void> chart1(Integer enterpriseId, String startTime, String endTime);
ServiceResponse<Map<String, Long>> chart1(Integer enterpriseId, String startTime, String endTime);
/**
* 图表2
* 图表2 各项评分概况
* @Title: chart2
* @Description:
* @author zhiwj
......@@ -34,19 +39,19 @@ public interface EvaluateOverviewApiService {
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<Void> chart2(Integer enterpriseId, String startTime, String endTime);
ServiceResponse<List<Map<String, Long>>> chart2(Integer enterpriseId, String startTime, String endTime);
/**
* 图表3
* 图表3 评价趋势
* @param enterpriseId
* @param startTime
* @param endTime
* @return
*/
ServiceResponse<Void> chart3(Integer enterpriseId, String startTime, String endTime);
ServiceResponse<Map<String, List<Map<String, String>>>> chart3(Integer enterpriseId, String startTime, String endTime);
/**
* 图表4
* 图表4 正面/负面快评使用统计 变化趋势
* @param enterpriseId
* @param startTime
* @param endTime
......@@ -54,6 +59,36 @@ public interface EvaluateOverviewApiService {
*/
ServiceResponse<Void> chart4(Integer enterpriseId, String startTime, String endTime);
/**
* 查询门店评分
* @Title: listStoreScore
* @Description:
* @author zhiwj
* @param storeScoreQO
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<List<Map<String, Object>>> listStoreScore(StoreScoreQO storeScoreQO);
/**
* 门店总评分
* @Title: getTotalStoreScore
* @Description:
* @author zhiwj
* @param storeScoreQO
* @return com.gic.api.base.commons.ServiceResponse<java.util.Map<java.lang.String,java.lang.Object>>
* @throws
*/
ServiceResponse<Map<String, Object>> getTotalStoreScore(StoreScoreQO storeScoreQO);
/**
* 查询趋势详情
* @Title: listTrend
* @Description:
* @author zhiwj
* @param storeTrendQO
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<List<Map<String, Object>>> listTrend(StoreTrendQO storeTrendQO);
}
......@@ -2,7 +2,13 @@ package com.gic.evaluate.dao.mapper;
import com.gic.evaluate.entity.TabEvaluate;
import com.gic.evaluate.qo.EvaluateQO;
import com.gic.evaluate.qo.StoreScoreQO;
import com.gic.evaluate.qo.StoreTrendQO;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface TabEvaluateMapper {
/**
......@@ -54,4 +60,22 @@ public interface TabEvaluateMapper {
int updateByPrimaryKey(TabEvaluate record);
Page<TabEvaluate> listEvaluate(EvaluateQO evaluateQO);
Map<String, Long> getTotalChart(@Param("enterpriseId") Integer enterpriseId, @Param("startTime") String startTime, @Param("endTime") String endTime);
Map<String, Long> getGoodsCountChart(@Param("enterpriseId") Integer enterpriseId, @Param("startTime") String startTime, @Param("endTime") String endTime);
Map<String, Long> getStoreCountChart(@Param("enterpriseId") Integer enterpriseId, @Param("startTime") String startTime, @Param("endTime") String endTime);
Map<String, Long> getServiceCountChart(@Param("enterpriseId") Integer enterpriseId, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<Map<String, String>> listTrendEvaluate(@Param("enterpriseId") Integer enterpriseId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("goodEvaluateStatus") Integer goodEvaluateStatus);
List<Map<String, Object>> listStoreScore(StoreScoreQO storeScoreQO);
Map<String, Object> getTotalStoreScore(StoreScoreQO storeScoreQO);
List<Map<String, Object>> listTrend(StoreTrendQO storeTrendQO);
TabEvaluate getEvaluateByOrderNumber(@Param("enterpriseId") Integer enterpriseId, @Param("orderNumber") String orderNumber);
}
\ No newline at end of file
package com.gic.evaluate.dao.mapper;
import com.gic.evaluate.entity.TabEvaluateQuick;
public interface TabEvaluateQuickMapper {
/**
* 根据主键删除
*
* @param evaluateQuickId 主键
* @return 更新条目数
*/
int deleteByPrimaryKey(String evaluateQuickId);
/**
* 插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insert(TabEvaluateQuick record);
/**
* 动态插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insertSelective(TabEvaluateQuick record);
/**
* 根据主键查询
*
* @param evaluateQuickId 主键
* @return 实体对象
*/
TabEvaluateQuick selectByPrimaryKey(String evaluateQuickId);
/**
* 根据主键动态更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKeySelective(TabEvaluateQuick record);
/**
* 根据主键更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKey(TabEvaluateQuick record);
}
\ No newline at end of file
......@@ -22,11 +22,6 @@ public class TabBadEvaluateConfig {
private Integer badOnceStatus;
/**
* 三项评价到达设定值
*/
private Integer badTotalStatus;
/**
* 商品质量评分类型
*/
private Integer badGoodsType;
......@@ -57,6 +52,21 @@ public class TabBadEvaluateConfig {
private Integer badServiceScore;
/**
* 三项评价到达设定值
*/
private Integer badTotalStatus;
/**
* 差评判定 全部评价 类型
*/
private Integer badTotalType;
/**
* 差评 全部评价 分数
*/
private Integer badTotalScore;
/**
* 好评判定是否开启
*/
private Integer goodStatus;
......@@ -115,14 +125,6 @@ public class TabBadEvaluateConfig {
this.badOnceStatus = badOnceStatus;
}
public Integer getBadTotalStatus() {
return badTotalStatus;
}
public void setBadTotalStatus(Integer badTotalStatus) {
this.badTotalStatus = badTotalStatus;
}
public Integer getBadGoodsType() {
return badGoodsType;
}
......@@ -171,6 +173,30 @@ public class TabBadEvaluateConfig {
this.badServiceScore = badServiceScore;
}
public Integer getBadTotalStatus() {
return badTotalStatus;
}
public void setBadTotalStatus(Integer badTotalStatus) {
this.badTotalStatus = badTotalStatus;
}
public Integer getBadTotalType() {
return badTotalType;
}
public void setBadTotalType(Integer badTotalType) {
this.badTotalType = badTotalType;
}
public Integer getBadTotalScore() {
return badTotalScore;
}
public void setBadTotalScore(Integer badTotalScore) {
this.badTotalScore = badTotalScore;
}
public Integer getGoodStatus() {
return goodStatus;
}
......
......@@ -92,6 +92,16 @@ public class TabEvaluate {
private String storeCode;
/**
* 门店分组id
*/
private Integer storeGroupId;
/**
* 门店分组名
*/
private String storeGroupName;
/**
* 订单号
*/
private String orderNumber;
......@@ -147,7 +157,7 @@ public class TabEvaluate {
private Integer visitStatus;
/**
* 评论状态 0未回复 1有回复 2有追评
* 评论状态 0未回复 1有回复
*/
private Integer replyStatus;
......@@ -302,6 +312,22 @@ public class TabEvaluate {
this.storeCode = storeCode;
}
public Integer getStoreGroupId() {
return storeGroupId;
}
public void setStoreGroupId(Integer storeGroupId) {
this.storeGroupId = storeGroupId;
}
public String getStoreGroupName() {
return storeGroupName;
}
public void setStoreGroupName(String storeGroupName) {
this.storeGroupName = storeGroupName;
}
public String getOrderNumber() {
return orderNumber;
}
......
package com.gic.evaluate.entity;
import java.util.Date;
/**
* tab_evaluate_quick
*/
public class TabEvaluateQuick {
/**
* 快捷标签id
*/
private String evaluateQuickId;
/**
* 标签类型 1:负面评价 2:正面评价 3:后台回复
*/
private Integer tagType;
/**
* 评价快捷标签
*/
private String tagName;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 企业ID
*/
private String enterpriseId;
/**
* 状态(0:无效,1:有效)
*/
private Integer status;
public String getEvaluateQuickId() {
return evaluateQuickId;
}
public void setEvaluateQuickId(String evaluateQuickId) {
this.evaluateQuickId = evaluateQuickId;
}
public Integer getTagType() {
return tagType;
}
public void setTagType(Integer tagType) {
this.tagType = tagType;
}
public String getTagName() {
return tagName;
}
public void setTagName(String tagName) {
this.tagName = tagName;
}
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;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
}
\ No newline at end of file
......@@ -39,7 +39,7 @@ public class TabEvaluateReply {
/**
*
*/
private Integer memberId;
private Long memberId;
/**
*
......@@ -119,11 +119,11 @@ public class TabEvaluateReply {
this.replyContent = replyContent;
}
public Integer getMemberId() {
public Long getMemberId() {
return memberId;
}
public void setMemberId(Integer memberId) {
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
......
package com.gic.evaluate.service;
/**
*
* @Description:
* @author zhiwj
* @date 2019-12-30 11:07
*/
public interface EvaluateQuickService {
}
......@@ -3,8 +3,13 @@ package com.gic.evaluate.service;
import com.gic.evaluate.dto.EvaluateDTO;
import com.gic.evaluate.entity.TabEvaluate;
import com.gic.evaluate.qo.EvaluateQO;
import com.gic.evaluate.qo.StoreScoreQO;
import com.gic.evaluate.qo.StoreTrendQO;
import com.github.pagehelper.Page;
import java.util.List;
import java.util.Map;
/**
*
* @Description:
......@@ -17,4 +22,24 @@ public interface EvaluateService {
TabEvaluate getEvaluate(Integer enterpriseId, Integer evaluateId);
void saveEvaluate(EvaluateDTO evaluateDTO);
Map<String, Long> getTotalCountChart(Integer enterpriseId, String startTime, String endTime);
Map<String, Long> getGoodsCountChart(Integer enterpriseId, String startTime, String endTime);
Map<String, Long> getStoreCountChart(Integer enterpriseId, String startTime, String endTime);
Map<String, Long> getServiceCountChart(Integer enterpriseId, String startTime, String endTime);
List<Map<String, String>> listTrendTotalEvaluate(Integer enterpriseId, String startTime, String endTime);
List<Map<String, String>> listTrendGoodEvaluate(Integer enterpriseId, String startTime, String endTime);
List<Map<String, Object>> listStoreScore(StoreScoreQO storeScoreQO);
Map<String, Object> getTotalStoreScore(StoreScoreQO storeScoreQO);
List<Map<String, Object>> listTrend(StoreTrendQO storeTrendQO);
TabEvaluate getEvaluateByOrderNumber(Integer enterpriseId, String orderNumber);
}
package com.gic.evaluate.service.impl;
import com.gic.evaluate.service.EvaluateQuickService;
import org.springframework.stereotype.Service;
/**
*
* @Description:
* @author zhiwj
* @date 2019-12-30 11:07
*/
@Service
public class EvaluateQuickServiceImpl implements EvaluateQuickService {
}
......@@ -7,12 +7,18 @@ import com.gic.evaluate.dao.mapper.TabEvaluateMapper;
import com.gic.evaluate.dto.EvaluateDTO;
import com.gic.evaluate.entity.TabEvaluate;
import com.gic.evaluate.qo.EvaluateQO;
import com.gic.evaluate.qo.StoreScoreQO;
import com.gic.evaluate.qo.StoreTrendQO;
import com.gic.evaluate.service.EvaluateService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
*
* @Description:
......@@ -52,6 +58,60 @@ public class EvaluateServiceImpl implements EvaluateService {
@Override
public void saveEvaluate(EvaluateDTO evaluateDTO) {
TabEvaluate evaluate = EntityUtil.changeEntityByJSON(TabEvaluate.class, evaluateDTO);
evaluate.setStatus(Constants.NORMAL_STATUS);
evaluate.setCreateTime(new Date());
tabEvaluateMapper.insertSelective(evaluate);
}
@Override
public Map<String, Long> getTotalCountChart(Integer enterpriseId, String startTime, String endTime) {
return tabEvaluateMapper.getTotalChart(enterpriseId, startTime, endTime);
}
@Override
public Map<String, Long> getGoodsCountChart(Integer enterpriseId, String startTime, String endTime) {
return tabEvaluateMapper.getGoodsCountChart(enterpriseId, startTime, endTime);
}
@Override
public Map<String, Long> getStoreCountChart(Integer enterpriseId, String startTime, String endTime) {
return tabEvaluateMapper.getStoreCountChart(enterpriseId, startTime, endTime);
}
@Override
public Map<String, Long> getServiceCountChart(Integer enterpriseId, String startTime, String endTime) {
return tabEvaluateMapper.getServiceCountChart(enterpriseId, startTime, endTime);
}
@Override
public List<Map<String, String>> listTrendTotalEvaluate(Integer enterpriseId, String startTime, String endTime) {
return tabEvaluateMapper.listTrendEvaluate(enterpriseId, startTime, endTime, null);
}
@Override
public List<Map<String, String>> listTrendGoodEvaluate(Integer enterpriseId, String startTime, String endTime) {
return tabEvaluateMapper.listTrendEvaluate(enterpriseId, startTime, endTime, Constants.NORMAL_STATUS);
}
@Override
public List<Map<String, Object>> listStoreScore(StoreScoreQO storeScoreQO) {
PageHelper.startPage(storeScoreQO);
return tabEvaluateMapper.listStoreScore(storeScoreQO);
}
@Override
public Map<String, Object> getTotalStoreScore(StoreScoreQO storeScoreQO) {
PageHelper.startPage(storeScoreQO);
return tabEvaluateMapper.getTotalStoreScore(storeScoreQO);
}
@Override
public List<Map<String, Object>> listTrend(StoreTrendQO storeTrendQO) {
return tabEvaluateMapper.listTrend(storeTrendQO);
}
@Override
public TabEvaluate getEvaluateByOrderNumber(Integer enterpriseId, String orderNumber) {
return tabEvaluateMapper.getEvaluateByOrderNumber(enterpriseId, orderNumber);
}
}
......@@ -2,10 +2,15 @@ package com.gic.evaluate.service.outer.impl;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.evaluate.constant.Constants;
import com.gic.evaluate.dto.EvaluateDTO;
import com.gic.evaluate.dto.MemberReplyDTO;
import com.gic.evaluate.entity.TabBadEvaluateConfig;
import com.gic.evaluate.entity.TabEvaluate;
import com.gic.evaluate.qo.EvaluateQO;
import com.gic.evaluate.service.BadEvaluateConfigService;
import com.gic.evaluate.service.EvaluateHaobanApiService;
import com.gic.evaluate.service.EvaluateReplyService;
import com.gic.evaluate.service.EvaluateService;
......@@ -25,9 +30,28 @@ public class EvaluateHanbanApiServiceImpl implements EvaluateHaobanApiService {
private EvaluateService evaluateService;
@Autowired
private EvaluateReplyService evaluateReplyService;
@Autowired
private BadEvaluateConfigService badEvaluateConfigService;
@Override
public ServiceResponse<Void> saveEvaluate(EvaluateDTO evaluateDTO) {
TabEvaluate evaluate = evaluateService.getEvaluateByOrderNumber(evaluateDTO.getEnterpriseId(), evaluateDTO.getOrderNumber());
if (evaluate != null) {
EnterpriseServiceResponse.failure(ErrorCode.DATA_EXISTS);
}
evaluateDTO.setReviewStatus(Constants.CLOSE);
evaluateDTO.setTopHotStatus(Constants.CLOSE);
evaluateDTO.setMaliciousStatus(Constants.CLOSE);
evaluateDTO.setShowStatus(Constants.OPEN);
evaluateDTO.setVisitStatus(0);
evaluateDTO.setReplyStatus(0);
TabBadEvaluateConfig badEvaluateConfig = badEvaluateConfigService.getBadEvaluateConfig(evaluateDTO.getEnterpriseId());
Integer badEvaluate = isBadEvaluate(badEvaluateConfig, evaluateDTO.getGoodsScore(), evaluateDTO.getStoreScore(), evaluateDTO.getServiceScore());
Integer goodEvaluate = isGoodEvaluate(badEvaluateConfig, evaluateDTO.getGoodsScore(), evaluateDTO.getStoreScore(), evaluateDTO.getServiceScore());
evaluateDTO.setBadEvaluateStatus(badEvaluate);
evaluateDTO.setGoodEvaluateStatus(goodEvaluate);
evaluateService.saveEvaluate(evaluateDTO);
return EnterpriseServiceResponse.success();
}
......@@ -49,4 +73,69 @@ public class EvaluateHanbanApiServiceImpl implements EvaluateHaobanApiService {
// todo 看到图在写
return null;
}
private Integer isBadEvaluate(TabBadEvaluateConfig badEvaluateConfig, Integer goodsScore, Integer storeScore, Integer serviceScore) {
// 任何一项评价达到设定值
if (Constants.OPEN.equals(badEvaluateConfig.getBadOnceStatus())) {
if (matchConfigValue(badEvaluateConfig.getBadGoodsType(), badEvaluateConfig.getBadGoodsScore(), goodsScore)) {
// 商品质量
return Constants.OPEN;
}
if (matchConfigValue(badEvaluateConfig.getBadStoreType(), badEvaluateConfig.getBadStoreScore(), storeScore)) {
// 门店服务
return Constants.OPEN;
}
if (matchConfigValue(badEvaluateConfig.getBadServiceType(), badEvaluateConfig.getBadServiceScore(), serviceScore)) {
// 服务能力
return Constants.OPEN;
}
}
// 三项评价均分
if (Constants.OPEN.equals(badEvaluateConfig.getBadTotalStatus())) {
if (matchConfigValue(badEvaluateConfig.getBadStoreType(), badEvaluateConfig.getBadStoreScore() * 3, goodsScore + storeScore + serviceScore)) {
return Constants.OPEN;
}
}
return Constants.CLOSE;
}
private Integer isGoodEvaluate(TabBadEvaluateConfig badEvaluateConfig, Integer goodsScore, Integer storeScore, Integer serviceScore) {
// 任何一项评价达到设定值
if (Constants.OPEN.equals(badEvaluateConfig.getGoodStatus())) {
// 三项评价均分
if (matchConfigValue(badEvaluateConfig.getGoodTotalType(), badEvaluateConfig.getGoodTotalScore() * 3, goodsScore + storeScore + serviceScore)) {
if (matchConfigValue(badEvaluateConfig.getGoodOnceType(), badEvaluateConfig.getGoodOnceScore(), goodsScore)) {
// 商品质量
return Constants.OPEN;
}
if (matchConfigValue(badEvaluateConfig.getGoodOnceType(), badEvaluateConfig.getGoodOnceScore(), storeScore)) {
// 门店服务
return Constants.OPEN;
}
if (matchConfigValue(badEvaluateConfig.getGoodOnceType(), badEvaluateConfig.getGoodOnceScore(), serviceScore)) {
// 服务能力
return Constants.OPEN;
}
}
}
return Constants.CLOSE;
}
private boolean matchConfigValue(Integer computeType, Integer computeScore, Integer score) {
switch (computeType) {
case 1:
return score < computeScore;
case 2:
return score <= computeScore;
case 3:
return score.equals(computeScore);
case 4:
return score >= computeScore;
case 5:
return score > computeScore;
default:
break;
}
return false;
}
}
package com.gic.evaluate.service.outer.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.evaluate.qo.StoreScoreQO;
import com.gic.evaluate.qo.StoreTrendQO;
import com.gic.evaluate.service.EvaluateOverviewApiService;
import com.gic.evaluate.service.EvaluateService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
*
* @Description:
* @author zhiwj
* @date 2019-12-27 16:52
*/
@Service("evaluateOverviewApiService")
public class EvaluateOverviewApiServiceImpl implements EvaluateOverviewApiService {
@Autowired
private EvaluateService evaluateService;
@Override
public ServiceResponse<Map<String, Long>> chart1(Integer enterpriseId, String startTime, String endTime) {
Map<String, Long> countMap = evaluateService.getTotalCountChart(enterpriseId, startTime, endTime);
return EnterpriseServiceResponse.success(countMap);
}
@Override
public ServiceResponse<List<Map<String, Long>>> chart2(Integer enterpriseId, String startTime, String endTime) {
Map<String, Long> goodsCountMap = evaluateService.getGoodsCountChart(enterpriseId, startTime, endTime);
Map<String, Long> storeCountMap = evaluateService.getStoreCountChart(enterpriseId, startTime, endTime);
Map<String, Long> serviceCountMap = evaluateService.getServiceCountChart(enterpriseId, startTime, endTime);
List<Map<String, Long>> list = new ArrayList<>();
list.add(goodsCountMap);
list.add(storeCountMap);
list.add(serviceCountMap);
return EnterpriseServiceResponse.success(list);
}
@Override
public ServiceResponse<Map<String, List<Map<String, String>>>> chart3(Integer enterpriseId, String startTime, String endTime) {
List<Map<String, String>> listTrendTotalEvaluate = this.evaluateService.listTrendTotalEvaluate(enterpriseId, startTime, endTime);
List<Map<String, String>> listTrendGoodEvaluate = this.evaluateService.listTrendGoodEvaluate(enterpriseId, startTime, endTime);
// todo order trend
Map<String, List<Map<String, String>>> map = new HashMap<>();
map.put("totalEvaluateList", listTrendTotalEvaluate);
map.put("goodEvaluateList", listTrendGoodEvaluate);
map.put("orderList", new ArrayList<>());
return EnterpriseServiceResponse.success(map);
}
@Override
public ServiceResponse<Void> chart4(Integer enterpriseId, String startTime, String endTime) {
// List<Map<String, Object>> goodChart = this.evaluateService.evaluateGoodQuickChart(enterpriseId, startTime, endTime);
// List<Map<String, Object>> badChart = this.evaluateService.evaluateBadQuickChart(enterpriseId, startTime, endTime);
// List<Map<String, Object>> goodChart = this.evaluateService.evaluateGoodQuickChart(enterpriseId, startTime, endTime);
//
return null;
}
@Override
public ServiceResponse<List<Map<String, Object>>> listStoreScore(StoreScoreQO storeScoreQO) {
List<Map<String, Object>> storeScoreList = this.evaluateService.listStoreScore(storeScoreQO);
return EnterpriseServiceResponse.success(storeScoreList);
}
@Override
public ServiceResponse<Map<String, Object>> getTotalStoreScore(StoreScoreQO storeScoreQO) {
Map<String, Object> storeScore = this.evaluateService.getTotalStoreScore(storeScoreQO);
return EnterpriseServiceResponse.success(storeScore);
}
@Override
public ServiceResponse<List<Map<String, Object>>> listTrend(StoreTrendQO storeTrendQO) {
List<Map<String, Object>> trendList = this.evaluateService.listTrend(storeTrendQO);
if (CollectionUtils.isNotEmpty(trendList)) {
List<Integer> storeIdList = trendList.stream().map(
e -> {
Object storeId = e.get("storeId");
return storeId == null ? null : Integer.valueOf(storeId.toString());
}
).collect(Collectors.toList());
// todo order 通过storeIdList拿到order总数
}
return EnterpriseServiceResponse.success(trendList);
}
}
......@@ -5,13 +5,15 @@
<id column="bad_evaluate_config_id" jdbcType="INTEGER" property="badEvaluateConfigId" />
<result column="enterprise_id" jdbcType="INTEGER" property="enterpriseId" />
<result column="bad_once_status" jdbcType="INTEGER" property="badOnceStatus" />
<result column="bad_total_status" jdbcType="INTEGER" property="badTotalStatus" />
<result column="bad_goods_type" jdbcType="INTEGER" property="badGoodsType" />
<result column="bad_goods_score" jdbcType="INTEGER" property="badGoodsScore" />
<result column="bad_store_type" jdbcType="INTEGER" property="badStoreType" />
<result column="bad_store_score" jdbcType="INTEGER" property="badStoreScore" />
<result column="bad_service_type" jdbcType="INTEGER" property="badServiceType" />
<result column="bad_service_score" jdbcType="INTEGER" property="badServiceScore" />
<result column="bad_total_status" jdbcType="INTEGER" property="badTotalStatus" />
<result column="bad_total_type" jdbcType="INTEGER" property="badTotalType" />
<result column="bad_total_score" jdbcType="INTEGER" property="badTotalScore" />
<result column="good_status" jdbcType="INTEGER" property="goodStatus" />
<result column="good_once_type" jdbcType="INTEGER" property="goodOnceType" />
<result column="good_once_score" jdbcType="INTEGER" property="goodOnceScore" />
......@@ -21,10 +23,10 @@
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
bad_evaluate_config_id, enterprise_id, bad_once_status, bad_total_status, bad_goods_type,
bad_goods_score, bad_store_type, bad_store_score, bad_service_type, bad_service_score,
good_status, good_once_type, good_once_score, good_total_type, good_total_score,
good_no_return, update_time
bad_evaluate_config_id, enterprise_id, bad_once_status, bad_goods_type, bad_goods_score,
bad_store_type, bad_store_score, bad_service_type, bad_service_score, bad_total_status,
bad_total_type, bad_total_score, good_status, good_once_type, good_once_score, good_total_type,
good_total_score, good_no_return, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
......@@ -38,19 +40,19 @@
</delete>
<insert id="insert" parameterType="com.gic.evaluate.entity.TabBadEvaluateConfig">
insert into tab_bad_evaluate_config (bad_evaluate_config_id, enterprise_id,
bad_once_status, bad_total_status, bad_goods_type,
bad_goods_score, bad_store_type, bad_store_score,
bad_service_type, bad_service_score, good_status,
good_once_type, good_once_score, good_total_type,
good_total_score, good_no_return, update_time
)
bad_once_status, bad_goods_type, bad_goods_score,
bad_store_type, bad_store_score, bad_service_type,
bad_service_score, bad_total_status, bad_total_type,
bad_total_score, good_status, good_once_type,
good_once_score, good_total_type, good_total_score,
good_no_return, update_time)
values (#{badEvaluateConfigId,jdbcType=INTEGER}, #{enterpriseId,jdbcType=INTEGER},
#{badOnceStatus,jdbcType=INTEGER}, #{badTotalStatus,jdbcType=INTEGER}, #{badGoodsType,jdbcType=INTEGER},
#{badGoodsScore,jdbcType=INTEGER}, #{badStoreType,jdbcType=INTEGER}, #{badStoreScore,jdbcType=INTEGER},
#{badServiceType,jdbcType=INTEGER}, #{badServiceScore,jdbcType=INTEGER}, #{goodStatus,jdbcType=INTEGER},
#{goodOnceType,jdbcType=INTEGER}, #{goodOnceScore,jdbcType=INTEGER}, #{goodTotalType,jdbcType=INTEGER},
#{goodTotalScore,jdbcType=INTEGER}, #{goodNoReturn,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}
)
#{badOnceStatus,jdbcType=INTEGER}, #{badGoodsType,jdbcType=INTEGER}, #{badGoodsScore,jdbcType=INTEGER},
#{badStoreType,jdbcType=INTEGER}, #{badStoreScore,jdbcType=INTEGER}, #{badServiceType,jdbcType=INTEGER},
#{badServiceScore,jdbcType=INTEGER}, #{badTotalStatus,jdbcType=INTEGER}, #{badTotalType,jdbcType=INTEGER},
#{badTotalScore,jdbcType=INTEGER}, #{goodStatus,jdbcType=INTEGER}, #{goodOnceType,jdbcType=INTEGER},
#{goodOnceScore,jdbcType=INTEGER}, #{goodTotalType,jdbcType=INTEGER}, #{goodTotalScore,jdbcType=INTEGER},
#{goodNoReturn,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.evaluate.entity.TabBadEvaluateConfig">
insert into tab_bad_evaluate_config
......@@ -64,9 +66,6 @@
<if test="badOnceStatus != null">
bad_once_status,
</if>
<if test="badTotalStatus != null">
bad_total_status,
</if>
<if test="badGoodsType != null">
bad_goods_type,
</if>
......@@ -85,6 +84,15 @@
<if test="badServiceScore != null">
bad_service_score,
</if>
<if test="badTotalStatus != null">
bad_total_status,
</if>
<if test="badTotalType != null">
bad_total_type,
</if>
<if test="badTotalScore != null">
bad_total_score,
</if>
<if test="goodStatus != null">
good_status,
</if>
......@@ -117,9 +125,6 @@
<if test="badOnceStatus != null">
#{badOnceStatus,jdbcType=INTEGER},
</if>
<if test="badTotalStatus != null">
#{badTotalStatus,jdbcType=INTEGER},
</if>
<if test="badGoodsType != null">
#{badGoodsType,jdbcType=INTEGER},
</if>
......@@ -138,6 +143,15 @@
<if test="badServiceScore != null">
#{badServiceScore,jdbcType=INTEGER},
</if>
<if test="badTotalStatus != null">
#{badTotalStatus,jdbcType=INTEGER},
</if>
<if test="badTotalType != null">
#{badTotalType,jdbcType=INTEGER},
</if>
<if test="badTotalScore != null">
#{badTotalScore,jdbcType=INTEGER},
</if>
<if test="goodStatus != null">
#{goodStatus,jdbcType=INTEGER},
</if>
......@@ -170,9 +184,6 @@
<if test="badOnceStatus != null">
bad_once_status = #{badOnceStatus,jdbcType=INTEGER},
</if>
<if test="badTotalStatus != null">
bad_total_status = #{badTotalStatus,jdbcType=INTEGER},
</if>
<if test="badGoodsType != null">
bad_goods_type = #{badGoodsType,jdbcType=INTEGER},
</if>
......@@ -191,6 +202,15 @@
<if test="badServiceScore != null">
bad_service_score = #{badServiceScore,jdbcType=INTEGER},
</if>
<if test="badTotalStatus != null">
bad_total_status = #{badTotalStatus,jdbcType=INTEGER},
</if>
<if test="badTotalType != null">
bad_total_type = #{badTotalType,jdbcType=INTEGER},
</if>
<if test="badTotalScore != null">
bad_total_score = #{badTotalScore,jdbcType=INTEGER},
</if>
<if test="goodStatus != null">
good_status = #{goodStatus,jdbcType=INTEGER},
</if>
......@@ -219,13 +239,15 @@
update tab_bad_evaluate_config
set enterprise_id = #{enterpriseId,jdbcType=INTEGER},
bad_once_status = #{badOnceStatus,jdbcType=INTEGER},
bad_total_status = #{badTotalStatus,jdbcType=INTEGER},
bad_goods_type = #{badGoodsType,jdbcType=INTEGER},
bad_goods_score = #{badGoodsScore,jdbcType=INTEGER},
bad_store_type = #{badStoreType,jdbcType=INTEGER},
bad_store_score = #{badStoreScore,jdbcType=INTEGER},
bad_service_type = #{badServiceType,jdbcType=INTEGER},
bad_service_score = #{badServiceScore,jdbcType=INTEGER},
bad_total_status = #{badTotalStatus,jdbcType=INTEGER},
bad_total_type = #{badTotalType,jdbcType=INTEGER},
bad_total_score = #{badTotalScore,jdbcType=INTEGER},
good_status = #{goodStatus,jdbcType=INTEGER},
good_once_type = #{goodOnceType,jdbcType=INTEGER},
good_once_score = #{goodOnceScore,jdbcType=INTEGER},
......
<?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="com.gic.evaluate.dao.mapper.TabEvaluateQuickMapper">
<resultMap id="BaseResultMap" type="com.gic.evaluate.entity.TabEvaluateQuick">
<id column="evaluate_quick_id" jdbcType="CHAR" property="evaluateQuickId" />
<result column="tag_type" jdbcType="INTEGER" property="tagType" />
<result column="tag_name" jdbcType="VARCHAR" property="tagName" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="enterprise_id" jdbcType="CHAR" property="enterpriseId" />
<result column="status" jdbcType="INTEGER" property="status" />
</resultMap>
<sql id="Base_Column_List">
evaluate_quick_id, tag_type, tag_name, create_time, update_time, enterprise_id, status
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_evaluate_quick
where evaluate_quick_id = #{evaluateQuickId,jdbcType=CHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from tab_evaluate_quick
where evaluate_quick_id = #{evaluateQuickId,jdbcType=CHAR}
</delete>
<insert id="insert" parameterType="com.gic.evaluate.entity.TabEvaluateQuick">
insert into tab_evaluate_quick (evaluate_quick_id, tag_type, tag_name,
create_time, update_time, enterprise_id,
status)
values (#{evaluateQuickId,jdbcType=CHAR}, #{tagType,jdbcType=INTEGER}, #{tagName,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{enterpriseId,jdbcType=CHAR},
#{status,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.gic.evaluate.entity.TabEvaluateQuick">
insert into tab_evaluate_quick
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="evaluateQuickId != null">
evaluate_quick_id,
</if>
<if test="tagType != null">
tag_type,
</if>
<if test="tagName != null">
tag_name,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="enterpriseId != null">
enterprise_id,
</if>
<if test="status != null">
status,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="evaluateQuickId != null">
#{evaluateQuickId,jdbcType=CHAR},
</if>
<if test="tagType != null">
#{tagType,jdbcType=INTEGER},
</if>
<if test="tagName != null">
#{tagName,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="enterpriseId != null">
#{enterpriseId,jdbcType=CHAR},
</if>
<if test="status != null">
#{status,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.evaluate.entity.TabEvaluateQuick">
update tab_evaluate_quick
<set>
<if test="tagType != null">
tag_type = #{tagType,jdbcType=INTEGER},
</if>
<if test="tagName != null">
tag_name = #{tagName,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="enterpriseId != null">
enterprise_id = #{enterpriseId,jdbcType=CHAR},
</if>
<if test="status != null">
status = #{status,jdbcType=INTEGER},
</if>
</set>
where evaluate_quick_id = #{evaluateQuickId,jdbcType=CHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.evaluate.entity.TabEvaluateQuick">
update tab_evaluate_quick
set tag_type = #{tagType,jdbcType=INTEGER},
tag_name = #{tagName,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
enterprise_id = #{enterpriseId,jdbcType=CHAR},
status = #{status,jdbcType=INTEGER}
where evaluate_quick_id = #{evaluateQuickId,jdbcType=CHAR}
</update>
</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