商品评价场景,查询业务重构,代码复用增强,前端可以查看到后端设置隐藏的评价内容问题解决

This commit is contained in:
Chopper 2021-06-17 10:37:11 +08:00
parent 6205693df6
commit 7ce5b517fc
8 changed files with 30 additions and 97 deletions

View File

@ -1,5 +1,6 @@
package cn.lili.controller.member;
import cn.lili.common.enums.SwitchEnum;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;
@ -55,7 +56,7 @@ public class MemberEvaluationBuyerController {
public ResultMessage<IPage<MemberEvaluation>> queryMineEvaluation(EvaluationQueryParams evaluationQueryParams) {
//设置当前登录会员
evaluationQueryParams.setMemberId(UserContext.getCurrentUser().getId());
return ResultUtil.data(memberEvaluationService.queryByParams(evaluationQueryParams));
return ResultUtil.data(memberEvaluationService.managerQuery(evaluationQueryParams));
}
@ApiOperation(value = "查看某一个商品的评价列表")
@ -65,7 +66,8 @@ public class MemberEvaluationBuyerController {
@NotNull @PathVariable("goodsId") String goodsId) {
//设置查询查询商品
evaluationQueryParams.setGoodsId(goodsId);
return ResultUtil.data(memberEvaluationService.queryByParams(evaluationQueryParams));
evaluationQueryParams.setStatus(SwitchEnum.OPEN.name());
return ResultUtil.data(memberEvaluationService.managerQuery(evaluationQueryParams));
}
@ApiOperation(value = "查看某一个商品的评价数量")

View File

@ -15,6 +15,10 @@ import lombok.Data;
@Data
public class EvaluationQueryParams extends PageVO {
@ApiModelProperty(value = "买家ID")
private String memberId;
@ApiModelProperty(value = "会员名称")
private String memberName;
@ -24,9 +28,6 @@ public class EvaluationQueryParams extends PageVO {
@ApiModelProperty(value = "卖家ID")
private String storeId;
@ApiModelProperty(value = "买家ID", hidden = true)
private String memberId;
@ApiModelProperty(value = "商品名称")
private String goodsName;
@ -45,6 +46,9 @@ public class EvaluationQueryParams extends PageVO {
@ApiModelProperty(value = "评论日期--结束时间")
private String endTime;
@ApiModelProperty(value = "状态")
private String status;
public EvaluationQueryParams() {
}
@ -78,6 +82,9 @@ public class EvaluationQueryParams extends PageVO {
if (StringUtils.isNotEmpty(haveImage)) {
queryWrapper.eq("have_image", haveImage);
}
if (StringUtils.isNotEmpty(status)) {
queryWrapper.eq("status", status);
}
queryWrapper.eq("delete_flag", false);
queryWrapper.orderByDesc("create_time");
return queryWrapper;

View File

@ -1,59 +0,0 @@
package cn.lili.modules.member.entity.dto;
import cn.hutool.core.date.DateUtil;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.PageVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 店铺评价查询参数
*
* @author Chopper
* @date 2021/3/20 10:43
*/
@Data
public class StoreEvaluationQueryParams extends PageVO {
@ApiModelProperty(value = "会员名称")
private String memberName;
@ApiModelProperty(value = "商品名称")
private String goodsName;
@ApiModelProperty(value = "好中差评 good好评neutral中评bad差评", allowableValues = "GOOD,NEUTRAL,BAD")
private String grade;
@ApiModelProperty(value = "评论日期--开始时间")
private String startDate;
@ApiModelProperty(value = "评论日期--结束时间")
private String endDate;
public <T> QueryWrapper<T> queryWrapper() {
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("store_id", UserContext.getCurrentUser().getStoreId());
if (StringUtils.isNotEmpty(startDate) && StringUtils.isNotEmpty(endDate)) {
queryWrapper.between("create_time", DateUtil.parse(startDate), DateUtil.parse(endDate));
}
if (StringUtils.isNotEmpty(grade)) {
queryWrapper.eq("grade", grade);
}
if (StringUtils.isNotEmpty(goodsName)) {
queryWrapper.eq("goods_name", goodsName);
}
if (StringUtils.isNotEmpty(memberName)) {
queryWrapper.eq("member_name", memberName);
}
return queryWrapper;
}
}

View File

@ -25,7 +25,7 @@ public interface MemberEvaluationMapper extends BaseMapper<MemberEvaluation> {
@Select("select me.* from li_member_evaluation as me ${ew.customSqlSegment}")
IPage<MemberEvaluationListVO> getMemberEvaluationList(IPage<MemberEvaluationListVO> page, @Param(Constants.WRAPPER) Wrapper<MemberEvaluationListVO> queryWrapper);
@Select("select grade,count(1) as num from li_member_evaluation Where goods_id=#{goodsId} GROUP BY grade")
@Select("select grade,count(1) as num from li_member_evaluation Where goods_id=#{goodsId} and status='OPEN' GROUP BY grade")
List<Map<String, Object>> getEvaluationNumber(String goodsId);
@Select("SELECT round( AVG( delivery_score ), 2 ) AS delivery_score" +

View File

@ -1,10 +1,8 @@
package cn.lili.modules.member.service;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.member.entity.dos.MemberEvaluation;
import cn.lili.modules.member.entity.dto.EvaluationQueryParams;
import cn.lili.modules.member.entity.dto.MemberEvaluationDTO;
import cn.lili.modules.member.entity.dto.StoreEvaluationQueryParams;
import cn.lili.modules.member.entity.vo.EvaluationNumberVO;
import cn.lili.modules.member.entity.vo.MemberEvaluationListVO;
import cn.lili.modules.member.entity.vo.MemberEvaluationVO;
@ -25,23 +23,14 @@ public interface MemberEvaluationService extends IService<MemberEvaluation> {
* @param evaluationQueryParams 评价查询
* @return 评价分页
*/
IPage<MemberEvaluation> queryByParams(EvaluationQueryParams evaluationQueryParams);
/**
* 商家查询会员的评价分页列表
*
* @param storeEvaluationQueryParams 评价查询
* @return 会员的评价分页
*/
IPage<MemberEvaluationListVO> queryByParams(StoreEvaluationQueryParams storeEvaluationQueryParams);
IPage<MemberEvaluation> managerQuery(EvaluationQueryParams evaluationQueryParams);
/**
* 查询评价分页列表
* @param evaluationQueryParams 评价查询条件
* @param page 分页查询参数
* @return 评价分页列表
*/
IPage<MemberEvaluationListVO> queryPage(EvaluationQueryParams evaluationQueryParams, PageVO page);
IPage<MemberEvaluationListVO> queryPage(EvaluationQueryParams evaluationQueryParams);
/**
* 添加会员评价

View File

@ -3,8 +3,8 @@ package cn.lili.modules.member.serviceimpl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONUtil;
import cn.lili.common.enums.SwitchEnum;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.enums.SwitchEnum;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.common.rocketmq.tags.GoodsTagsEnum;
@ -12,7 +12,6 @@ import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.utils.PageUtil;
import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.PageVO;
import cn.lili.config.rocketmq.RocketmqCustomProperties;
import cn.lili.modules.goods.entity.dos.GoodsSku;
import cn.lili.modules.goods.service.GoodsSkuService;
@ -20,7 +19,6 @@ import cn.lili.modules.member.entity.dos.Member;
import cn.lili.modules.member.entity.dos.MemberEvaluation;
import cn.lili.modules.member.entity.dto.EvaluationQueryParams;
import cn.lili.modules.member.entity.dto.MemberEvaluationDTO;
import cn.lili.modules.member.entity.dto.StoreEvaluationQueryParams;
import cn.lili.modules.member.entity.enums.EvaluationGradeEnum;
import cn.lili.modules.member.entity.vo.EvaluationNumberVO;
import cn.lili.modules.member.entity.vo.MemberEvaluationListVO;
@ -42,7 +40,6 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -84,20 +81,16 @@ public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMap
private RocketmqCustomProperties rocketmqCustomProperties;
@Override
public IPage<MemberEvaluation> queryByParams(EvaluationQueryParams queryParams) {
public IPage<MemberEvaluation> managerQuery(EvaluationQueryParams queryParams) {
//获取评价分页
return this.page(PageUtil.initPage(queryParams), queryParams.queryWrapper());
}
@Override
public IPage<MemberEvaluationListVO> queryByParams(StoreEvaluationQueryParams storeEvaluationQueryParams) {
return memberEvaluationMapper.getMemberEvaluationList(PageUtil.initPage(storeEvaluationQueryParams), storeEvaluationQueryParams.queryWrapper());
public IPage<MemberEvaluationListVO> queryPage(EvaluationQueryParams evaluationQueryParams) {
return memberEvaluationMapper.getMemberEvaluationList(PageUtil.initPage(evaluationQueryParams), evaluationQueryParams.queryWrapper());
}
@Override
public IPage<MemberEvaluationListVO> queryPage(EvaluationQueryParams evaluationQueryParams, PageVO page) {
return memberEvaluationMapper.getMemberEvaluationList(PageUtil.initPage(page), evaluationQueryParams.queryWrapper());
}
@Override
public MemberEvaluationDTO addMemberEvaluation(MemberEvaluationDTO memberEvaluationDTO) {
@ -106,7 +99,7 @@ public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMap
//获取订单信息
Order order = orderService.getBySn(orderItem.getOrderSn());
//检测是否可以添加会员评价
checkMemberEvaluation(orderItem,order);
checkMemberEvaluation(orderItem, order);
//获取用户信息
Member member = memberService.getUserInfo();
//获取商品信息
@ -165,6 +158,7 @@ public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMap
EvaluationNumberVO evaluationNumberVO = new EvaluationNumberVO();
List<Map<String, Object>> list = memberEvaluationMapper.getEvaluationNumber(goodsId);
Integer good = 0;
Integer moderate = 0;
Integer worse = 0;
@ -204,10 +198,11 @@ public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMap
/**
* 检测会员评价
*
* @param orderItem 子订单
* @param order 订单
* @param order 订单
*/
public void checkMemberEvaluation(OrderItem orderItem,Order order){
public void checkMemberEvaluation(OrderItem orderItem, Order order) {
//根据子订单编号判断是否评价过
if (orderItem.getCommentStatus().equals(CommentStatusEnum.FINISHED.name())) {

View File

@ -42,7 +42,7 @@ public class MemberEvaluationManagerController {
@GetMapping(value = "/getByPage")
public ResultMessage<IPage<MemberEvaluationListVO>> getByPage(EvaluationQueryParams evaluationQueryParams, PageVO page) {
return ResultUtil.data(memberEvaluationService.queryPage(evaluationQueryParams, page));
return ResultUtil.data(memberEvaluationService.queryPage(evaluationQueryParams));
}
@ApiOperation(value = "修改评价状态")

View File

@ -2,7 +2,7 @@ package cn.lili.controller.trade;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.member.entity.dto.StoreEvaluationQueryParams;
import cn.lili.modules.member.entity.dto.EvaluationQueryParams;
import cn.lili.modules.member.entity.vo.MemberEvaluationListVO;
import cn.lili.modules.member.entity.vo.MemberEvaluationVO;
import cn.lili.modules.member.service.MemberEvaluationService;
@ -30,9 +30,8 @@ public class MemberEvaluationStoreController {
@ApiOperation(value = "分页获取会员评论列表")
@GetMapping
public ResultMessage<IPage<MemberEvaluationListVO>> getByPage(StoreEvaluationQueryParams storeEvaluationQueryParams) {
return ResultUtil.data(memberEvaluationService.queryByParams(storeEvaluationQueryParams));
public ResultMessage<IPage<MemberEvaluationListVO>> getByPage(EvaluationQueryParams evaluationQueryParams) {
return ResultUtil.data(memberEvaluationService.queryPage(evaluationQueryParams));
}
@ApiOperation(value = "通过id获取")