Commit b27c2d1d by zhiwj

添加头像

parent 27da809a
......@@ -33,11 +33,20 @@ public class ProblemDTO implements Serializable {
private String storeName;
/**
* 会员id
* 会员mcuId
*/
private Long memberId;
/**
* 会员acuId
*/
private Long acuId;
/**
* 会员ecuId
*/
private Long ecuId;
/**
* 会员名
*/
private String memberName;
......@@ -147,6 +156,22 @@ public class ProblemDTO implements Serializable {
this.memberId = memberId;
}
public Long getAcuId() {
return acuId;
}
public void setAcuId(Long acuId) {
this.acuId = acuId;
}
public Long getEcuId() {
return ecuId;
}
public void setEcuId(Long ecuId) {
this.ecuId = ecuId;
}
public String getMemberName() {
return memberName;
}
......@@ -163,6 +188,14 @@ public class ProblemDTO implements Serializable {
this.memberPhone = memberPhone;
}
public String getMemberImgUrl() {
return memberImgUrl;
}
public void setMemberImgUrl(String memberImgUrl) {
this.memberImgUrl = memberImgUrl;
}
public String getProblemContent() {
return problemContent;
}
......@@ -267,19 +300,11 @@ public class ProblemDTO implements Serializable {
this.replyList = replyList;
}
public void setReplyUserContent(String replyUserContent) {
this.replyUserContent = replyUserContent;
}
public String getReplyUserContent() {
return replyUserContent;
}
public String getMemberImgUrl() {
return memberImgUrl;
}
public void setMemberImgUrl(String memberImgUrl) {
this.memberImgUrl = memberImgUrl;
public void setReplyUserContent(String replyUserContent) {
this.replyUserContent = replyUserContent;
}
}
\ No newline at end of file
......@@ -41,7 +41,17 @@ public class ProblemMemberReplyDTO implements Serializable {
*/
private String memberName;
/**
* 会员acuId
*/
private Long acuId;
/**
* 会员ecuId
*/
private Long ecuId;
private List<String> imgList;
private String memberImgUrl;
public Integer getEvaluateReplyId() {
return evaluateReplyId;
......@@ -91,6 +101,22 @@ public class ProblemMemberReplyDTO implements Serializable {
this.memberName = memberName;
}
public Long getAcuId() {
return acuId;
}
public void setAcuId(Long acuId) {
this.acuId = acuId;
}
public Long getEcuId() {
return ecuId;
}
public void setEcuId(Long ecuId) {
this.ecuId = ecuId;
}
public List<String> getImgList() {
return imgList;
}
......@@ -98,4 +124,12 @@ public class ProblemMemberReplyDTO implements Serializable {
public void setImgList(List<String> imgList) {
this.imgList = imgList;
}
public String getMemberImgUrl() {
return memberImgUrl;
}
public void setMemberImgUrl(String memberImgUrl) {
this.memberImgUrl = memberImgUrl;
}
}
......@@ -6,6 +6,7 @@ import com.gic.evaluate.qo.ProblemQO;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
public interface TabProblemMapper {
......@@ -62,4 +63,12 @@ public interface TabProblemMapper {
Integer countProblem(ProblemQO problemQO);
List<ProblemDTO> listProblemByMemberId(@Param("memberId") Long memberId);
/**
* 查询会员在某个时间段之后 有没有恶意评价
* @param memberId
* @param date
* @return
*/
TabProblem getMaliciousStatusByMemberIdBeforeHours(@Param("memberId") Long memberId, @Param("date") Date date);
}
\ No newline at end of file
......@@ -26,4 +26,6 @@ public interface ProblemService {
void endProblem(Integer problemId);
Integer countProblem(ProblemQO problemQO);
boolean hasMaliciousStatusByMemberIdBeforeHours(Long memberId, Integer badSuggestionTagType);
}
......@@ -71,6 +71,7 @@ public class ProblemReplyServiceImpl implements ProblemReplyService {
problemReply.setReplyContent(problemMemberReplyDTO.getReplyContent());
problemReply.setMemberId(problemMemberReplyDTO.getMemberId());
problemReply.setMemberName(problemMemberReplyDTO.getMemberName());
problemReply.setMemberImgUrl(problemMemberReplyDTO.getMemberImgUrl());
problemReply.setStatus(Constants.OPEN);
problemReply.setCreateTime(new Date());
tabProblemReplyMapper.insertSelective(problemReply);
......
package com.gic.evaluate.service.impl;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.evaluate.constant.Constants;
import com.gic.evaluate.constant.ReplyEnum;
......@@ -53,6 +54,7 @@ public class ProblemServiceImpl implements ProblemService {
problem.setMemberId(problemDTO.getMemberId());
problem.setMemberName(problemDTO.getMemberName());
problem.setMemberPhone(problemDTO.getMemberPhone());
problem.setMemberImgUrl(problemDTO.getMemberImgUrl());
problem.setProblemContent(problemDTO.getProblemContent());
problem.setImageUrl(problemDTO.getImageUrl());
problem.setHasOtherImage(problemDTO.getHasOtherImage());
......@@ -82,4 +84,11 @@ public class ProblemServiceImpl implements ProblemService {
public Integer countProblem(ProblemQO problemQO) {
return tabProblemMapper.countProblem(problemQO);
}
@Override
public boolean hasMaliciousStatusByMemberIdBeforeHours(Long memberId, Integer badSuggestionTagType) {
Date date = DateUtil.addNumForHour(new Date(), -badSuggestionTagType);
TabProblem problem = tabProblemMapper.getMaliciousStatusByMemberIdBeforeHours(memberId, date);
return problem != null;
}
}
......@@ -2,6 +2,7 @@ package com.gic.evaluate.service.outer.impl;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.evaluate.constant.Constants;
......@@ -9,15 +10,18 @@ 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.entity.TabEvaluateOrderConfig;
import com.gic.evaluate.entity.TabEvaluateReply;
import com.gic.evaluate.qo.EvaluateQO;
import com.gic.evaluate.service.BadEvaluateConfigService;
import com.gic.evaluate.service.EvaluateOutApiService;
import com.gic.evaluate.service.EvaluateReplyService;
import com.gic.evaluate.service.EvaluateService;
import com.gic.evaluate.service.*;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
*
* @Description:
......@@ -32,6 +36,8 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
@Autowired
private EvaluateReplyService evaluateReplyService;
@Autowired
private EvaluateOrderConfigService evaluateOrderConfigService;
@Autowired
private BadEvaluateConfigService badEvaluateConfigService;
@Override
......@@ -60,6 +66,26 @@ public class EvaluateOutApiServiceImpl implements EvaluateOutApiService {
@Override
@Transactional(rollbackFor = Exception.class)
public ServiceResponse<Void> saveReply(MemberReplyDTO memberReplyDTO) {
TabEvaluateOrderConfig evaluateOrderConfig = evaluateOrderConfigService.getEvaluateOrderConfig(memberReplyDTO.getEnterpriseId());
// 判断是否支持
if (Constants.CLOSE.equals(evaluateOrderConfig.getReview())) {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "不支持追评");
}
// 是否超过期限
TabEvaluate evaluate = this.evaluateService.getEvaluate(memberReplyDTO.getEnterpriseId(), memberReplyDTO.getEvaluateId());
if (DateUtil.compareDate(new Date(), DateUtil.addDay(evaluate.getEvaluateTime(), evaluateOrderConfig.getReviewLimitday()))) {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "追评超出期限");
}
// 是否超过次数
List<TabEvaluateReply> replyList = this.evaluateReplyService.listEvaluateReply(memberReplyDTO.getEnterpriseId(), memberReplyDTO.getEvaluateId());
if (CollectionUtils.isNotEmpty(replyList)) {
if (evaluateOrderConfig.getReviewTimes() <= replyList.size()) {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "已经超过最大追评次数,无法继续追评");
}
}
// 保存追评
int line = evaluateReplyService.saveMemberReplyEvaluate(memberReplyDTO);
if (line > 0) {
......
......@@ -3,18 +3,19 @@ package com.gic.evaluate.service.outer.impl;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
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.ProblemMemberReplyDTO;
import com.gic.evaluate.dto.ProblemReplyDTO;
import com.gic.evaluate.entity.TabEvaluateOrderConfig;
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 com.gic.evaluate.service.*;
import com.gic.member.api.dto.AcuDetailDTO;
import com.gic.member.api.dto.MemberUserDTO;
import com.gic.member.api.service.CuDetailService;
import com.gic.member.api.service.MemberUserApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
......@@ -47,6 +48,10 @@ public class ProblemOutApiServiceImpl implements ProblemOutApiService {
private ProblemImgService problemImgService;
@Autowired
private MemberUserApiService memberUserApiService;
@Autowired
private EvaluateOrderConfigService evaluateOrderConfigService;
@Autowired
private CuDetailService cuDetailService;
@Override
@Transactional(rollbackFor = Exception.class)
......@@ -62,8 +67,13 @@ public class ProblemOutApiServiceImpl implements ProblemOutApiService {
MemberUserDTO memberUserDTO = memberUserDTOServiceResponse.getResult();
problemDTO.setMemberName(memberUserDTO.getName());
problemDTO.setMemberPhone(memberUserDTO.getMobile());
// todo 会员头像 门店
// problemDTO.setMemberImgUrl(memberUserDTO);
// todo 门店
if (problemDTO.getAcuId() != null) {
ServiceResponse<AcuDetailDTO> acuDetailResponse = cuDetailService.getAcuDetail(problemDTO.getAcuId(), problemDTO.getEnterpriseId(), problemDTO.getEcuId());
if (acuDetailResponse.isSuccess() || acuDetailResponse.getResult() != null) {
problemDTO.setMemberImgUrl(acuDetailResponse.getResult().getHeadUrl());
}
}
}
Integer problemId = problemService.save(problemDTO);
if (CollectionUtils.isNotEmpty(imgList)) {
......@@ -75,12 +85,29 @@ public class ProblemOutApiServiceImpl implements ProblemOutApiService {
@Override
public ServiceResponse<Void> saveProblemReply(ProblemMemberReplyDTO problemMemberReplyDTO) {
logger.info("保存咨询追评:{}", JSON.toJSONString(problemMemberReplyDTO));
TabEvaluateOrderConfig evaluateOrderConfig = evaluateOrderConfigService.getEvaluateOrderConfig(problemMemberReplyDTO.getEnterpriseId());
if (Constants.OPEN.equals(evaluateOrderConfig.getBadSuggestionTag())) {
if (this.problemService.hasMaliciousStatusByMemberIdBeforeHours(problemMemberReplyDTO.getMemberId(), evaluateOrderConfig.getBadSuggestionTagType())) {
return EnterpriseServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "不能评论");
}
}
List<String> imgUrlList = problemMemberReplyDTO.getImgList();
ServiceResponse<MemberUserDTO> memberUserDTOServiceResponse = memberUserApiService.getByMcuId(problemMemberReplyDTO.getMemberId(), problemMemberReplyDTO.getEnterpriseId());
if (memberUserDTOServiceResponse.isSuccess()) {
// todo 会员头像 门店
// todo 门店
MemberUserDTO memberUserDTO = memberUserDTOServiceResponse.getResult();
problemMemberReplyDTO.setMemberName(memberUserDTO.getName());
if (problemMemberReplyDTO.getAcuId() != null) {
ServiceResponse<AcuDetailDTO> acuDetailResponse = cuDetailService.getAcuDetail(problemMemberReplyDTO.getAcuId(), problemMemberReplyDTO.getEnterpriseId(), problemMemberReplyDTO.getEcuId());
if (acuDetailResponse.isSuccess() || acuDetailResponse.getResult() != null) {
problemMemberReplyDTO.setMemberImgUrl(acuDetailResponse.getResult().getHeadUrl());
}
}
}
Integer problemReplyId = problemReplyService.save(problemMemberReplyDTO);
ProblemDTO problemDTO = new ProblemDTO();
......
......@@ -21,6 +21,7 @@
<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.member.api.service.MemberUserApiService" id="memberUserApiService" timeout="6000" />
<dubbo:reference interface="com.gic.member.api.service.CuDetailService" id="cuDetailService" timeout="6000" />
<!-- <dubbo:reference interface="com.gic.log.api.service.LogApiService" id="logApiService" timeout="6000" />-->
......
......@@ -117,22 +117,6 @@
and show_status = #{showStatus}
</if>
</where>
<if test="orderByField != null ">
<if test="orderByField == 1 ">
order by evaluate_time
</if>
<if test="orderByField == 2 ">
order by receipts_date
</if>
<if test="orderByType != null ">
<if test="orderByType == 1 ">
asc
</if>
<if test="orderByType == 2 ">
desc
</if>
</if>
</if>
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
......@@ -560,6 +544,22 @@
<include refid="Base_Column_List" />
from tab_evaluate
<include refid="querySql" />
<if test="orderByField != null ">
<if test="orderByField == 1 ">
order by evaluate_time
</if>
<if test="orderByField == 2 ">
order by receipts_date
</if>
<if test="orderByType != null ">
<if test="orderByType == 1 ">
asc
</if>
<if test="orderByType == 2 ">
desc
</if>
</if>
</if>
</select>
<select id="countEvaluate" resultType="int">
select
......
......@@ -332,4 +332,12 @@
left join ( select problem_id, count(*) problemCount from tab_problem_reply where status &lt;&gt; 0 GROUP BY problem_id ) t3 on t1.problem_id = t3.problem_id
where t1.member_id = #{memberId}
</select>
<select id="getMaliciousStatusByMemberIdBeforeHours" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_problem
where status = 1
and member_id = #{memberId}
and update_time &gt; #{date}
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment