Commit d768d348 by zhiwj

咨询建议

parent 2d760cbf
package com.gic.evaluate.constant;
/**
* @author zhiwj
* @Description:
* @date 2020-01-03 14:45
*/
public enum TrendDateUnitEnum {
YEAR(1, "%Y"),
MONTH(2, "%Y-%m"),
DAY(3, "%y-%m-%d"),
;
private Integer code;
private String format;
TrendDateUnitEnum(Integer code, String format) {
this.code = code;
this.format = format;
}
public Integer getCode() {
return code;
}
public String getFormat() {
return format;
}
}
......@@ -13,7 +13,7 @@ public class ProblemDTO implements Serializable {
private static final long serialVersionUID = -7669213242276410474L;
/**
* 投诉与建议
* 投诉与建议id
*/
private Integer problemId;
......@@ -92,13 +92,16 @@ public class ProblemDTO implements Serializable {
*/
private Date updateTime;
// 管理员第一次回复内容
private String replyContent;
// 回复数量
private Integer problemCount;
// 图片
private List<String> imgList;
private List<String> imgUrlList;
private List<ProblemImgDTO> imgList;
// 回复列表
private List<ProblemReplyDTO> replyList;
public Integer getProblemId() {
return problemId;
}
......@@ -227,27 +230,35 @@ public class ProblemDTO implements Serializable {
this.updateTime = updateTime;
}
public void setImgList(List<ProblemImgDTO> imgList) {
this.imgList = imgList;
public String getReplyContent() {
return replyContent;
}
public void setReplyContent(String replyContent) {
this.replyContent = replyContent;
}
public Integer getProblemCount() {
return problemCount;
}
public void setProblemCount(Integer problemCount) {
this.problemCount = problemCount;
}
public List<ProblemImgDTO> getImgList() {
public List<String> getImgList() {
return imgList;
}
public void setReplyList(List<ProblemReplyDTO> replyList) {
this.replyList = replyList;
public void setImgList(List<String> imgList) {
this.imgList = imgList;
}
public List<ProblemReplyDTO> getReplyList() {
return replyList;
}
public List<String> getImgUrlList() {
return imgUrlList;
}
public void setImgUrlList(List<String> imgUrlList) {
this.imgUrlList = imgUrlList;
public void setReplyList(List<ProblemReplyDTO> replyList) {
this.replyList = replyList;
}
}
}
\ No newline at end of file
......@@ -41,7 +41,7 @@ public class ProblemMemberReplyDTO implements Serializable {
*/
private String memberName;
private List<String> imgUrlList;
private List<String> imgList;
public Integer getEvaluateReplyId() {
return evaluateReplyId;
......@@ -91,11 +91,11 @@ public class ProblemMemberReplyDTO implements Serializable {
this.memberName = memberName;
}
public List<String> getImgUrlList() {
return imgUrlList;
public List<String> getImgList() {
return imgList;
}
public void setImgUrlList(List<String> imgUrlList) {
this.imgUrlList = imgUrlList;
public void setImgList(List<String> imgList) {
this.imgList = imgList;
}
}
......@@ -2,6 +2,7 @@ package com.gic.evaluate.dto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @author zhiwj
......@@ -17,7 +18,7 @@ public class ProblemReplyDTO implements Serializable {
private Integer problemReplyId;
/**
*
* 商户id
*/
private Integer enterpriseId;
......@@ -27,7 +28,7 @@ public class ProblemReplyDTO implements Serializable {
private Integer problemId;
/**
* 1:会员 2:
* 1:会员 2:管理
*/
private Integer replyerType;
......@@ -37,22 +38,22 @@ public class ProblemReplyDTO implements Serializable {
private String replyContent;
/**
*
* 会员id
*/
private Integer memberId;
/**
*
* 会员name
*/
private String memberName;
/**
*
* 管理员id
*/
private Integer userId;
/**
*
* 管理员name
*/
private String userName;
......@@ -70,6 +71,10 @@ public class ProblemReplyDTO implements Serializable {
*
*/
private Date updateTime;
/**
* 图片
*/
private List<String> imgList;
public Integer getProblemReplyId() {
return problemReplyId;
......@@ -166,4 +171,12 @@ public class ProblemReplyDTO implements Serializable {
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public void setImgList(List<String> imgList) {
this.imgList = imgList;
}
public List<String> getImgList() {
return imgList;
}
}
......@@ -12,7 +12,7 @@ import com.gic.evaluate.qo.EvaluateQO;
* @author zhiwj
* @date 2019-12-27 9:20
*/
public interface EvaluateHaobanApiService {
public interface EvaluateOutApiService {
/**
* 同步评价
......
......@@ -4,6 +4,7 @@ import com.gic.api.base.commons.ServiceResponse;
import com.gic.evaluate.qo.StoreScoreQO;
import com.gic.evaluate.qo.StoreTrendQO;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -39,7 +40,7 @@ public interface EvaluateOverviewApiService {
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<List<Map<String, Long>>> chart2(Integer enterpriseId, String startTime, String endTime);
ServiceResponse<HashMap<String, Map<String, Long>>> chart2(Integer enterpriseId, String startTime, String endTime);
/**
* 图表3 评价趋势
......@@ -48,7 +49,7 @@ public interface EvaluateOverviewApiService {
* @param endTime
* @return
*/
ServiceResponse<Map<String, List<Map<String, String>>>> chart3(Integer enterpriseId, String startTime, String endTime);
ServiceResponse<Map<String, List<Map<String, Object>>>> chart3(Integer enterpriseId, String startTime, String endTime);
/**
* 图表4 正面/负面快评使用统计 变化趋势
......@@ -91,4 +92,26 @@ public interface EvaluateOverviewApiService {
* @throws
*/
ServiceResponse<List<Map<String, Object>>> listTrend(StoreTrendQO storeTrendQO);
/**
* 查看各个时间段好评的变化趋势
* @Title: listEvaluateTrendByDate
* @Description:
* @author zhiwj
* @param type
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<List<Map<String, Object>>> listGoodEvaluateTrendByDate(Integer enterpriseId, Integer type);
/**
* 查看各个时间段差评的变化趋势
* @Title: listBadEvaluateTrendByDate
* @Description:
* @author zhiwj
* @param type
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<List<Map<String, Object>>> listBadEvaluateTrendByDate(Integer enterpriseId, Integer type);
}
......@@ -4,12 +4,14 @@ import com.gic.api.base.commons.ServiceResponse;
import com.gic.evaluate.dto.ProblemDTO;
import com.gic.evaluate.dto.ProblemMemberReplyDTO;
import java.util.List;
/**
* @author zhiwj
* @Description:
* @date 2020-01-02 10:31
*/
public interface ProblemHaobanApiService {
public interface ProblemOutApiService {
/**
* 保存投诉
......@@ -32,4 +34,26 @@ public interface ProblemHaobanApiService {
* @throws
*/
ServiceResponse<Void> saveProblemReply(ProblemMemberReplyDTO problemMemberReplyDTO);
/**
* 投诉与建议 列表
* @Title: listProblem
* @Description:
* @author zhiwj
* @param memberId
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<List<ProblemDTO>> listProblem(Long memberId);
/**
* 投诉与建议 详情
* @Title: getProblem
* @Description:
* @author zhiwj
* @param problemId
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<ProblemDTO> getProblem(Integer problemId);
}
......@@ -5,8 +5,10 @@ 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.MapKey;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -75,7 +77,7 @@ public interface TabEvaluateMapper {
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>> listTrendEvaluate(@Param("enterpriseId") Integer enterpriseId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("goodEvaluateStatus") Integer goodEvaluateStatus);
List<Map<String, Object>> listStoreScore(StoreScoreQO storeScoreQO);
......@@ -86,4 +88,13 @@ public interface TabEvaluateMapper {
TabEvaluate getEvaluateByOrderNumber(@Param("enterpriseId") Integer enterpriseId, @Param("orderNumber") String orderNumber);
List<Map<String, Object>> evaluateQuickChart(@Param("enterpriseId") Integer enterpriseId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("tagType") Integer tagType);
@MapKey("statisticsDate")
Map<String, Map<String, Object>> listEvaluateTrendByYear(@Param("enterpriseId") Integer enterpriseId, @Param("replyType") Integer replyType);
@MapKey("statisticsDate")
Map<String, Map<String, Object>> listEvaluateTrendByMonth(@Param("enterpriseId") Integer enterpriseId, @Param("replyType") Integer replyType, @Param("firstDate") Date firstDate);
@MapKey("statisticsDate")
Map<String, Map<String, Object>> listEvaluateTrendByDay(@Param("enterpriseId") Integer enterpriseId, @Param("replyType") Integer replyType, @Param("firstDate") Date firstDate);
}
\ No newline at end of file
......@@ -53,5 +53,7 @@ public interface TabProblemImgMapper {
*/
int updateByPrimaryKey(TabProblemImg record);
List<TabProblemImg> listImage(Integer problemId);
List<TabProblemImg> listImageByProblemId(Integer problemId);
List<TabProblemImg> listImageByProblemReplyId(Integer problemReplyId);
}
\ No newline at end of file
package com.gic.evaluate.dao.mapper;
import com.gic.evaluate.dto.ProblemDTO;
import com.gic.evaluate.entity.TabProblem;
import com.gic.evaluate.qo.ProblemQO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -55,4 +57,6 @@ public interface TabProblemMapper {
int updateByPrimaryKey(TabProblem record);
List<TabProblem> listProblem(ProblemQO problemQO);
List<ProblemDTO> listProblemByMemberId(@Param("memberId") Long memberId);
}
\ No newline at end of file
package com.gic.evaluate.dao.mapper;
import com.gic.evaluate.entity.TabProblemReply;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -54,4 +55,6 @@ public interface TabProblemReplyMapper {
int updateByPrimaryKey(TabProblemReply record);
List<TabProblemReply> listReply(Integer problemId);
List<TabProblemReply> firstReplyByProblemId(@Param("ids") List<Integer> problemIdList);
}
\ No newline at end of file
......@@ -37,9 +37,9 @@ public interface EvaluateService {
Map<String, Long> getServiceCountChart(Integer enterpriseId, String startTime, String endTime);
List<Map<String, String>> listTrendTotalEvaluate(Integer enterpriseId, String startTime, String endTime);
List<Map<String, Object>> listTrendTotalEvaluate(Integer enterpriseId, String startTime, String endTime);
List<Map<String, String>> listTrendGoodEvaluate(Integer enterpriseId, String startTime, String endTime);
List<Map<String, Object>> listTrendGoodEvaluate(Integer enterpriseId, String startTime, String endTime);
List<Map<String, Object>> listStoreScore(StoreScoreQO storeScoreQO);
......@@ -54,4 +54,10 @@ public interface EvaluateService {
List<Map<String, Object>> evaluateGoodQuickChart(Integer enterpriseId, String startTime, String endTime);
List<Map<String, Object>> evaluateBadQuickChart(Integer enterpriseId, String startTime, String endTime);
List<Map<String, Object>> listEvaluateTrendByYear(Integer enterpriseId, Integer replyType);
List<Map<String, Object>> listEvaluateTrendByMonth(Integer enterpriseId, Integer replyType);
List<Map<String, Object>> listEvaluateTrendByDay(Integer enterpriseId, Integer replyType);
}
......@@ -10,7 +10,9 @@ import java.util.List;
* @date 2020-01-02 11:10
*/
public interface ProblemImgService {
List<TabProblemImg> listImage(Integer problemId);
List<TabProblemImg> listImageByProblemId(Integer problemId);
List<TabProblemImg> listImageByProblemReplyId(Integer problemReplyId);
void saveList(Integer enterpriseId, Integer problemId, List<String> imgUrlList);
......
......@@ -3,9 +3,9 @@ package com.gic.evaluate.service;
import com.gic.evaluate.dto.ProblemMemberReplyDTO;
import com.gic.evaluate.dto.ProblemReplyDTO;
import com.gic.evaluate.dto.ProblemUserReplyDTO;
import com.gic.evaluate.entity.TabProblemReply;
import java.util.List;
import java.util.Map;
/**
* @author zhiwj
......@@ -13,11 +13,13 @@ import java.util.List;
* @date 2020-01-02 11:10
*/
public interface ProblemReplyService {
List<TabProblemReply> listReply(Integer problemId);
List<ProblemReplyDTO> listReply(Integer problemId);
void save(ProblemUserReplyDTO problemUserReplyDTO);
int save(ProblemMemberReplyDTO problemMemberReplyDTO);
void update(ProblemReplyDTO problemReplyDTO);
Map<Integer, String> firstReplyByProblemId(List<Integer> problemIdList);
}
......@@ -19,4 +19,6 @@ public interface ProblemService {
void updateProblem(ProblemDTO problemDTO);
Integer save(ProblemDTO problemDTO);
List<ProblemDTO> listProblem(Long memberId);
}
package com.gic.evaluate.service.impl;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.constants.Constants;
import com.gic.evaluate.constant.ComputeEnum;
......@@ -13,12 +14,15 @@ import com.gic.evaluate.qo.StoreTrendQO;
import com.gic.evaluate.service.EvaluateService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
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;
import java.util.List;
import java.util.Map;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
*
......@@ -31,6 +35,7 @@ public class EvaluateServiceImpl implements EvaluateService {
@Autowired
private TabEvaluateMapper tabEvaluateMapper;
private Logger logger = LogManager.getLogger(EvaluateServiceImpl.class);
@Override
public Page<TabEvaluate> listEvaluate(EvaluateQO evaluateQO) {
......@@ -100,12 +105,12 @@ public class EvaluateServiceImpl implements EvaluateService {
}
@Override
public List<Map<String, String>> listTrendTotalEvaluate(Integer enterpriseId, String startTime, String endTime) {
public List<Map<String, Object>> 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) {
public List<Map<String, Object>> listTrendGoodEvaluate(Integer enterpriseId, String startTime, String endTime) {
return tabEvaluateMapper.listTrendEvaluate(enterpriseId, startTime, endTime, Constants.NORMAL_STATUS);
}
......@@ -146,4 +151,109 @@ public class EvaluateServiceImpl implements EvaluateService {
public List<Map<String, Object>> evaluateBadQuickChart(Integer enterpriseId, String startTime, String endTime) {
return tabEvaluateMapper.evaluateQuickChart(enterpriseId, startTime, endTime, QuickReplyTypeEnum.BAD.getCode());
}
@Override
public List<Map<String, Object>> listEvaluateTrendByYear(Integer enterpriseId, Integer replyType) {
Map<String, Map<String, Object>> byYearMap = tabEvaluateMapper.listEvaluateTrendByYear(enterpriseId, replyType);
List<Map<String, Object>> list = new ArrayList<>();
List<String> yearList = getYear();
for (String year : yearList) {
Map<String, Object> stringObjectMap = byYearMap.get(year);
if (stringObjectMap != null) {
list.add(stringObjectMap);
} else {
Map<String, Object> stringObjectHashMap = new HashMap<>();
stringObjectHashMap.put("statisticsDate", year);
stringObjectHashMap.put("count", 0);
list.add(stringObjectHashMap);
}
}
return list;
}
@Override
public List<Map<String, Object>> listEvaluateTrendByMonth(Integer enterpriseId, Integer replyType) {
int year = DateUtil.getYear(new Date());
String s = year + "-01-01 00:00:00";
Map<String, Map<String, Object>> byMonthMap;
List<Map<String, Object>> list = new ArrayList<>();
try {
byMonthMap = tabEvaluateMapper.listEvaluateTrendByMonth(enterpriseId, replyType, new SimpleDateFormat(DateUtil.FORMAT_DATETIME_19).parse(s));
List<String> monthList = getMonth();
for (String month : monthList) {
Map<String, Object> stringObjectMap = byMonthMap.get(month);
if (stringObjectMap != null) {
list.add(stringObjectMap);
} else {
Map<String, Object> stringObjectHashMap = new HashMap<>();
stringObjectHashMap.put("statisticsDate", month);
stringObjectHashMap.put("count", 0);
list.add(stringObjectHashMap);
}
}
} catch (ParseException e) {
logger.info("解析错误", e);
}
return list;
}
@Override
public List<Map<String, Object>> listEvaluateTrendByDay(Integer enterpriseId, Integer replyType) {
Map<String, Map<String, Object>> byDayMap;
List<Map<String, Object>> list = new ArrayList<>();
try {
byDayMap = tabEvaluateMapper.listEvaluateTrendByDay(enterpriseId, replyType, DateUtil.addDay(new Date(), -30));
List<String> dayList = getDayList();
for (String day : dayList) {
Map<String, Object> stringObjectMap = byDayMap.get(day);
if (stringObjectMap != null) {
list.add(stringObjectMap);
} else {
Map<String, Object> stringObjectHashMap = new HashMap<>();
stringObjectHashMap.put("statisticsDate", day);
stringObjectHashMap.put("count", 0);
list.add(stringObjectHashMap);
}
}
} catch (ParseException e) {
logger.info("解析错误", e);
}
return list;
}
private List<String> getYear() {
List<String> list = new ArrayList<>();
int year = DateUtil.getYear(new Date());
for (int i = 0; i <= 4; i++) {
list.add((year - i) + "");
}
return list;
}
private List<String> getMonth() {
List<String> list = new ArrayList<>();
int year = DateUtil.getYear(new Date());
DecimalFormat decimalFormat = new DecimalFormat("00");
for (int i = 1; i <= 12; i++) {
String month = year + "-" + decimalFormat.format(i);
list.add(month);
}
return list;
}
private List<String> getDayList() throws ParseException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date dateOne = DateUtil.addDay(new Date(), -30);
Date dateTwo = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateOne);
List<String> dateList = new ArrayList<>();
while (calendar.getTime().before(dateTwo)) {
dateList.add(dateFormat.format(calendar.getTime()));
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
dateList.add(dateFormat.format(dateTwo));
return dateList;
}
}
......@@ -22,14 +22,20 @@ public class ProblemImgServiceImpl implements ProblemImgService {
private TabProblemImgMapper tabProblemImgMapper;
@Override
public List<TabProblemImg> listImage(Integer problemId) {
return tabProblemImgMapper.listImage(problemId);
public List<TabProblemImg> listImageByProblemId(Integer problemId) {
return tabProblemImgMapper.listImageByProblemId(problemId);
}
@Override
public List<TabProblemImg> listImageByProblemReplyId(Integer problemReplyId) {
return tabProblemImgMapper.listImageByProblemReplyId(problemReplyId);
}
@Override
public void saveList(Integer enterpriseId, Integer problemId, List<String> imgUrlList) {
this.saveList(enterpriseId, problemId, null, imgUrlList);
}
@Override
public void saveList(Integer enterpriseId, Integer problemId, Integer problemReplyId, List<String> imgUrlList) {
for (int i = 0; i < imgUrlList.size(); i++) {
......
......@@ -7,13 +7,16 @@ import com.gic.evaluate.dao.mapper.TabProblemReplyMapper;
import com.gic.evaluate.dto.ProblemMemberReplyDTO;
import com.gic.evaluate.dto.ProblemReplyDTO;
import com.gic.evaluate.dto.ProblemUserReplyDTO;
import com.gic.evaluate.entity.TabProblemImg;
import com.gic.evaluate.entity.TabProblemReply;
import com.gic.evaluate.service.ProblemImgService;
import com.gic.evaluate.service.ProblemReplyService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author zhiwj
......@@ -25,10 +28,23 @@ public class ProblemReplyServiceImpl implements ProblemReplyService {
@Autowired
private TabProblemReplyMapper tabProblemReplyMapper;
@Autowired
private ProblemImgService problemImgService;
@Override
public List<TabProblemReply> listReply(Integer problemId) {
return tabProblemReplyMapper.listReply(problemId);
public List<ProblemReplyDTO> listReply(Integer problemId) {
List<TabProblemReply> replyList = tabProblemReplyMapper.listReply(problemId);
if (CollectionUtils.isEmpty(replyList)) {
return Collections.emptyList();
}
List<ProblemReplyDTO> problemReplyDTOList = EntityUtil.changeEntityListByJSON(ProblemReplyDTO.class, replyList);
List<TabProblemImg> imgList = problemImgService.listImageByProblemId(problemId);
Map<Integer, List<String>> map = Optional.of(imgList).orElse(Collections.emptyList()).stream()
.collect(Collectors.groupingBy(TabProblemImg::getProblemReplyId, Collectors.mapping(TabProblemImg::getImgUrl, Collectors.toList())));
for (ProblemReplyDTO problemReplyDTO : problemReplyDTOList) {
problemReplyDTO.setImgList(map.get(problemReplyDTO.getProblemReplyId()));
}
return problemReplyDTOList;
}
@Override
......@@ -64,4 +80,10 @@ public class ProblemReplyServiceImpl implements ProblemReplyService {
TabProblemReply tabProblemReply = EntityUtil.changeEntityByJSON(TabProblemReply.class, problemReplyDTO);
tabProblemReplyMapper.insertSelective(tabProblemReply);
}
@Override
public Map<Integer, String> firstReplyByProblemId(List<Integer> problemIdList) {
List<TabProblemReply> problemReplyList = tabProblemReplyMapper.firstReplyByProblemId(problemIdList);
return Optional.ofNullable(problemReplyList).orElse(Collections.emptyList()).stream().collect(Collectors.toMap(TabProblemReply::getProblemId, TabProblemReply::getReplyContent));
}
}
......@@ -60,4 +60,9 @@ public class ProblemServiceImpl implements ProblemService {
problem.setCreateTime(new Date());
return tabProblemMapper.insertSelective(problem);
}
@Override
public List<ProblemDTO> listProblem(Long memberId) {
return tabProblemMapper.listProblemByMemberId(memberId);
}
}
......@@ -11,7 +11,7 @@ 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.EvaluateOutApiService;
import com.gic.evaluate.service.EvaluateReplyService;
import com.gic.evaluate.service.EvaluateService;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -24,8 +24,8 @@ import org.springframework.transaction.annotation.Transactional;
* @author zhiwj
* @date 2019-12-27 15:27
*/
@Service("evaluateHaobanApiService")
public class EvaluateHanbanApiServiceImpl implements EvaluateHaobanApiService {
@Service("evaluateOutApiService")
public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
@Autowired
private EvaluateService evaluateService;
......
package com.gic.evaluate.service.outer.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.evaluate.constant.QuickReplyTypeEnum;
import com.gic.evaluate.constant.TrendDateUnitEnum;
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.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
......@@ -22,6 +29,8 @@ import java.util.stream.Collectors;
@Service("evaluateOverviewApiService")
public class EvaluateOverviewApiServiceImpl implements EvaluateOverviewApiService {
private Logger logger = LogManager.getLogger(EvaluateOverviewApiServiceImpl.class);
@Autowired
private EvaluateService evaluateService;
......@@ -32,41 +41,64 @@ public class EvaluateOverviewApiServiceImpl implements EvaluateOverviewApiServic
}
@Override
public ServiceResponse<List<Map<String, Long>>> chart2(Integer enterpriseId, String startTime, String endTime) {
public ServiceResponse<HashMap<String, 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);
HashMap<String, Map<String, Long>> hashMap = new HashMap<>();
hashMap.put("goodsCountMap", goodsCountMap);
hashMap.put("storeCountMap", storeCountMap);
hashMap.put("serviceCountMap", serviceCountMap);
return EnterpriseServiceResponse.success(list);
return EnterpriseServiceResponse.success(hashMap);
}
@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);
public ServiceResponse<Map<String, List<Map<String, Object>>>> chart3(Integer enterpriseId, String startTime, String endTime) {
List<Map<String, Object>> listTrendTotalEvaluate = this.evaluateService.listTrendTotalEvaluate(enterpriseId, startTime, endTime);
List<Map<String, Object>> 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);
Map<String, List<Map<String, Object>>> map = new HashMap<>();
try {
List<String> dateList = this.getDateList(startTime, endTime);
map.put("totalEvaluateList", dealChart4(listTrendTotalEvaluate, dateList));
map.put("goodEvaluateList", dealChart4(listTrendGoodEvaluate, dateList));
map.put("orderList", new ArrayList<>());
return EnterpriseServiceResponse.success(map);
} catch (Exception e) {
logger.info("解析参数错误", e);
return EnterpriseServiceResponse.failure(ErrorCode.SYSTEM_ERROR);
}
}
@Override
public ServiceResponse<Map<String, List<Map<String, Object>>>> 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);
Map<String, List<Map<String, Object>>> map = new HashMap<>();
map.put("goodChart", goodChart);
map.put("badChart", badChart);
return EnterpriseServiceResponse.success(map);
}
private List<Map<String, Object>> dealChart4(List<Map<String, Object>> chart, List<String> dateList) {
List<Map<String, Object>> result = new ArrayList<>();
for (String date : dateList) {
Map<Object, Object> collect = chart.stream().collect(Collectors.toMap(e -> e.get("statisticsDate"), e -> e.get("count")));
Object value = collect.get(date);
Map<String, Object> map = new HashMap<>();
map.put(date, value == null ? 0 : value);
result.add(map);
}
return result;
}
@Override
public ServiceResponse<List<Map<String, Object>>> listStoreScore(StoreScoreQO storeScoreQO) {
List<Map<String, Object>> storeScoreList = this.evaluateService.listStoreScore(storeScoreQO);
......@@ -93,4 +125,59 @@ public class EvaluateOverviewApiServiceImpl implements EvaluateOverviewApiServic
}
return EnterpriseServiceResponse.success(trendList);
}
@Override
public ServiceResponse<List<Map<String, Object>>> listGoodEvaluateTrendByDate(Integer enterpriseId, Integer type) {
if (TrendDateUnitEnum.YEAR.getCode().equals(type)) {
// 按年
List<Map<String, Object>> list = evaluateService.listEvaluateTrendByYear(enterpriseId, QuickReplyTypeEnum.GOOD.getCode());
return EnterpriseServiceResponse.success(list);
} else if (TrendDateUnitEnum.MONTH.getCode().equals(type)) {
// 按月
List<Map<String, Object>> list = evaluateService.listEvaluateTrendByMonth(enterpriseId, QuickReplyTypeEnum.GOOD.getCode());
return EnterpriseServiceResponse.success(list);
} else if (TrendDateUnitEnum.DAY.getCode().equals(type)) {
// 按日
List<Map<String, Object>> list = evaluateService.listEvaluateTrendByDay(enterpriseId, QuickReplyTypeEnum.GOOD.getCode());
return EnterpriseServiceResponse.success(list);
} else {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR);
}
}
@Override
public ServiceResponse<List<Map<String, Object>>> listBadEvaluateTrendByDate(Integer enterpriseId, Integer type) {
if (TrendDateUnitEnum.YEAR.getCode().equals(type)) {
// 按年
List<Map<String, Object>> list = evaluateService.listEvaluateTrendByYear(enterpriseId, QuickReplyTypeEnum.BAD.getCode());
return EnterpriseServiceResponse.success(list);
} else if (TrendDateUnitEnum.MONTH.getCode().equals(type)) {
// 按月
List<Map<String, Object>> list = evaluateService.listEvaluateTrendByMonth(enterpriseId, QuickReplyTypeEnum.BAD.getCode());
return EnterpriseServiceResponse.success(list);
} else if (TrendDateUnitEnum.DAY.getCode().equals(type)) {
// 按日
List<Map<String, Object>> list = evaluateService.listEvaluateTrendByDay(enterpriseId, QuickReplyTypeEnum.BAD.getCode());
return EnterpriseServiceResponse.success(list);
} else {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR);
}
}
private List<String> getDateList(String dateFirst, String dateSecond) throws ParseException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date dateOne = dateFormat.parse(dateFirst);
Date dateTwo = dateFormat.parse(dateSecond);
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateOne);
List<String> dateList = new ArrayList<>();
while (calendar.getTime().before(dateTwo)) {
dateList.add(dateFormat.format(calendar.getTime()));
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
dateList.add(dateSecond);
return dateList;
}
}
......@@ -6,12 +6,10 @@ import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.evaluate.constant.Constants;
import com.gic.evaluate.dto.ProblemDTO;
import com.gic.evaluate.dto.ProblemImgDTO;
import com.gic.evaluate.dto.ProblemReplyDTO;
import com.gic.evaluate.dto.ProblemUserReplyDTO;
import com.gic.evaluate.entity.TabProblem;
import com.gic.evaluate.entity.TabProblemImg;
import com.gic.evaluate.entity.TabProblemReply;
import com.gic.evaluate.qo.ProblemQO;
import com.gic.evaluate.service.ProblemImgService;
import com.gic.evaluate.service.ProblemManageApiService;
......@@ -20,7 +18,10 @@ import com.gic.evaluate.service.ProblemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @author zhiwj
......@@ -52,12 +53,11 @@ public class ProblemManageApiServiceImpl implements ProblemManageApiService {
}
ProblemDTO problemDTO = EntityUtil.changeEntityByJSON(ProblemDTO.class, tabProblem);
if (Constants.OPEN.equals(problemDTO.getHasOtherImage())) {
List<TabProblemImg> tabImgList = problemImgService.listImage(problemId);
List<ProblemImgDTO> list = EntityUtil.changeEntityListByJSON(ProblemImgDTO.class, tabImgList);
List<TabProblemImg> tabImgList = problemImgService.listImageByProblemId(problemId);
List<String> list = Optional.ofNullable(tabImgList).orElse(Collections.emptyList()).stream().map(TabProblemImg::getImgUrl).collect(Collectors.toList());
problemDTO.setImgList(list);
}
List<TabProblemReply> tabReplyList = problemReplyService.listReply(problemId);
List<ProblemReplyDTO> replyList = EntityUtil.changeEntityListByJSON(ProblemReplyDTO.class, tabReplyList);
List<ProblemReplyDTO> replyList = problemReplyService.listReply(problemId);
problemDTO.setReplyList(replyList);
return EnterpriseServiceResponse.success(problemDTO);
}
......
package com.gic.evaluate.service.outer.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.evaluate.constant.Constants;
import com.gic.evaluate.dto.ProblemDTO;
import com.gic.evaluate.dto.ProblemMemberReplyDTO;
import com.gic.evaluate.service.ProblemHaobanApiService;
import com.gic.evaluate.dto.ProblemReplyDTO;
import com.gic.evaluate.entity.TabProblem;
import com.gic.evaluate.entity.TabProblemImg;
import com.gic.evaluate.service.ProblemImgService;
import com.gic.evaluate.service.ProblemOutApiService;
import com.gic.evaluate.service.ProblemReplyService;
import com.gic.evaluate.service.ProblemService;
import org.apache.commons.collections.CollectionUtils;
......@@ -14,15 +18,19 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @author zhiwj
* @Description:
* @date 2020-01-02 14:31
*/
@Service("problemHaobanApiService")
public class ProblemHaobanApiServiceImpl implements ProblemHaobanApiService {
@Service("problemOutApiService")
public class ProblemOutApiServiceImpl implements ProblemOutApiService {
@Autowired
private ProblemService problemService;
......@@ -34,25 +42,52 @@ public class ProblemHaobanApiServiceImpl implements ProblemHaobanApiService {
@Override
@Transactional(rollbackFor = Exception.class)
public ServiceResponse<Void> saveProblem(ProblemDTO problemDTO) {
List<String> imgUrlList = problemDTO.getImgUrlList();
if (CollectionUtils.isNotEmpty(imgUrlList)) {
problemDTO.setImageUrl(imgUrlList.get(0));
problemDTO.setHasOtherImage(imgUrlList.size() > 1 ? Constants.OPEN : Constants.CLOSE);
List<String> imgList = problemDTO.getImgList();
if (CollectionUtils.isNotEmpty(imgList)) {
problemDTO.setImageUrl(imgList.get(0));
problemDTO.setHasOtherImage(imgList.size() > 1 ? Constants.OPEN : Constants.CLOSE);
}
Integer problemId = problemService.save(problemDTO);
if (CollectionUtils.isNotEmpty(imgUrlList)) {
problemImgService.saveList(problemDTO.getEnterpriseId(), problemId, imgUrlList);
if (CollectionUtils.isNotEmpty(imgList)) {
problemImgService.saveList(problemDTO.getEnterpriseId(), problemId, imgList);
}
return EnterpriseServiceResponse.success();
}
@Override
public ServiceResponse<Void> saveProblemReply(ProblemMemberReplyDTO problemMemberReplyDTO) {
List<String> imgUrlList = problemMemberReplyDTO.getImgUrlList();
List<String> imgUrlList = problemMemberReplyDTO.getImgList();
Integer problemReplyId = problemReplyService.save(problemMemberReplyDTO);
if (CollectionUtils.isNotEmpty(imgUrlList)) {
problemImgService.saveList(problemMemberReplyDTO.getEnterpriseId(), problemMemberReplyDTO.getProblemId(), problemReplyId, imgUrlList);
}
return EnterpriseServiceResponse.success();
}
@Override
public ServiceResponse<List<ProblemDTO>> listProblem(Long memberId) {
List<ProblemDTO> problemList = problemService.listProblem(memberId);
if (CollectionUtils.isNotEmpty(problemList)) {
List<Integer> problemIdList = problemList.stream().map(ProblemDTO::getProblemId).collect(Collectors.toList());
Map<Integer, String> firstReply = problemReplyService.firstReplyByProblemId(problemIdList);
for (ProblemDTO problemDTO : problemList) {
problemDTO.setReplyContent(firstReply.get(problemDTO.getProblemId()));
}
}
return EnterpriseServiceResponse.success(problemList);
}
@Override
public ServiceResponse<ProblemDTO> getProblem(Integer problemId) {
TabProblem problem = problemService.getProblem(problemId);
ProblemDTO problemDTO = EntityUtil.changeEntityByJSON(ProblemDTO.class, problem);
if (Constants.OPEN.equals(problemDTO.getHasOtherImage())) {
List<TabProblemImg> imgList = problemImgService.listImageByProblemId(problemId);
List<String> list = Optional.ofNullable(imgList).orElse(Collections.emptyList()).stream().map(TabProblemImg::getImgUrl).collect(Collectors.toList());
problemDTO.setImgList(list);
}
List<ProblemReplyDTO> replyList = problemReplyService.listReply(problemId);
problemDTO.setReplyList(replyList);
return EnterpriseServiceResponse.success(problemDTO);
}
}
\ No newline at end of file
......@@ -15,10 +15,10 @@
<dubbo:protocol name="dubbo" port="20350"/>
<dubbo:service interface="com.gic.evaluate.service.EvaluateConfigApiService" ref="evaluateConfigApiService" timeout="6000" />
<dubbo:service interface="com.gic.evaluate.service.EvaluateHaobanApiService" ref="evaluateHaobanApiService" timeout="6000" />
<dubbo:service interface="com.gic.evaluate.service.EvaluateOutApiService" ref="evaluateOutApiService" timeout="6000" />
<dubbo:service interface="com.gic.evaluate.service.EvaluateOverviewApiService" ref="evaluateOverviewApiService" timeout="6000" />
<dubbo:service interface="com.gic.evaluate.service.EvaluateManageApiService" ref="evaluateManageApiService" timeout="6000" />
<dubbo:service interface="com.gic.evaluate.service.ProblemHaobanApiService" ref="problemHaobanApiService" 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:reference interface="com.gic.log.api.service.LogApiService" id="logApiService" timeout="6000" />-->
......
......@@ -605,14 +605,14 @@
<select id="listTrendEvaluate" resultType="map">
select
DATE_FORMAT(evaluate_time,'%Y-%m-%d') statisticsDate,
count(*)
count(*) `count`
from tab_evaluate
where status = 1
and enterprise_id = #{enterpriseId}
<if test="startTime != null">
<if test="startTime != null and startTime != '' ">
and DATE_FORMAT(evaluate_time,'%Y-%m-%d') &gt;= #{startTime}
</if>
<if test="endTime != null">
<if test="endTime != null and endTime != '' ">
and DATE_FORMAT(evaluate_time,'%Y-%m-%d') &lt;= #{endTime}
</if>
<if test="goodEvaluateStatus != null ">
......@@ -658,7 +658,7 @@
</select>
<select id="getTotalStoreScore" resultType="map">
select
count(distinct store_id, store_name)
count(distinct store_id) storeCount,
count(*) totalCount,
avg(goods_score) goodsScore,
avg(store_score) storeScore,
......@@ -670,13 +670,13 @@
and store_group_id = #{storeGroupId}
</if>
</select>
<select id="listTrend" resultMap="BaseResultMap">
<select id="listTrend" resultType="map">
select
store_id storeId,
store_name storeName,
store_group_name storeGroupname,
count(*) totalCount,
(count(good_evaluate_status) goodCount) / totalCount goodRate,
count(good_evaluate_status) goodCount,
count(bad_evaluate_status) badCount
from tab_evaluate
where enterprise_id = #{enterpriseId}
......@@ -684,7 +684,7 @@
<if test="storeGroupId != null ">
and store_group_id = #{storeGroupId}
</if>
group by store_id, store_name, store_group_name
group by store_id
<if test="sortColumn != null ">
<if test="sortColumn == 1">
order by goodsScore
......@@ -719,9 +719,6 @@
t1.tag_name tagName,
(
SELECT count( * ) FROM tab_evaluate t2 WHERE t2.evaluate_content = t1.tag_name
<if test="tagType != null ">
and tag_type = #{tagType}
</if>
<if test="startTime != null ">
and evaluate_time &gt;= #{startTime}
</if>
......@@ -733,5 +730,65 @@
tab_evaluate_quick t1
WHERE
enterprise_id = #{enterpriseId}
<if test="tagType != null ">
and tag_type = #{tagType}
</if>
</select>
<select id="listEvaluateTrendByYear" resultType="map">
select
DATE_FORMAT(evaluate_time,'%Y') statisticsDate,
count(*) `count`
from tab_evaluate
where status = 1
<if test="enterpriseId != null ">
and enterprise_id = #{enterpriseId}
</if>
<if test="replyType == 2" >
and good_evaluate_status = 1
</if>
<if test="replyType == 1" >
and bad_evaluate_status = 1
</if>
group by statisticsDate
</select>
<select id="listEvaluateTrendByMonth" resultType="map">
select
DATE_FORMAT(evaluate_time,'%Y-%m') statisticsDate,
count(*) `count`
from tab_evaluate
where status = 1
<if test="enterpriseId != null ">
and enterprise_id = #{enterpriseId}
</if>
<if test="replyType == 2" >
and good_evaluate_status = 1
</if>
<if test="replyType == 1" >
and bad_evaluate_status = 1
</if>
<if test="firstDate != null ">
and evaluate_time &gt;= #{firstDate}
</if>
group by statisticsDate
</select>
<select id="listEvaluateTrendByDay" resultType="map">
select
DATE_FORMAT(evaluate_time,'%Y-%m-%d') statisticsDate,
count(*) `count`
from tab_evaluate
where status = 1
<if test="enterpriseId != null ">
and enterprise_id = #{enterpriseId}
</if>
<if test="replyType == 2" >
and good_evaluate_status = 1
</if>
<if test="replyType == 1" >
and bad_evaluate_status = 1
</if>
<if test="firstDate != null ">
and evaluate_time &gt;= #{firstDate}
</if>
group by statisticsDate
</select>
</mapper>
\ No newline at end of file
......@@ -150,11 +150,18 @@
update_time = #{updateTime,jdbcType=TIMESTAMP}
where problem_img_id = #{problemImgId,jdbcType=INTEGER}
</update>
<select id="listImage" resultMap="BaseResultMap">
<select id="listImageByProblemId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_problem_img
where problem_id = #{problemId}
where problem_id = #{problemId} and problem_reply_id is null
and status = 1
</select>
<select id="listImageByProblemReplyId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_problem_img
where problem_reply_id = #{problemReplyId}
and status = 1
</select>
</mapper>
\ No newline at end of file
......@@ -249,4 +249,25 @@
</where>
order by create_time desc
</select>
<select id="listProblemByMemberId" resultType="com.gic.evaluate.dto.ProblemDTO">
select
t1.problem_id problemId,
t1.enterprise_id enterpriseId,
t1.store_id storeId,
t1.store_name storeName,
t1.member_id memberId,
t1.member_name memberName,
t1.member_phone memberPhone,
t1.problem_content problemContent,
t1.image_url imageUrl,
t1.has_other_image hasOtherImage,
t1.problem_status problemStatus,
t1.malicious_status maliciousStatus,
t1.show_status showStatus,
t1.status status,
t3.problemCount
from tab_problem t1
left join ( select problem_id, count(*) problemCount from tab_problem_reply where status = 1 GROUP BY problem_id ) t3 on t1.problem_id = t3.problem_id
where t1.member_id = #{memberId}
</select>
</mapper>
\ No newline at end of file
......@@ -184,4 +184,24 @@
where problem_id = #{problemId}
and status = 1
</select>
<select id="firstReplyByProblemId" resultMap="BaseResultMap">
SELECT
problem_id,
problem_reply_id,
reply_content,
min( create_time )
FROM
tab_problem_reply
WHERE
replyer_type = 2
and status = 1
<if test="null != ids and ids.size > 0">
and problem_id in
<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
GROUP BY
problem_id
</select>
</mapper>
\ No newline at end of file
package com.gic.evaluate.web.controller;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.utils.ResultControllerUtils;
import com.gic.enterprise.utils.UserDetailUtils;
import com.gic.evaluate.qo.StoreScoreQO;
import com.gic.evaluate.qo.StoreTrendQO;
import com.gic.evaluate.service.EvaluateOverviewApiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author zhiwj
* @Description:
* @date 2020-01-03 9:46
*/
@RestController
public class EvaluateOverviewController {
@Autowired
private EvaluateOverviewApiService evaluateOverviewApiService;
@RequestMapping("/evaluate-chart1")
public RestResponse evaluateChart1(String startTime, String endTime) {
ServiceResponse<Map<String, Long>> serviceResponse = evaluateOverviewApiService.chart1(UserDetailUtils.getUserDetail().getEnterpriseId(), startTime, endTime);
return ResultControllerUtils.commonResult(serviceResponse);
}
@RequestMapping("/evaluate-chart2")
public RestResponse evaluateChart2(String startTime, String endTime) {
ServiceResponse<HashMap<String, Map<String, Long>>> serviceResponse = evaluateOverviewApiService.chart2(UserDetailUtils.getUserDetail().getEnterpriseId(), startTime, endTime);
return ResultControllerUtils.commonResult(serviceResponse);
}
@RequestMapping("/evaluate-chart3")
public RestResponse evaluateChart3(String startTime, String endTime) {
ServiceResponse<Map<String, List<Map<String, Object>>>> serviceResponse = evaluateOverviewApiService.chart3(UserDetailUtils.getUserDetail().getEnterpriseId(), startTime, endTime);
return ResultControllerUtils.commonResult(serviceResponse);
}
@RequestMapping("/evaluate-chart4")
public RestResponse evaluateChart4(String startTime, String endTime) {
ServiceResponse<Map<String, List<Map<String, Object>>>> serviceResponse = evaluateOverviewApiService.chart4(UserDetailUtils.getUserDetail().getEnterpriseId(), startTime, endTime);
return ResultControllerUtils.commonResult(serviceResponse);
}
@RequestMapping("/evaluate-store-score")
public RestResponse evaluateStoreScore(StoreScoreQO storeScoreQO) {
storeScoreQO.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
ServiceResponse<List<Map<String, Object>>> serviceResponse = evaluateOverviewApiService.listStoreScore(storeScoreQO);
ServiceResponse<Map<String, Object>> totalStoreScore = evaluateOverviewApiService.getTotalStoreScore(storeScoreQO);
List<Map<String, Object>> result = serviceResponse.getResult();
if (result == null) {
result = new ArrayList<>();
}
result.add(0, totalStoreScore.getResult());
return RestResponse.success(result);
}
@RequestMapping("/evaluate-list-trend")
public RestResponse evaluateListTrend(StoreTrendQO storeTrendQO) {
storeTrendQO.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
ServiceResponse<List<Map<String, Object>>> serviceResponse = evaluateOverviewApiService.listTrend(storeTrendQO);
return ResultControllerUtils.commonResult(serviceResponse);
}
@RequestMapping("/good-trend-by-date")
public RestResponse listGoodEvaluateTrendByDate(Integer type) {
ServiceResponse<List<Map<String, Object>>> serviceResponse = evaluateOverviewApiService.listGoodEvaluateTrendByDate(UserDetailUtils.getUserDetail().getEnterpriseId(), type);
return ResultControllerUtils.commonResult(serviceResponse);
}
@RequestMapping("/bad-trend-by-date")
public RestResponse listBadEvaluateTrendByDate(Integer type) {
ServiceResponse<List<Map<String, Object>>> serviceResponse = evaluateOverviewApiService.listBadEvaluateTrendByDate(UserDetailUtils.getUserDetail().getEnterpriseId(), type);
return ResultControllerUtils.commonResult(serviceResponse);
}
}
......@@ -15,10 +15,10 @@
<dubbo:application name="gic-evaluate-web"/>
<dubbo:reference interface="com.gic.evaluate.service.EvaluateConfigApiService" id="evaluateConfigApiService" timeout="6000" retries="0"/>
<dubbo:reference interface="com.gic.evaluate.service.EvaluateHaobanApiService" id="evaluateHaobanApiService" timeout="6000" retries="0"/>
<dubbo:reference interface="com.gic.evaluate.service.EvaluateOutApiService" id="evaluateOutApiService" timeout="6000" retries="0"/>
<dubbo:reference interface="com.gic.evaluate.service.EvaluateOverviewApiService" id="evaluateOverviewApiService" timeout="6000" retries="0"/>
<dubbo:reference interface="com.gic.evaluate.service.EvaluateManageApiService" id="evaluateManageApiService" timeout="6000" retries="0"/>
<dubbo:reference interface="com.gic.evaluate.service.ProblemHaobanApiService" id="problemHaobanApiService" timeout="6000" />
<dubbo:reference interface="com.gic.evaluate.service.ProblemOutApiService" id="problemOutApiService" timeout="6000" />
<dubbo:reference interface="com.gic.evaluate.service.ProblemManageApiService" id="problemManageApiService" timeout="6000" />
<dubbo:reference interface="com.gic.log.api.service.LogApiService" id="logApiService" timeout="6000" />
......
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