Commit 3717b4ad by 陶光胜

Merge branch 'developer' into 'master'

Developer

See merge request !2
parents 6398da17 31f001da
......@@ -212,6 +212,7 @@ public class EvaluateDTO implements Serializable {
private List<String> imgList;
private Double orderMount;
private double avgScore;
private List<EvaluateTagsDTO> quickReplyTagList;
public Integer getEvaluateId() {
return evaluateId;
......@@ -592,5 +593,13 @@ public class EvaluateDTO implements Serializable {
public void setQuickIds(String quickIds) {
this.quickIds = quickIds;
}
public void setQuickReplyTagList(List<EvaluateTagsDTO> quickReplyTagList) {
this.quickReplyTagList = quickReplyTagList;
}
public List<EvaluateTagsDTO> getQuickReplyTagList() {
return quickReplyTagList;
}
}
......@@ -68,6 +68,7 @@ public class EvaluateReplyDTO implements Serializable {
*/
private String userName;
private List<String> imgList;
private List<EvaluateTagsDTO> quickReplyTagList;
public Integer getEvaluateReplyId() {
return evaluateReplyId;
......@@ -172,4 +173,12 @@ public class EvaluateReplyDTO implements Serializable {
public void setShowStatus(Integer showStatus) {
this.showStatus = showStatus;
}
public void setQuickReplyTagList(List<EvaluateTagsDTO> quickReplyTagList) {
this.quickReplyTagList = quickReplyTagList;
}
public List<EvaluateTagsDTO> getQuickReplyTagList() {
return quickReplyTagList;
}
}
package com.gic.evaluate.dto;
import java.io.Serializable;
/**
* @author zhiwj
* @Description:
* @date 2020-05-06 14:45
*/
public class EvaluateTagsDTO implements Serializable {
private static final long serialVersionUID = -7475204633631521759L;
/**
* 评价快捷标签统计表ID
*/
private Integer evaluateTagsId;
/**
* 评价ID
*/
private Integer evaluateId;
/**
* 评价回复ID
*/
private Integer evaluateReplyId;
/**
* 会员ID
*/
private Long memberId;
/**
* 标签类型 1:负面评价 2:正面评价 3:后台回复
*/
private Integer tagType;
/**
* 评价快捷标签
*/
private String tagName;
/**
* 企业ID
*/
private Integer enterpriseId;
public Integer getEvaluateTagsId() {
return evaluateTagsId;
}
public void setEvaluateTagsId(Integer evaluateTagsId) {
this.evaluateTagsId = evaluateTagsId;
}
public Integer getEvaluateId() {
return evaluateId;
}
public void setEvaluateId(Integer evaluateId) {
this.evaluateId = evaluateId;
}
public Integer getEvaluateReplyId() {
return evaluateReplyId;
}
public void setEvaluateReplyId(Integer evaluateReplyId) {
this.evaluateReplyId = evaluateReplyId;
}
public Long getMemberId() {
return memberId;
}
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
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 Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
}
......@@ -46,6 +46,9 @@ public class ProblemDTO implements Serializable {
* 会员ecuId
*/
private Long ecuId;
private Long areaId;
private String unionId;
/**
* 会员名
*/
......@@ -320,4 +323,20 @@ public class ProblemDTO implements Serializable {
public void setMaliciousStatusTime(Date maliciousStatusTime) {
this.maliciousStatusTime = maliciousStatusTime;
}
public Long getAreaId() {
return areaId;
}
public void setAreaId(Long areaId) {
this.areaId = areaId;
}
public String getUnionId() {
return unionId;
}
public void setUnionId(String unionId) {
this.unionId = unionId;
}
}
\ No newline at end of file
......@@ -11,12 +11,23 @@ import com.gic.evaluate.dto.EvaluateMsgLogDTO;
*/
public interface EvaluateMsgLogApiService {
/**
* @Title: sendNotice
* @Description: 接收数据组的订单数据 发送数据
* @author zhiwj
* @param json
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<Void> sendOrderNotice(String json);
/**
* 保存一个订单信息
* @Title: saveEvaluateMsgLog
* @Description:
* @author zhiwj
* @param evaluateMsgLogDTO
* @author zhiwj
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
......
package com.gic.evaluate.dao.mapper;
import com.gic.evaluate.entity.TabEvaluateTags;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface TabEvaluateTagsMapper {
/**
......@@ -50,4 +53,6 @@ public interface TabEvaluateTagsMapper {
* @return 更新条目数
*/
int updateByPrimaryKey(TabEvaluateTags record);
List<TabEvaluateTags> listEvaluateTags(@Param("enterpriseId") Integer enterpriseId, @Param("evaluateId") Integer evaluateId, @Param("evaluateReplyId") Integer evaluateReplyId);
}
\ No newline at end of file
......@@ -17,6 +17,11 @@ public class TabEvaluateTags {
private Integer evaluateId;
/**
* 评价回复ID
*/
private Integer evaluateReplyId;
/**
* 会员ID
*/
private Long memberId;
......@@ -67,6 +72,14 @@ public class TabEvaluateTags {
this.evaluateId = evaluateId;
}
public Integer getEvaluateReplyId() {
return evaluateReplyId;
}
public void setEvaluateReplyId(Integer evaluateReplyId) {
this.evaluateReplyId = evaluateReplyId;
}
public Long getMemberId() {
return memberId;
}
......
package com.gic.evaluate.service;
import com.gic.evaluate.entity.TabEvaluateTags;
import java.util.List;
/**
* @author zhiwj
* @Description:
......@@ -7,4 +11,11 @@ package com.gic.evaluate.service;
*/
public interface EvaluateTagsService {
void saveQuick(Integer quickTagsId, Integer enterpriseId, Integer evaluateId, Long memberId);
void saveQuick(Integer quickTagsId, Integer enterpriseId, Integer evaluateId, Integer evaluateReplyId, Long memberId);
List<TabEvaluateTags> listEvaluateTags(Integer enterpriseId, Integer evaluateId);
List<TabEvaluateTags> listEvaluateTags(Integer enterpriseId, Integer evaluateId, Integer evaluateReplyId);
}
......@@ -32,7 +32,7 @@ public class EvaluateReplyServiceImpl implements EvaluateReplyService {
@Override
public Integer countReviewReplyByMember(Integer enterpriseId, Integer evaluateId) {
return tabEvaluateReplyMapper.countReviewReplyByMember(enterpriseId, evaluateId) - 1;
return tabEvaluateReplyMapper.countReviewReplyByMember(enterpriseId, evaluateId);
}
@Override
......
......@@ -38,6 +38,7 @@ public class EvaluateServiceImpl implements EvaluateService {
@Override
public Page<TabEvaluate> listEvaluate(EvaluateQO evaluateQO) {
PageHelper.startPage(evaluateQO.getCurrentPage(), evaluateQO.getPageSize());
if (evaluateQO.getGoodsType() != null) {
evaluateQO.setGoodsCompute(ComputeEnum.parseCodeToCompute(evaluateQO.getGoodsType()));
}
......
......@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* @author zhiwj
......@@ -30,10 +31,16 @@ public class EvaluateTagsServiceImpl implements EvaluateTagsService {
@Override
public void saveQuick(Integer quickTagsId, Integer enterpriseId, Integer evaluateId, Long memberId) {
this.saveQuick(quickTagsId, enterpriseId, evaluateId, null, memberId);
}
@Override
public void saveQuick(Integer quickTagsId, Integer enterpriseId, Integer evaluateId, Integer evaluateReplyId, Long memberId) {
TabEvaluateQuick evaluateQuick = evaluateQuickService.getById(quickTagsId);
if (evaluateQuick != null) {
TabEvaluateTags tabEvaluateTags = new TabEvaluateTags();
tabEvaluateTags.setEvaluateId(evaluateId);
tabEvaluateTags.setEvaluateReplyId(evaluateReplyId);
tabEvaluateTags.setMemberId(memberId);
tabEvaluateTags.setTagType(evaluateQuick.getTagType());
tabEvaluateTags.setTagName(evaluateQuick.getTagName());
......@@ -46,4 +53,14 @@ public class EvaluateTagsServiceImpl implements EvaluateTagsService {
logger.info("该快评不存在:{}, evaluateId:{}", quickTagsId, evaluateId);
}
}
@Override
public List<TabEvaluateTags> listEvaluateTags(Integer enterpriseId, Integer evaluateId) {
return this.listEvaluateTags(enterpriseId, evaluateId, null);
}
@Override
public List<TabEvaluateTags> listEvaluateTags(Integer enterpriseId, Integer evaluateId, Integer evaluateReplyId) {
return tabEvaluateTagsMapper.listEvaluateTags(enterpriseId, evaluateId, evaluateReplyId);
}
}
......@@ -11,10 +11,8 @@ import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.enterprise.service.EnterpriseApiService;
import com.gic.evaluate.constant.Constants;
import com.gic.evaluate.constant.ReplyEnum;
import com.gic.evaluate.dto.EvaluateDTO;
import com.gic.evaluate.dto.EvaluateQuickDTO;
import com.gic.evaluate.dto.EvaluateReplyDTO;
import com.gic.evaluate.dto.UserReplyDTO;
import com.gic.evaluate.constant.ReplyerTypeEnum;
import com.gic.evaluate.dto.*;
import com.gic.evaluate.entity.*;
import com.gic.evaluate.qo.EvaluateQO;
import com.gic.evaluate.qo.StoreScoreQO;
......@@ -54,6 +52,8 @@ public class EvaluateManageApiServiceImpl implements EvaluateManageApiService {
private StoreApiService storeApiService;
@Autowired
private EvaluateOrderConfigService evaluateOrderConfigService;
@Autowired
private EvaluateTagsService evaluateTagsService;
@Override
......@@ -89,25 +89,30 @@ public class EvaluateManageApiServiceImpl implements EvaluateManageApiService {
List<TabEvaluateImg> tabEvaluateImgs = evaluateImgService.listImageByEvaluateReplyId(evaluateReplyDTO.getEvaluateReplyId());
List<String> replyImgList = Optional.ofNullable(tabEvaluateImgs).orElse(Collections.emptyList()).stream().map(TabEvaluateImg::getImgUrl).collect(Collectors.toList());
evaluateReplyDTO.setImgList(replyImgList);
List<TabEvaluateTags> tagsList = evaluateTagsService.listEvaluateTags(evaluateReplyDTO.getEnterpriseId(), evaluateReplyDTO.getEvaluateId(), evaluateReplyDTO.getEvaluateReplyId());
evaluateReplyDTO.setQuickReplyTagList(EntityUtil.changeEntityListByJSON(EvaluateTagsDTO.class, tagsList));
}
evaluateDTO.setReplyList(replyDTOList);
// EvaluateReplyDTO evaluateReplyDTO = new EvaluateReplyDTO();
// evaluateReplyDTO.setEvaluateId(evaluateDTO.getEvaluateId());
// evaluateReplyDTO.setReplyDate(evaluateDTO.getEvaluateTime());
// evaluateReplyDTO.setReplyerType(ReplyerTypeEnum.MEMBER.getCode());
// evaluateReplyDTO.setReplyContent(evaluateDTO.getEvaluateContent());
// evaluateReplyDTO.setMemberId(evaluateDTO.getMemberId());
// evaluateReplyDTO.setMemberName(evaluateDTO.getMemberName());
// evaluateReplyDTO.setMemberImgUrl(evaluateDTO.getMemberImgUrl());
// evaluateReplyDTO.setImgList(evaluateDTO.getImgList());
// evaluateReplyDTO.setShowStatus(evaluateDTO.getShowStatus());
// List<EvaluateReplyDTO> replyList = evaluateDTO.getReplyList();
// if (replyList == null) {
// replyList = new ArrayList<>();
// } else {
// replyList.add(0, evaluateReplyDTO);
// }
EvaluateReplyDTO evaluateReplyDTO = new EvaluateReplyDTO();
evaluateReplyDTO.setEvaluateId(evaluateDTO.getEvaluateId());
evaluateReplyDTO.setReplyDate(evaluateDTO.getEvaluateTime());
evaluateReplyDTO.setReplyerType(ReplyerTypeEnum.MEMBER.getCode());
evaluateReplyDTO.setReplyContent(evaluateDTO.getEvaluateContent());
evaluateReplyDTO.setMemberId(evaluateDTO.getMemberId());
evaluateReplyDTO.setMemberName(evaluateDTO.getMemberName());
evaluateReplyDTO.setMemberImgUrl(evaluateDTO.getMemberImgUrl());
evaluateReplyDTO.setImgList(evaluateDTO.getImgList());
evaluateReplyDTO.setShowStatus(evaluateDTO.getShowStatus());
List<TabEvaluateTags> tagsList = evaluateTagsService.listEvaluateTags(evaluateDTO.getEnterpriseId(), evaluateDTO.getEvaluateId());
evaluateReplyDTO.setQuickReplyTagList(EntityUtil.changeEntityListByJSON(EvaluateTagsDTO.class, tagsList));
List<EvaluateReplyDTO> replyList = evaluateDTO.getReplyList();
if (replyList == null) {
replyList = new ArrayList<>();
evaluateDTO.setReplyList(replyList);
}
replyList.add(0, evaluateReplyDTO);
return EnterpriseServiceResponse.success(evaluateDTO);
}
......
......@@ -51,6 +51,15 @@ public class EvaluateMsgLogApiServiceImpl implements EvaluateMsgLogApiService {
private EnterpriseApiService enterpriseApiService;
@Override
public ServiceResponse<Void> sendOrderNotice(String json) {
// sendOrderNoticeMq
logger.info("发送订单评价提醒:{}", json);
TabEvaluateMsgLog tabEvaluateMsgLog = JSON.parseObject(json, TabEvaluateMsgLog.class);
sendMsg(tabEvaluateMsgLog.getEnterpriseId(), tabEvaluateMsgLog);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> saveEvaluateMsgLog(EvaluateMsgLogDTO evaluateMsgLogDTO) {
logger.info("保存评价提醒日志信息:{}", JSON.toJSONString(evaluateMsgLogDTO));
TabEvaluateMsgLog oldMsgLog = evaluateMsgLogService.getByOrderId(evaluateMsgLogDTO.getOrderId());
......
......@@ -12,10 +12,7 @@ import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.evaluate.constant.Constants;
import com.gic.evaluate.constant.OrderReplyEnum;
import com.gic.evaluate.constant.ReplyEnum;
import com.gic.evaluate.dto.EvaluateDTO;
import com.gic.evaluate.dto.EvaluateReplyDTO;
import com.gic.evaluate.dto.MemberReplyDTO;
import com.gic.evaluate.dto.OrderGoodsDTO;
import com.gic.evaluate.dto.*;
import com.gic.evaluate.entity.*;
import com.gic.evaluate.qo.EvaluateOutQO;
import com.gic.evaluate.qo.EvaluateQO;
......@@ -94,6 +91,7 @@ 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();
evaluateDTO.setStoreId(storeDTO.getStoreId());
evaluateDTO.setStoreName(storeDTO.getStoreName());
evaluateDTO.setStoreCode(storeDTO.getStoreCode());
......@@ -154,31 +152,9 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
double avgScore = getAvgScore(evaluateOrderConfig, evaluateDTO.getGoodsScore(), evaluateDTO.getStoreScore(), evaluateDTO.getServiceScore());
evaluateDTO.setAvgScore(avgScore);
Integer evaluateId = evaluateService.saveEvaluate(evaluateDTO);
if (evaluateId != null) {
MemberReplyDTO memberReplyDTO = new MemberReplyDTO();
memberReplyDTO.setEvaluateId(evaluateId);
memberReplyDTO.setEnterpriseId(evaluateDTO.getEnterpriseId());
memberReplyDTO.setReplyContent(evaluateDTO.getEvaluateContent());
memberReplyDTO.setMemberId(evaluateDTO.getMemberId());
memberReplyDTO.setMemberName(evaluateDTO.getMemberName());
memberReplyDTO.setAcuId(evaluateDTO.getAcuId());
memberReplyDTO.setEcuId(evaluateDTO.getEcuId());
Integer evaluateReplyId = evaluateReplyService.saveMemberReplyEvaluate(memberReplyDTO);
if (CollectionUtils.isNotEmpty(evaluateDTO.getImgList())) {
evaluateImgService.saveList(evaluateDTO.getEnterpriseId(), evaluateId, evaluateDTO.getImgList());
evaluateImgService.saveList(evaluateDTO.getEnterpriseId(), evaluateId, evaluateReplyId, evaluateDTO.getImgList());
}
TabEvaluateMsgLog evaluateMsgLog = evaluateMsgLogService.getByOrderId(evaluateDTO.getOrderId());
if (evaluateMsgLog != null) {
evaluateMsgLog.setFirstStatus(0);
evaluateMsgLog.setReviewStatus(0);
evaluateMsgLogService.update(evaluateMsgLog);
}
}
Integer evaluateId = evaluateService.saveEvaluate(evaluateDTO);
evaluateImgService.saveList(evaluateDTO.getEnterpriseId(), evaluateId, null, evaluateDTO.getImgList());
// 记录快评
saveQuick(evaluateDTO.getQuickIds(), evaluateDTO.getEnterpriseId(), evaluateId, evaluateDTO.getMemberId());
......@@ -186,15 +162,6 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
return EnterpriseServiceResponse.success();
}
private void saveQuick(String tagIds, Integer enterpriseId, Integer evaluateId, Long memberId) {
if (StringUtils.isNotBlank(tagIds)) {
String[] tagIdArr = tagIds.split(GlobalInfo.FLAG_COMMA);
for (String tagId : tagIdArr) {
evaluateTagsService.saveQuick(Integer.valueOf(tagId), enterpriseId, evaluateId, memberId);
}
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public ServiceResponse<Void> saveReply(MemberReplyDTO memberReplyDTO) {
......@@ -224,7 +191,7 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
// 是否超过次数
List<TabEvaluateReply> replyList = this.evaluateReplyService.listEvaluateReply(memberReplyDTO.getEnterpriseId(), memberReplyDTO.getEvaluateId(), Constants.OPEN);
if (CollectionUtils.isNotEmpty(replyList)) {
if (evaluateOrderConfig.getReviewTimes() < this.evaluateReplyService.countReviewReplyByMember(memberReplyDTO.getEnterpriseId(), evaluate.getEvaluateId())) {
if (evaluateOrderConfig.getReviewTimes() <= this.evaluateReplyService.countReviewReplyByMember(memberReplyDTO.getEnterpriseId(), evaluate.getEvaluateId())) {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "已经超过最大追评次数,无法继续追评");
}
}
......@@ -242,6 +209,7 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
Integer evaluateRelayId = evaluateReplyService.saveMemberReplyEvaluate(memberReplyDTO);
// 更新追评状态
EvaluateDTO evaluateDTO = new EvaluateDTO();
evaluateDTO.setEvaluateId(memberReplyDTO.getEvaluateId());
evaluateDTO.setReplyStatus(ReplyEnum.HAS_NEW.getCode());
......@@ -252,7 +220,7 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
// void saveList(Integer enterpriseId, Integer evaluateId, Integer evaluateReplyId, List<String> imgUrlList);
evaluateImgService.saveList(memberReplyDTO.getEnterpriseId(), memberReplyDTO.getEvaluateId(), evaluateRelayId, memberReplyDTO.getImgList());
saveQuick(evaluateDTO.getQuickIds(), evaluateDTO.getEnterpriseId(), evaluateDTO.getEvaluateId(), evaluateDTO.getMemberId());
saveQuick(evaluateDTO.getQuickIds(), evaluateDTO.getEnterpriseId(), evaluateDTO.getEvaluateId(), evaluateRelayId, evaluateDTO.getMemberId());
return EnterpriseServiceResponse.success();
}
......@@ -328,11 +296,18 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
// 追评和回复
List<TabEvaluateReply> evaluateReplyList = this.evaluateReplyService.listEvaluateReply(evaluateDTO.getEnterpriseId(), evaluateDTO.getEvaluateId(), Constants.OPEN);
List<EvaluateReplyDTO> replyDTOList = EntityUtil.changeEntityListByJSON(EvaluateReplyDTO.class, evaluateReplyList);
List<TabEvaluateTags> tagsList = evaluateTagsService.listEvaluateTags(evaluateDTO.getEnterpriseId(), evaluateDTO.getEvaluateId());
evaluateDTO.setQuickReplyTagList(EntityUtil.changeEntityListByJSON(EvaluateTagsDTO.class, tagsList));
// 追评和回复的图片
for (EvaluateReplyDTO replyDTO : replyDTOList) {
List<TabEvaluateImg> evaluateReplyImgList = evaluateImgService.listImageByEvaluateReplyId(replyDTO.getEvaluateReplyId());
List<String> replyImgList = Optional.ofNullable(evaluateReplyImgList).orElse(Collections.emptyList()).stream().map(TabEvaluateImg::getImgUrl).collect(Collectors.toList());
replyDTO.setImgList(replyImgList);
List<TabEvaluateTags> replyTagsList = evaluateTagsService.listEvaluateTags(replyDTO.getEnterpriseId(), replyDTO.getEvaluateId(), replyDTO.getEvaluateReplyId());
replyDTO.setQuickReplyTagList(EntityUtil.changeEntityListByJSON(EvaluateTagsDTO.class, tagsList));
}
evaluateDTO.setReplyList(replyDTOList);
......@@ -372,7 +347,7 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
} else {
// 是否追评超过次数
List<TabEvaluateReply> replyList = this.evaluateReplyService.listEvaluateReply(evaluate.getEnterpriseId(), evaluate.getEvaluateId(), Constants.OPEN);
if (CollectionUtils.isNotEmpty(replyList) && evaluateOrderConfig.getReviewTimes() < this.evaluateReplyService.countReviewReplyByMember(enterpriseId, evaluate.getEvaluateId())) {
if (CollectionUtils.isNotEmpty(replyList) && evaluateOrderConfig.getReviewTimes() <= this.evaluateReplyService.countReviewReplyByMember(enterpriseId, evaluate.getEvaluateId())) {
// 追评超过次数
resultMap.put(statusQO.getOrderId(), OrderReplyEnum.REPLY_OVER_MAX_TIMES.getCode());
} else {
......@@ -548,4 +523,23 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
}
return false;
}
private void saveQuick(String tagIds, Integer enterpriseId, Integer evaluateId, Long memberId) {
if (StringUtils.isNotBlank(tagIds)) {
String[] tagIdArr = tagIds.split(GlobalInfo.FLAG_COMMA);
for (String tagId : tagIdArr) {
evaluateTagsService.saveQuick(Integer.valueOf(tagId), enterpriseId, evaluateId, memberId);
}
}
}
private void saveQuick(String tagIds, Integer enterpriseId, Integer evaluateId, Integer evaluateReplyId, Long memberId) {
if (StringUtils.isNotBlank(tagIds)) {
String[] tagIdArr = tagIds.split(GlobalInfo.FLAG_COMMA);
for (String tagId : tagIdArr) {
evaluateTagsService.saveQuick(Integer.valueOf(tagId), enterpriseId, evaluateId, evaluateReplyId, memberId);
}
}
}
}
......@@ -66,6 +66,13 @@ public class ProblemManageApiServiceImpl implements ProblemManageApiService {
problemDTO.setImgList(list);
}
List<ProblemReplyDTO> replyList = problemReplyService.listReply(problemId);
if (CollectionUtils.isNotEmpty(replyList)) {
for (ProblemReplyDTO replyDTO : replyList) {
List<TabProblemImg> imgList = this.problemImgService.listImageByProblemReplyId(replyDTO.getProblemReplyId());
replyDTO.setImgList(Optional.ofNullable(imgList).orElse(Collections.emptyList()).stream().map(TabProblemImg::getImgUrl).collect(Collectors.toList()));
}
}
ProblemReplyDTO problemReplyDTO = new ProblemReplyDTO();
problemReplyDTO.setReplyerType(ReplyerTypeEnum.MEMBER.getCode());
problemReplyDTO.setReplyContent(tabProblem.getProblemContent());
......@@ -82,13 +89,6 @@ public class ProblemManageApiServiceImpl implements ProblemManageApiService {
}
replyList.add(0, problemReplyDTO);
if (CollectionUtils.isNotEmpty(replyList)) {
for (ProblemReplyDTO replyDTO : replyList) {
List<TabProblemImg> imgList = this.problemImgService.listImageByProblemReplyId(replyDTO.getProblemReplyId());
replyDTO.setImgList(Optional.ofNullable(imgList).orElse(Collections.emptyList()).stream().map(TabProblemImg::getImgUrl).collect(Collectors.toList()));
}
}
problemDTO.setReplyList(replyList);
return EnterpriseServiceResponse.success(problemDTO);
}
......
......@@ -2,6 +2,7 @@ package com.gic.evaluate.service.outer.impl;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.response.EnterpriseServiceResponse;
......@@ -27,10 +28,7 @@ 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.*;
import java.util.stream.Collectors;
/**
......@@ -68,12 +66,12 @@ public class ProblemOutApiServiceImpl implements ProblemOutApiService {
problemDTO.setHasOtherImage(imgList.size() > 1 ? Constants.OPEN : Constants.CLOSE);
}
TabEvaluateOrderConfig evaluateOrderConfig = evaluateOrderConfigService.getEvaluateOrderConfig(problemDTO.getEnterpriseId());
if (Constants.OPEN.equals(evaluateOrderConfig.getBadSuggestionTag())) {
if (this.problemService.hasMaliciousStatusByEcuIdBeforeHours(problemDTO.getEcuId(), evaluateOrderConfig.getBadSuggestionTagType())) {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "不能评论");
}
}
// TabEvaluateOrderConfig evaluateOrderConfig = evaluateOrderConfigService.getEvaluateOrderConfig(problemDTO.getEnterpriseId());
// if (Constants.OPEN.equals(evaluateOrderConfig.getBadSuggestionTag())) {
// if (this.problemService.hasMaliciousStatusByEcuIdBeforeHours(problemDTO.getEcuId(), evaluateOrderConfig.getBadSuggestionTagType())) {
// return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "不能评论");
// }
// }
ServiceResponse<MemberUserDTO> memberUserDTOServiceResponse = memberUserApiService.getByMcuId(problemDTO.getMemberId(), problemDTO.getEnterpriseId());
if (memberUserDTOServiceResponse.isSuccess()) {
......@@ -81,11 +79,13 @@ public class ProblemOutApiServiceImpl implements ProblemOutApiService {
problemDTO.setMemberName(memberUserDTO.getName());
problemDTO.setMemberPhone(memberUserDTO.getMobile());
// 门店
ServiceResponse<String> serviceStoreId = cuDetailService.getServiceStoreId(problemDTO.getAcuId(), problemDTO.getEnterpriseId(), problemDTO.getEcuId());
ServiceResponse<String> serviceStoreId = cuDetailService.getServiceStoreId(problemDTO.getAreaId(), problemDTO.getMemberId(), problemDTO.getUnionId(), problemDTO.getEnterpriseId(), problemDTO.getEcuId());
if (serviceStoreId != null && StringUtils.isNotBlank(serviceStoreId.getResult())) {
StoreDTO storeDTO = storeApiService.getStoreById(memberUserDTO.getEnterpriseId(), Integer.valueOf(serviceStoreId.getResult())).getResult();
problemDTO.setStoreName(storeDTO.getStoreName());
StoreDTO storeDTO = storeApiService.getStoreByStoreInfoId(memberUserDTO.getEnterpriseId(), Integer.valueOf(serviceStoreId.getResult())).getResult();
if (storeDTO != null) {
problemDTO.setStoreName(storeDTO.getStoreName());
}
}
if (problemDTO.getAcuId() != null) {
......@@ -107,10 +107,21 @@ public class ProblemOutApiServiceImpl implements ProblemOutApiService {
logger.info("保存咨询追评:{}", JSON.toJSONString(problemMemberReplyDTO));
TabEvaluateOrderConfig evaluateOrderConfig = evaluateOrderConfigService.getEvaluateOrderConfig(problemMemberReplyDTO.getEnterpriseId());
TabProblem problem = this.problemService.getProblem(problemMemberReplyDTO.getProblemId());
if (problem == null) {
return EnterpriseServiceResponse.failure(ErrorCode.NOTEXISTS);
}
// if (Constants.OPEN.equals(evaluateOrderConfig.getBadSuggestionTag())) {
// if (this.problemService.hasMaliciousStatusByEcuIdBeforeHours(problemMemberReplyDTO.getEcuId(), evaluateOrderConfig.getBadSuggestionTagType())) {
// return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "不能评论");
// }
// }
if (Constants.OPEN.equals(evaluateOrderConfig.getBadSuggestionTag())) {
if (this.problemService.hasMaliciousStatusByEcuIdBeforeHours(problemMemberReplyDTO.getEcuId(), evaluateOrderConfig.getBadSuggestionTagType())) {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "不能评论");
if (Constants.OPEN.equals(problem.getMaliciousStatus())) {
Date date = DateUtil.addNumForHour(new Date(), -evaluateOrderConfig.getBadSuggestionTagType());
if (DateUtil.compareDate(problem.getMaliciousStatusTime(), date)) {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "恶评状态下不能评论");
}
}
}
......@@ -145,11 +156,33 @@ public class ProblemOutApiServiceImpl implements ProblemOutApiService {
public ServiceResponse<List<ProblemDTO>> listProblem(Long ecuId) {
List<ProblemDTO> problemList = problemService.listProblem(ecuId);
if (CollectionUtils.isNotEmpty(problemList)) {
TabEvaluateOrderConfig evaluateOrderConfig = evaluateOrderConfigService.getEvaluateOrderConfig(problemList.get(0).getEnterpriseId());
List<Integer> problemIdList = problemList.stream().map(ProblemDTO::getProblemId).collect(Collectors.toList());
Map<Integer, String> firstReply = problemReplyService.firstReplyByProblemId(problemIdList);
// ServiceResponse<Void> resp = this.ensure(problemList.get(0).getEnterpriseId(), ecuId);
for (ProblemDTO problemDTO : problemList) {
problemDTO.setProblemCount(problemDTO.getProblemCount() == null ? 1 : (problemDTO.getProblemCount() + 1));
problemDTO.setReplyContent(firstReply.get(problemDTO.getProblemId()));
if (Constants.OPEN.equals(evaluateOrderConfig.getBadSuggestionTag())) {
if (Constants.OPEN.equals(problemDTO.getMaliciousStatus())) {
Date date = DateUtil.addNumForHour(new Date(), -evaluateOrderConfig.getBadSuggestionTagType());
if (DateUtil.compareDate(problemDTO.getMaliciousStatusTime(), date)) {
problemDTO.setStatus(2);
}
}
}
List<String> imgList = Optional.ofNullable(problemImgService.listImageByProblemId(problemDTO.getProblemId())).orElse(Collections.emptyList())
.stream().map(TabProblemImg::getImgUrl).collect(Collectors.toList());
problemDTO.setImgList(imgList);
// if (!resp.isSuccess()) {
// 恶意评价 不能提交
// problemDTO.setStatus(2);
// }
}
}
return EnterpriseServiceResponse.success(problemList);
......
......@@ -734,7 +734,7 @@
</select>
<select id="listTrendEvaluate" resultType="map">
select
DATE_FORMAT(evaluate_time,'%Y-%m-%d') statisticsDate,
DATE_FORMAT(receipts_date,'%Y-%m-%d') statisticsDate,
count(*) `count`
from tab_evaluate
where status = 1
......
......@@ -182,6 +182,8 @@
<if test="tagType != null ">
and tag_type = #{tagType}
</if>
order by update_time desc
limit 1, 10
</select>
</mapper>
\ No newline at end of file
......@@ -233,6 +233,7 @@
from tab_evaluate_reply
where enterprise_id = #{enterpriseId}
and evaluate_id = #{evaluateId}
and replyer_type = 1
and status = 1
</select>
</mapper>
\ No newline at end of file
......@@ -4,6 +4,7 @@
<resultMap id="BaseResultMap" type="com.gic.evaluate.entity.TabEvaluateTags">
<id column="evaluate_tags_id" jdbcType="INTEGER" property="evaluateTagsId" />
<result column="evaluate_id" jdbcType="INTEGER" property="evaluateId" />
<result column="evaluate_reply_id" jdbcType="INTEGER" property="evaluateReplyId" />
<result column="member_id" jdbcType="BIGINT" property="memberId" />
<result column="tag_type" jdbcType="INTEGER" property="tagType" />
<result column="tag_name" jdbcType="VARCHAR" property="tagName" />
......@@ -13,8 +14,8 @@
<result column="status" jdbcType="INTEGER" property="status" />
</resultMap>
<sql id="Base_Column_List">
evaluate_tags_id, evaluate_id, member_id, tag_type, tag_name, create_time, update_time,
enterprise_id, status
evaluate_tags_id, evaluate_id, evaluate_reply_id, member_id, tag_type, tag_name,
create_time, update_time, enterprise_id, status
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
......@@ -27,14 +28,14 @@
where evaluate_tags_id = #{evaluateTagsId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.evaluate.entity.TabEvaluateTags">
insert into tab_evaluate_tags (evaluate_tags_id, evaluate_id, member_id,
tag_type, tag_name, create_time,
update_time, enterprise_id, status
)
values (#{evaluateTagsId,jdbcType=INTEGER}, #{evaluateId,jdbcType=INTEGER}, #{memberId,jdbcType=BIGINT},
#{tagType,jdbcType=INTEGER}, #{tagName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP}, #{enterpriseId,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}
)
insert into tab_evaluate_tags (evaluate_tags_id, evaluate_id, evaluate_reply_id,
member_id, tag_type, tag_name,
create_time, update_time, enterprise_id,
status)
values (#{evaluateTagsId,jdbcType=INTEGER}, #{evaluateId,jdbcType=INTEGER}, #{evaluateReplyId,jdbcType=INTEGER},
#{memberId,jdbcType=BIGINT}, #{tagType,jdbcType=INTEGER}, #{tagName,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{enterpriseId,jdbcType=INTEGER},
#{status,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.gic.evaluate.entity.TabEvaluateTags">
insert into tab_evaluate_tags
......@@ -45,6 +46,9 @@
<if test="evaluateId != null">
evaluate_id,
</if>
<if test="evaluateReplyId != null">
evaluate_reply_id,
</if>
<if test="memberId != null">
member_id,
</if>
......@@ -74,6 +78,9 @@
<if test="evaluateId != null">
#{evaluateId,jdbcType=INTEGER},
</if>
<if test="evaluateReplyId != null">
#{evaluateReplyId,jdbcType=INTEGER},
</if>
<if test="memberId != null">
#{memberId,jdbcType=BIGINT},
</if>
......@@ -103,6 +110,9 @@
<if test="evaluateId != null">
evaluate_id = #{evaluateId,jdbcType=INTEGER},
</if>
<if test="evaluateReplyId != null">
evaluate_reply_id = #{evaluateReplyId,jdbcType=INTEGER},
</if>
<if test="memberId != null">
member_id = #{memberId,jdbcType=BIGINT},
</if>
......@@ -130,6 +140,7 @@
<update id="updateByPrimaryKey" parameterType="com.gic.evaluate.entity.TabEvaluateTags">
update tab_evaluate_tags
set evaluate_id = #{evaluateId,jdbcType=INTEGER},
evaluate_reply_id = #{evaluateReplyId,jdbcType=INTEGER},
member_id = #{memberId,jdbcType=BIGINT},
tag_type = #{tagType,jdbcType=INTEGER},
tag_name = #{tagName,jdbcType=VARCHAR},
......@@ -139,4 +150,18 @@
status = #{status,jdbcType=INTEGER}
where evaluate_tags_id = #{evaluateTagsId,jdbcType=INTEGER}
</update>
<select id="listEvaluateTags" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_evaluate_tags
where enterprise_id = #{enterpriseId}
and status = 1
and evaluate_id = #{evaluateId}
<if test="evaluateReplyId != null ">
and evaluate_reply_id = #{evaluateReplyId}
</if>
<if test="evaluateReplyId == null ">
and evaluate_reply_id is null
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -348,6 +348,7 @@
t1.has_other_image hasOtherImage,
t1.problem_status problemStatus,
t1.malicious_status maliciousStatus,
t1.malicious_status_time maliciousStatusTime,
t1.show_status showStatus,
t1.status status,
t1.create_time createTime,
......
......@@ -25,6 +25,7 @@
<gic-enterprise-download>4.0-SNAPSHOT</gic-enterprise-download>
<gic-evaluate-api>4.0-SNAPSHOT</gic-evaluate-api>
<gic-platform-auth-api>4.0-SNAPSHOT</gic-platform-auth-api>
<gic-open-platform-api>4.0-SNAPSHOT</gic-open-platform-api>
</properties>
<dependencies>
......@@ -140,6 +141,11 @@
<artifactId>gic-platform-auth-api</artifactId>
<version>${gic-platform-auth-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-open-platform-api</artifactId>
<version>${gic-open-platform-api}</version>
</dependency>
</dependencies>
<build>
......
......@@ -87,7 +87,7 @@ public class EvaluateExportController extends DownloadUtils {
//报告类型 1:完整数据, 2:脱敏数据, 3:二维码
report.setDataType(exportQO.getDataType());
//数据源超链接,用于点击跳转对应频道页面
report.setDataUrl((String) RequestContext.getContext().getRequest().getAttribute("moduleMenuUrl"));
report.setDataUrl("-");
report.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
//待下载文件名
report.setFileName(exportQO.getFileName());
......
......@@ -16,6 +16,8 @@ import com.gic.evaluate.dto.UserReplyDTO;
import com.gic.evaluate.qo.EvaluateQO;
import com.gic.evaluate.service.EvaluateManageApiService;
import com.gic.evaluate.web.vo.UserReplyVO;
import com.gic.open.api.dto.EnterpriseServeInfoDTO;
import com.gic.open.api.service.EnterpriseLicenseApiService;
import com.gic.store.service.StoreWidgetApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -34,14 +36,23 @@ import java.util.List;
@RestController
public class EvaluateManagerController {
@Autowired
private EvaluateManageApiService evaluateManageApiService;
@Autowired
private StoreWidgetApiService storeWidgetApiService;
@Autowired
private ResourceApiService resourceApiService;
@Autowired
EnterpriseLicenseApiService enterpriseLicenseApiService;
@RequestMapping("/license")
public RestResponse license() {
ServiceResponse<EnterpriseServeInfoDTO> info = enterpriseLicenseApiService.getServeInfo(UserDetailUtils.getUserDetail().getEnterpriseId(), "DDPJ");
return ResultControllerUtils.commonResult(info);
}
@RequestMapping("/list-evaluate")
public RestResponse listEvaluate(EvaluateQO evaluateQO) {
evaluateQO.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
......
......@@ -8,7 +8,6 @@ import com.gic.download.utils.DataDownloadUtils;
import com.gic.download.utils.DownloadReport;
import com.gic.download.utils.DownloadUtils;
import com.gic.download.utils.ExecutorPoolSingleton;
import com.gic.enterprise.context.RequestContext;
import com.gic.enterprise.utils.UserDetailUtils;
import com.gic.evaluate.constant.ReplyerTypeEnum;
import com.gic.evaluate.dto.ProblemDTO;
......@@ -85,7 +84,7 @@ public class ProblemExportController extends DownloadUtils {
//报告类型 1:完整数据, 2:脱敏数据, 3:二维码
report.setDataType(exportQO.getDataType());
//数据源超链接,用于点击跳转对应频道页面
report.setDataUrl((String) RequestContext.getContext().getRequest().getAttribute("moduleMenuUrl"));
report.setDataUrl("-");
report.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
//待下载文件名
report.setFileName(exportQO.getFileName());
......
......@@ -27,4 +27,5 @@
<dubbo:reference interface="com.gic.enterprise.service.DownloadReportApiService" id="downloadReportApiService" timeout="6000" retries="0"/>
<dubbo:reference interface="com.gic.auth.service.MenuApiService" id="menuApiService" timeout="6000" retries="0"/>
<dubbo:reference interface="com.gic.auth.service.ResourceApiService" id="resourceApiService" timeout="6000" retries="0"/>
<dubbo:reference interface="com.gic.open.api.service.EnterpriseLicenseApiService" id="enterpriseLicenseApiService" timeout="6000" retries="0"/>
</beans>
\ 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