diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/module/entity/PlayCustomLeaveMsgEntity.java b/play-admin/src/main/java/com/starry/admin/modules/custom/module/entity/PlayCustomLeaveMsgEntity.java index d819e14..9842532 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/custom/module/entity/PlayCustomLeaveMsgEntity.java +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/module/entity/PlayCustomLeaveMsgEntity.java @@ -1,11 +1,14 @@ package com.starry.admin.modules.custom.module.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.starry.admin.common.conf.StringTypeHandler; import com.starry.common.domain.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.Date; +import java.util.List; /** * 顾客留言对象 play_custom_leave_msg @@ -15,7 +18,7 @@ import java.util.Date; */ @Data @EqualsAndHashCode(callSuper = false) -@TableName("play_custom_leave_msg") +@TableName(value = "play_custom_leave_msg", autoResultMap = true) public class PlayCustomLeaveMsgEntity extends BaseEntity { @@ -42,7 +45,8 @@ public class PlayCustomLeaveMsgEntity extends BaseEntity images; /** * 留言时间 diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomLeaveMsgService.java b/play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomLeaveMsgService.java index 633581e..6649d8c 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomLeaveMsgService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomLeaveMsgService.java @@ -22,6 +22,15 @@ public interface IPlayCustomLeaveMsgService extends IService selectPlayCustomLeaveMsgByPage(PlayCustomLeaveMsgEntity playCustomLeaveMsg) { Page page = new Page<>(1, 10); - return this.baseMapper.selectPage(page, new LambdaQueryWrapper()); + return this.baseMapper.selectPage(page, new LambdaQueryWrapper<>()); + } + + /** + * 查询当前用户不允许留言的原因 + * 1、一个人在同一天只能留言一次 + * + * @param customId 顾客ID + * @return 当前用户不允许留言的原因 + */ + @Override + public String queryNoMessagesAllowedReason(String customId) { + // 1、一个人在同一天只能留言一次 + LocalDateTime now = LocalDateTime.now(); + LocalDateTime start = LocalDateTime.of(now.toLocalDate(), LocalTime.MIN); + LocalDateTime end = LocalDateTime.of(now.toLocalDate(), LocalTime.MAX); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PlayCustomLeaveMsgEntity::getCustomId, customId); + lambdaQueryWrapper.between(PlayCustomLeaveMsgEntity::getMsgTime, start, end); + if (this.baseMapper.selectOne(lambdaQueryWrapper) != null) { + return "一天只能留言一次"; + } + // 2、 + // 3、 + return ""; } /** @@ -72,6 +101,10 @@ public class PlayCustomLeaveMsgServiceImpl extends ServiceImpl { @@ -62,7 +65,8 @@ public class PlayOrderComplaintInfoEntity extends BaseEntity images; /** * 数据是否隐藏(0:未隐藏,1:隐藏) diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderDetailsReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderDetailsReturnVo.java new file mode 100644 index 0000000..6ed34ed --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderDetailsReturnVo.java @@ -0,0 +1,135 @@ +package com.starry.admin.modules.order.module.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 订单查询返回对象 + * + * @author admin + * @since 2024-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = false) +public class PlayOrderDetailsReturnVo { + + + private String id; + + /** + * 用户ID + */ + private String customId; + + /** + * 用户昵称 + */ + private String customNickname; + + + /** + * 用户头像 + */ + private String customAvatar; + + + /** + * 店员ID + */ + private String clerkId; + + /** + * 店员昵称 + */ + private String clerkNickname; + + /** + * 店员头像 + */ + private String clerkAvatar; + + + /** + * 下单时间 + */ + private Date purchaserTime; + + /** + * 订单金额 + */ + private BigDecimal orderMoney; + + + /** + * 订单最终金额 + */ + private BigDecimal finalAmount; + + + /** + * 商品ID + */ + private String commodityId; + + /** + * 商品类型[0:礼物,1:服务] + */ + private String commodityType; + + /** + * 商品类型[0:礼物,1:服务] + */ + private String commodityName; + /** + * 商品单价 + */ + private BigDecimal commodityPrice; + + /** + * 服务市场 + * + * @since 2024/5/8 16:44 + **/ + private String serviceDuration; + + /** + * 商品数量 + */ + private int commodityNumber; + + /** + * 订单状态【0:1:2:3:4】 + * 0:已下单(待接单) + * 1:已接单(待开始) + * 2:已开始(服务中) + * 3:已完成 + * 4:已取消 + */ + private String orderStatus; + + /** + * 下单类型(0:指定单,1:随机单。2:打赏单) + */ + private String placeType; + + /** + * 微信号码 + */ + private String weiChatCode; + + /** + * 支付方式,0:余额支付,1:微信支付,2:支付宝支付 + */ + private String payMethod; + + + /** + * 订单备注 + */ + private String remark; + + +} \ No newline at end of file diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderInfoService.java index 2bfb243..582c513 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderInfoService.java @@ -3,10 +3,7 @@ package com.starry.admin.modules.order.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity; -import com.starry.admin.modules.order.module.vo.PlayOrderInfoQueryVo; -import com.starry.admin.modules.order.module.vo.PlayOrderInfoReturnVo; -import com.starry.admin.modules.order.module.vo.PlayOrderRewardQueryVo; -import com.starry.admin.modules.order.module.vo.PlayOrderRewardReturnVo; +import com.starry.admin.modules.order.module.vo.*; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -84,6 +81,14 @@ public interface IPlayOrderInfoService extends IService { */ IPage selectRewardOrderInfoByPage(PlayOrderRewardQueryVo vo); + + /** + * 根据订单ID查询订单信息 + * + * @param orderId 订单ID + * @return 订单信息 + */ + PlayOrderDetailsReturnVo selectById(String orderId); /** * 查询订单 * @@ -137,7 +142,7 @@ public interface IPlayOrderInfoService extends IService { * 顾客取消订单 * * @param orderId 订单ID - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/5/8 16:56 **/ void customCancellationOrder(String orderId); diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java index 05fdc23..c3fc06b 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java @@ -7,12 +7,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.starry.admin.common.exception.CustomException; import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; -import com.starry.admin.modules.commodity.module.entity.PlayClerkServiceEntity; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.order.mapper.PlayOrderComplaintInfoMapper; import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity; -import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity; import com.starry.admin.modules.order.module.vo.PlayOrderComplaintQueryVo; import com.starry.admin.modules.order.module.vo.PlayOrderComplaintReturnVo; import com.starry.admin.modules.order.service.IPlayOrderComplaintInfoService; @@ -80,12 +79,31 @@ public class PlayOrderComplaintInfoServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PlayOrderComplaintInfoEntity::getCustomId, customerId); + lambdaQueryWrapper.eq(PlayOrderComplaintInfoEntity::getOrderId, orderId); + return this.baseMapper.selectOne(lambdaQueryWrapper) != null; + + } + /** * 修改订单投诉信息 * diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderEvaluateInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderEvaluateInfoServiceImpl.java index 9ee64ad..4ff6b6d 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderEvaluateInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderEvaluateInfoServiceImpl.java @@ -7,10 +7,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.starry.admin.common.exception.CustomException; import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.order.mapper.PlayOrderEvaluateInfoMapper; -import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity; import com.starry.admin.modules.order.module.entity.PlayOrderEvaluateInfoEntity; import com.starry.admin.modules.order.module.vo.PlayOrderEvaluateQueryVo; import com.starry.admin.modules.order.module.vo.PlayOrderEvaluateReturnVo; @@ -39,6 +39,10 @@ public class PlayOrderEvaluateInfoServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PlayOrderEvaluateInfoEntity::getCustomId, customerId); + lambdaQueryWrapper.eq(PlayOrderEvaluateInfoEntity::getOrderId, orderId); + return this.baseMapper.selectOne(lambdaQueryWrapper) != null; + + } + /** * 修改订单评价信息 * diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java index a238293..e5d0c6c 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java @@ -14,10 +14,7 @@ import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; import com.starry.admin.modules.order.mapper.PlayOrderInfoMapper; import com.starry.admin.modules.order.module.constant.OrderConstant; import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity; -import com.starry.admin.modules.order.module.vo.PlayOrderInfoQueryVo; -import com.starry.admin.modules.order.module.vo.PlayOrderInfoReturnVo; -import com.starry.admin.modules.order.module.vo.PlayOrderRewardQueryVo; -import com.starry.admin.modules.order.module.vo.PlayOrderRewardReturnVo; +import com.starry.admin.modules.order.module.vo.*; import com.starry.admin.modules.order.service.IPlayOrderInfoService; import com.starry.common.utils.StringUtils; import org.springframework.stereotype.Service; @@ -152,6 +149,7 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl lambdaQueryWrapper = new MPJLambdaWrapper() + // 查询主表全部字段 + .selectAll(PlayOrderInfoEntity.class) + // 查询顾客表 + .selectAs(PlayCustomUserInfoEntity::getId, "customUserId").selectAs(PlayCustomUserInfoEntity::getAvatar, "customAvatar").selectAs(PlayCustomUserInfoEntity::getNickname, "customUserNickname") + // 查询陪聊表 + .selectAs(PlayClerkUserInfoEntity::getId, "clerkUserId").selectAs(PlayClerkUserInfoEntity::getAvatar, "clerkUserAvatar").selectAs(PlayClerkUserInfoEntity::getNickname, "clerkUserNickname") + // 子表 + .leftJoin(PlayCustomUserInfoEntity.class, PlayCustomUserInfoEntity::getId, PlayOrderInfoEntity::getPurchaserBy).leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayOrderInfoEntity::getAcceptBy); + lambdaQueryWrapper.eq(PlayOrderInfoEntity::getPlaceType, "2"); + lambdaQueryWrapper.orderByDesc(PlayOrderInfoEntity::getPurchaserTime); + return this.baseMapper.selectJoinOne(PlayOrderDetailsReturnVo.class, lambdaQueryWrapper); + } + + /** * 分页查询订单信息 * @@ -185,7 +201,6 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl iPage = orderInfoService.selectOrderInfoPage(vo); + IPage iPage = playOrderInfoService.selectOrderInfoPage(vo); return R.ok(iPage); } @@ -214,13 +232,13 @@ public class WxCustomController { * * @param id 订单ID * @return com.starry.common.result.R - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/5/8 15:57 **/ @CustomUserLogin @GetMapping("/order/queryById") public R queryById(@RequestParam("id") String id) { - PlayOrderInfoEntity orderInfo = orderInfoService.selectOrderInfoById(id); + PlayOrderDetailsReturnVo orderInfo = playOrderInfoService.selectById(id); return R.ok(orderInfo); } @@ -229,22 +247,119 @@ public class WxCustomController { * * @param id 订单ID * @return com.starry.common.result.R - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/5/8 15:57 **/ @CustomUserLogin @GetMapping("/order/cancellation") public R cancellationOrder(@RequestParam("id") String id) { - orderInfoService.customCancellationOrder(id); + playOrderInfoService.customCancellationOrder(id); return R.ok("取消成功"); } + /** + * 新增订单评价信息 + * + * @param vo 订单评价信息实体 + * @return com.starry.common.result.R + * @author admin + * @since 2024/5/8 15:57 + **/ + @CustomUserLogin + @PostMapping("/order/evaluate/add") + public R addOrderEvaluate(@Validated @RequestBody PlayOrderEvaluateAddVo vo) { + vo.setCustomId(ThreadLocalRequestDetail.getCustomUserInfo().getId()); + PlayOrderInfoEntity orderInfo = playOrderInfoService.selectOrderInfoById(vo.getOrderId()); + if (!orderInfo.getPurchaserBy().equals(vo.getCustomId())) { + throw new CustomException("只有下单人才能评价"); + } + PlayOrderEvaluateInfoEntity entity = ConvertUtil.entityToVo(vo, PlayOrderEvaluateInfoEntity.class); + playOrderEvaluateInfoService.create(entity); + return R.ok("评价成功"); + } + + + /** + * 新增订单投诉信息 + * + * @param vo 订单评价信息实体 + * @return com.starry.common.result.R + * @author admin + * @since 2024/5/8 15:57 + **/ + @CustomUserLogin + @PostMapping("/order/complaint/add") + public R addOrderComplaint(@Validated @RequestBody PlayOrderComplaintAddVo vo) { + vo.setCustomId(ThreadLocalRequestDetail.getCustomUserInfo().getId()); + PlayOrderInfoEntity orderInfo = playOrderInfoService.selectOrderInfoById(vo.getOrderId()); + if (!orderInfo.getPurchaserBy().equals(vo.getCustomId())) { + throw new CustomException("只有下单人才能投诉"); + } + PlayOrderComplaintInfoEntity entity = ConvertUtil.entityToVo(vo, PlayOrderComplaintInfoEntity.class); + playOrderComplaintInfoService.create(entity); + return R.ok("新增成功"); + } + + + + + + /** + * 顾客新增留言 + * + * @param vo 顾客新增留言对象 + * @return com.starry.common.result.R + * @author admin + * @since 2024/5/8 15:57 + **/ + @CustomUserLogin + @PostMapping("/leave/add") + public R cancellationOrder(@Validated @RequestBody PlayCustomLeaveAddVo vo) { + vo.setCustomId(ThreadLocalRequestDetail.getCustomUserInfo().getId()); + PlayCustomLeaveMsgEntity entity = ConvertUtil.entityToVo(vo, PlayCustomLeaveMsgEntity.class); + entity.setMsgTime(new Date()); + playCustomLeaveMsgService.create(entity); + return R.ok("取消成功"); + } + + /** + * 查询当前顾客是否允许留言 + * + * @return com.starry.common.result.R + * @author admin + * @since 2024/5/8 15:57 + **/ + @CustomUserLogin + @GetMapping("/leave/queryPermission") + public R queryLeavePermission() { + // 不允许留言的原因,如果原因为空,说明允许留言 + String noMessagesAllowedReason = playCustomLeaveMsgService.queryNoMessagesAllowedReason(ThreadLocalRequestDetail.getCustomUserInfo().getId()); + if (StringUtils.isEmpty(noMessagesAllowedReason)) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("permission", true); + jsonObject.put("msg", ""); + return R.ok(jsonObject); + } else { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("permission", false); + jsonObject.put("msg", noMessagesAllowedReason); + return R.ok(jsonObject); + } + } + + + + + + + + /** * 顾客修改对陪玩的关注状态 * * @param vo 陪玩的关注状态对象 * @return com.starry.common.result.R - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/5/8 15:57 **/ @CustomUserLogin diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java index eae33a4..dc931ea 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxPlayController.java @@ -54,7 +54,7 @@ public class WxPlayController { /** * 微信支付-微信回调地址(https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7&index=8) * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/5/8 11:25 **/ @GetMapping("/jsCallback") @@ -74,15 +74,15 @@ public class WxPlayController { log.error("*********未查询到对应的支付记录,订单号:{}", outTradeNo); return; } - // TODO如果支付状态不是待支付 - if (!orderInfoEntity.getOrderStatus().equals(RepairStatusEnum.NOT_PAY.name())) { - log.error("*********支付记录状态异常,支付记录:{}", JSONObject.toJSONString(repair)); - return; - } - Date nowDate = new Date(); - repair.setPaySuccessTime(nowDate); - repair.setPayStatus(RepairStatusEnum.PAID.name()); - repair.setStatus(RepairStatusEnum.REPAIRING.name()); +// // TODO如果支付状态不是待支付 +// if (!orderInfoEntity.getOrderStatus().equals(RepairStatusEnum.NOT_PAY.name())) { +// log.error("*********支付记录状态异常,支付记录:{}", JSONObject.toJSONString(repair)); +// return; +// } +// Date nowDate = new Date(); +// repair.setPaySuccessTime(nowDate); +// repair.setPayStatus(RepairStatusEnum.PAID.name()); +// repair.setStatus(RepairStatusEnum.REPAIRING.name()); orderInfoService.updateById(orderInfoEntity); log.info("*********支付处理完成"); @@ -134,8 +134,8 @@ public class WxPlayController { PlayCustomUserInfoEntity customUserInfo = customUserInfoService.selectById(ThreadLocalRequestDetail.getCustomUserInfo().getId()); // 租户信息 SysTenantEntity entity = tenantService.selectSysTenantByTenantId(tenantId); - // 订单总金额,单位为分(开发阶段固定设置为支付1分钱) - long totalFee = 1; + // 订单总金额,单位为分 + long totalFee = getTotalFee(money); // 创建订单信息 String orderId = IdUtil.fastSimpleUUID(); orderInfoService.createRechargeOrder(orderId, new BigDecimal(totalFee * 1.0 / 100), new BigDecimal(totalFee * 1.0 / 100), customUserInfo.getId()); @@ -184,7 +184,7 @@ public class WxPlayController { public long getTotalFee(String money) { long totalFee; try { - totalFee = (long) Float.parseFloat(money) * 100; + totalFee = (long) (Float.parseFloat(money) * 100); } catch (Exception e) { throw new CustomException("请求参数错误,money类型异常"); } diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayCustomLeaveAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayCustomLeaveAddVo.java new file mode 100644 index 0000000..14e846a --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayCustomLeaveAddVo.java @@ -0,0 +1,44 @@ +package com.starry.admin.modules.weichat.entity; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.util.List; + +/** + * 顾客新增留言对象 + * + * @author admin + * @since 2024/5/8 下午10:03 + **/ +@Data +public class PlayCustomLeaveAddVo { + + /** + * 顾客ID + */ + private String customId; + + /** + * 留言内容 + */ + @NotBlank(message = "留言内容不能为空") + @Length(max = 255, message = "留言内容不能超过255个字符") + private String content; + + /** + * 图片 + */ + + @NotNull(message = "images不能为空") + @Size(max = 3, message = "照片不能超过3张") + private List images; + + /** + * 备注 + */ + private String remark; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderComplaintAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderComplaintAddVo.java new file mode 100644 index 0000000..2fea0af --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderComplaintAddVo.java @@ -0,0 +1,52 @@ +package com.starry.admin.modules.weichat.entity; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.util.Date; +import java.util.List; + +/** + * 订单投诉新增VO + * + * @author admin + * @since 2024/5/8 下午10:49 + **/ +@Data +public class PlayOrderComplaintAddVo { + + /** + * 订单ID + */ + @NotBlank(message = "订单ID不能为空") + private String orderId; + + /** + * 顾客ID + */ + private String customId; + + /** + * 投诉人微信号码 + */ + @NotBlank(message = "微信号码不能为空") + private String wxChatCode; + + /** + * 投诉内容 + */ + @NotBlank(message = "投诉内容不能为空") + @Length(max = 255, message = "投诉内容最多255个字符") + private String complaintCon; + + /** + * 投诉时间 + */ + private Date complaintTime = new Date(); + + /** + * 图片列表 + */ + private List images; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderEvaluateAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderEvaluateAddVo.java new file mode 100644 index 0000000..0587825 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderEvaluateAddVo.java @@ -0,0 +1,60 @@ +package com.starry.admin.modules.weichat.entity; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.*; +import java.util.Date; + +/** + * 订单评价新增VO + * + * @author admin + * @since 2024/5/8 下午10:49 + **/ +@Data +public class PlayOrderEvaluateAddVo { + + /** + * 订单ID + */ + @NotBlank(message = "订单ID不能为空") + private String orderId; + + /** + * 顾客ID + */ + private String customId; + + /** + * 匿名评价(0:匿名,1:非匿名) + */ + @NotBlank(message = "是否匿名不能为空") + @Pattern(regexp = "[01]", message = "匿名评价只能位0或1") + private String anonymous; + + /** + * 评价类型(0:好评,1差评) + */ + private String evaluateType = "0"; + + /** + * 评价等级【1-5星,最低1星,最高5星】 + */ + @NotNull(message = "评价等级不能为空") + @Min(value = 1, message = "评价等级最低位1星") + @Max(value = 5, message = "评价等级最高5星") + private int evaluateLevel; + + /** + * 评价内容 + */ + @NotNull(message = "评价内容不能为空") + @Length(max = 255, message = "评价内容最多255个字符") + private String evaluateCon; + + /** + * 评价时间 + */ + private Date evaluateTime = new Date(); +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/WxPayReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/WxPayReturnVo.java index 6294992..348b0ee 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/WxPayReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/WxPayReturnVo.java @@ -5,7 +5,7 @@ import lombok.Data; /** * 微信预支付接口返回信息 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/5/8 10:43 **/ @Data diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/service/WxCustomMpService.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/service/WxCustomMpService.java index f144b32..3c4caea 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/service/WxCustomMpService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/service/WxCustomMpService.java @@ -17,6 +17,9 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +/** + * @author admin + */ @Slf4j @Service public class WxCustomMpService { @@ -53,7 +56,9 @@ public class WxCustomMpService { if (entity == null) { throw new CustomException("系统错误,租户ID不能为空"); } - if (StringUtils.isEmpty(entity.getMchId())) throw new CustomException("商户号不能为空,请联系平台方进行配置"); + if (StringUtils.isEmpty(entity.getMchId())) { + throw new CustomException("商户号不能为空,请联系平台方进行配置"); + } WxPayConfig payConfig = new WxPayConfig(); payConfig.setAppId(StringUtils.trimToNull(entity.getAppId())); payConfig.setMchId(StringUtils.trimToNull(entity.getMchId()));