src/main/java/cc/mrbird/febs/common/enumerates/StateUpDownEnum.java
@@ -27,12 +27,14 @@ VOTE_OPTION_STATE_AUDIT_REFUSE(2), /** * 订单状态 1-待支付 2-待使用 3-已使用 4-售后 * 订单状态 1-待支付 2-待使用 3-已使用 4-售后 5-已评价 6-删除 */ ORDER_STATE_WAIT_PAY(1), ORDER_STATE_WAIT_USE(2), ORDER_STATE_USED(3), ORDER_STATE_AFTER_SALE(4), ORDER_STATE_COMMENT(5), ORDER_STATE_DELETE(6), /** * 支付状态 0-待支付 1-支付成功 2-支付失败 @@ -75,6 +77,8 @@ * 删除标识 0-未删除 1-已删除 * 使用状态 0-待使用 1-已使用 * 是否是核销员 0-否 1-是 * 匿名状态 1:匿名 0:不匿名 * 展示状态 1:显示 0:隐藏 */ DOWN(0), UP(1); src/main/java/cc/mrbird/febs/mall/controller/activity/ApiHappyActivityOrderController.java
@@ -5,6 +5,7 @@ import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.dto.activity.ApiActivityOrderListDto; import cc.mrbird.febs.mall.dto.activity.ApiCheckOrderDto; import cc.mrbird.febs.mall.dto.activity.ApiPayOrderAddCommentDto; import cc.mrbird.febs.mall.service.HappyActivityService; import cc.mrbird.febs.mall.vo.*; import cc.mrbird.febs.mall.vo.activity.ApiActivityOrderInfoVo; @@ -121,4 +122,11 @@ return happyActivityService.checkOrder(dto); } @ApiOperation(value = "我的报名-评价", notes = "我的报名-评价") @PostMapping(value = "/addComment") public FebsResponse addComment(@RequestBody @Validated ApiPayOrderAddCommentDto dto) { return happyActivityService.addComment(dto); } } src/main/java/cc/mrbird/febs/mall/dto/activity/ApiActivityOrderListDto.java
@@ -14,7 +14,7 @@ @ApiModelProperty(value = "第几页", example = "1") private Integer pageNum; @ApiModelProperty(value = "订单状态", example = "订单状态 1-待支付 2-待使用 3-已使用 4-售后") @ApiModelProperty(value = "订单状态", example = "订单状态 1-待支付 2-待参加 3-待评价 4-售后 5-已评价") private Integer state; } src/main/java/cc/mrbird/febs/mall/dto/activity/ApiPayOrderAddCommentDto.java
New file @@ -0,0 +1,29 @@ package cc.mrbird.febs.mall.dto.activity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @Data @ApiModel(value = "ApiPayOrderAddCommentDto", description = "参数") public class ApiPayOrderAddCommentDto { @NotNull(message = "订单ID不能为空") @ApiModelProperty(value = "订单ID") private Long orderId; @NotNull(message = "评分不能为空") @ApiModelProperty(value = "评分 4.0") private Double star; @NotBlank(message = "评论不能为空") @ApiModelProperty(value = "评论") private String comment; private String images; } src/main/java/cc/mrbird/febs/mall/entity/HappyActivityComment.java
New file @@ -0,0 +1,36 @@ package cc.mrbird.febs.mall.entity; import cc.mrbird.febs.common.entity.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @Data @TableName("happy_activity_comment") public class HappyActivityComment extends BaseEntity { /** * `member_id` bigint(20) DEFAULT NULL COMMENT '会员ID', `order_id` bigint(20) DEFAULT NULL COMMENT '订单ID', `activity_id` bigint(20) DEFAULT NULL COMMENT '活动ID', `activity_name` varchar(500) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '活动名称', `star` double(5,1) DEFAULT NULL COMMENT '评分', `comment` text CHARACTER SET utf8mb4 COMMENT '评论', `images` text CHARACTER SET utf8mb4 COMMENT '图片', `show_state` int(11) DEFAULT '1' COMMENT '展示状态 1:显示 0:隐藏', `anonymous_state` int(11) DEFAULT '0' COMMENT '匿名状态 1:匿名 0:不匿名', */ private Long memberId; private Long orderId; private Long activityId; private String activityName; private Double star; private String comment; private String images; private Integer showState; private Integer anonymousState; //查询条件 :评价等级 1:好评2:中评3:差评 @TableField(exist = false) private Integer commentType; } src/main/java/cc/mrbird/febs/mall/mapper/HappyActivityCommentMapper.java
New file @@ -0,0 +1,7 @@ package cc.mrbird.febs.mall.mapper; import cc.mrbird.febs.mall.entity.HappyActivityComment; import com.baomidou.mybatisplus.core.mapper.BaseMapper; public interface HappyActivityCommentMapper extends BaseMapper<HappyActivityComment> { } src/main/java/cc/mrbird/febs/mall/service/HappyActivityService.java
@@ -68,4 +68,6 @@ void checkActivityItem(Long orderId); void overtimeJob(); FebsResponse addComment(ApiPayOrderAddCommentDto dto); } src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
@@ -54,6 +54,7 @@ private final HappyActivityOptionMapper happyActivityOptionMapper; private final HappyActivityConnectMapper happyActivityConnectMapper; private final HappyActivityOrderMapper happyActivityOrderMapper; private final HappyActivityCommentMapper happyActivityCommentMapper; private final HappyActivityOrderItemMapper happyActivityOrderItemMapper; private final IXcxPayService iXcxPayService; private final IApiMallMemberWalletService iApiMallMemberWalletService; @@ -114,6 +115,14 @@ ); if(happyActivity != null){ BeanUtil.copyProperties(happyActivity,apiActivityVo); Integer commentCount = happyActivityCommentMapper.selectCount( new LambdaQueryWrapper<HappyActivityComment>() .eq(HappyActivityComment::getActivityId, happyActivity.getId()) .eq(HappyActivityComment::getShowState, StateUpDownEnum.UP.getCode()) ); apiActivityVo.setCommentCount(commentCount); List<HappyFollow> happyFollows = happyFollowMapper.selectList( new LambdaQueryWrapper<HappyFollow>() .select(HappyFollow::getId, HappyFollow::getType) @@ -928,6 +937,35 @@ } @Override public FebsResponse addComment(ApiPayOrderAddCommentDto dto) { // 获取当前登录用户的ID Long memberId = LoginUserUtil.getLoginUser().getId(); Long orderId = dto.getOrderId(); HappyActivityOrder happyActivityOrder = happyActivityOrderMapper.selectById(orderId); if(StateUpDownEnum.ORDER_STATE_USED.getCode() != happyActivityOrder.getState()){ throw new FebsException("该订单状态不是已使用状态!"); } happyActivityOrder.setState(StateUpDownEnum.ORDER_STATE_COMMENT.getCode()); happyActivityOrderMapper.updateById(happyActivityOrder); HappyActivity happyActivity = this.baseMapper.selectById(happyActivityOrder.getActivityId()); HappyActivityComment happyActivityComment = new HappyActivityComment(); happyActivityComment.setActivityId(happyActivity.getId()); happyActivityComment.setActivityName(happyActivity.getName()); happyActivityComment.setMemberId(memberId); happyActivityComment.setOrderId(orderId); happyActivityComment.setStar(dto.getStar()); happyActivityComment.setComment(dto.getComment()); happyActivityComment.setImages(dto.getImages()); happyActivityCommentMapper.insert(happyActivityComment); return new FebsResponse().success().message("操作成功"); } @Override public FebsResponse voteActivityHot(Long id) { ApiVoteActivityHotVo apiVoteActivityHotVo = new ApiVoteActivityHotVo(); src/main/java/cc/mrbird/febs/mall/vo/ApiActivityVo.java
@@ -81,4 +81,8 @@ @ApiModelProperty(value = "背景图片") private String backImg; @ApiModelProperty(value = "评论数量") private Integer commentCount; }