From 6017102b1d6affc7255e9f2df6f9e45e0b1a75fb Mon Sep 17 00:00:00 2001 From: leomon <2233021400@qq.com> Date: Wed, 30 Jul 2025 06:15:51 +0800 Subject: [PATCH] 订单评价 数据库添加字段 --- oying-system/src/main/java/com/oying/modules/message/service/MesOrderEvaluationService.java | 63 oying-system/src/main/resources/mapper/message/MesRiderEvaluationMapper.xml | 86 + oying-system/src/main/java/com/oying/modules/message/mapper/MesCustomerCommentMsgMapper.java | 26 oying-system/src/main/java/com/oying/modules/message/service/MesOrderItemEvaluationService.java | 63 oying-system/src/main/java/com/oying/modules/message/rest/MesAdvertisementController.java | 73 + oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQueryPollDto.java | 76 + oying-system/src/main/java/com/oying/modules/message/mapper/MesAdvertisementMapper.java | 22 oying-system/src/main/java/com/oying/modules/message/rest/MesRiderEvaluationController.java | 90 + oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQuerySystemDto.java | 76 + oying-system/src/main/java/com/oying/modules/message/domain/MesShopReply.java | 60 oying-system/src/main/java/com/oying/modules/message/mapper/MesShopReplyMapper.java | 22 oying-system/src/main/java/com/oying/modules/message/service/MesAdvertisementService.java | 60 oying-system/src/main/java/com/oying/modules/message/service/impl/MesRiderEvaluationServiceImpl.java | 89 + oying-system/src/main/resources/mapper/message/MesMsgRecordMapper.xml | 113 + oying-system/src/main/java/com/oying/modules/message/mapper/MesOrderItemEvaluationMapper.java | 25 oying-system/src/main/java/com/oying/modules/message/rest/MesMsgTemplateController.java | 73 + oying-system/src/main/java/com/oying/modules/message/service/MesMsgRecordService.java | 78 + oying-system/src/main/java/com/oying/modules/message/domain/MesAdvertisement.java | 109 + oying-system/src/main/java/com/oying/modules/message/service/MesMsgTemplateService.java | 60 oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgTemplateServiceImpl.java | 83 + oying-system/src/main/java/com/oying/modules/message/domain/dto/MesCustomerCommentMsgQueryCriteria.java | 18 oying-system/src/main/java/com/oying/modules/message/rest/MesMsgRecordController.java | 172 ++ oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQueryOrderDto.java | 101 + oying-system/src/main/java/com/oying/modules/message/common/MesReadEnum.java | 58 oying-system/src/main/java/com/oying/modules/message/service/MesCustomerCommentMsgService.java | 63 oying-system/src/main/java/com/oying/modules/message/service/impl/MesShopReplyServiceImpl.java | 79 + oying-system/src/main/java/com/oying/modules/message/domain/dto/MesShopMsgRespDTO.java | 15 oying-system/src/main/java/com/oying/modules/message/domain/MesOrderEvaluation.java | 102 + oying-system/src/main/java/com/oying/modules/message/domain/MesMsgTemplate.java | 72 oying-system/src/main/java/com/oying/modules/message/service/impl/MesOrderEvaluationServiceImpl.java | 97 + oying-system/src/main/resources/mapper/message/MesAdvertisementMapper.xml | 41 oying-system/src/main/java/com/oying/modules/message/domain/MesMsgRecord.java | 118 + oying-system/src/main/java/com/oying/modules/message/domain/dto/MesOrderEvaluationQueryCriteria.java | 18 oying-system/src/main/java/com/oying/modules/message/domain/dto/MesRiderEvaluationQueryCriteria.java | 18 oying-system/src/main/java/com/oying/modules/message/mapper/MesMsgRecordMapper.java | 39 oying-system/src/main/java/com/oying/modules/message/domain/dto/MesAdvertisementQueryCriteria.java | 18 oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesCustomerCommentMsgDTO.java | 81 + oying-system/src/main/java/com/oying/modules/message/mapper/MesMsgTemplateMapper.java | 22 oying-system/src/main/java/com/oying/modules/message/rest/MesOrderItemEvaluationController.java | 90 + oying-system/src/main/resources/mapper/message/MesCustomerCommentMsgMapper.xml | 50 oying-system/src/main/java/com/oying/modules/message/domain/MesCustomerCommentMsg.java | 95 + oying-system/src/main/java/com/oying/modules/message/domain/dto/MesShopReplyQueryCriteria.java | 18 oying-system/src/main/java/com/oying/modules/message/service/impl/MesCustomerCommentMsgServiceImpl.java | 89 + oying-system/src/main/java/com/oying/modules/message/service/impl/MesAdvertisementServiceImpl.java | 93 + oying-system/src/main/java/com/oying/modules/message/mapper/MesOrderEvaluationMapper.java | 26 oying-system/src/main/java/com/oying/modules/message/common/BizTypeEnum.java | 58 oying-system/src/main/java/com/oying/modules/message/domain/dto/MesMsgRecordQueryCriteria.java | 18 oying-system/src/main/java/com/oying/modules/message/common/OrderStatusEnum.java | 1 oying-system/src/main/java/com/oying/modules/message/domain/MesOrderItemEvaluation.java | 78 + oying-system/src/main/java/com/oying/modules/message/mapper/MesRiderEvaluationMapper.java | 26 oying-system/src/main/java/com/oying/modules/message/rest/MesCustomerCommentMsgController.java | 90 + oying-system/src/main/resources/mapper/message/MesMsgTemplateMapper.xml | 30 oying-system/src/main/resources/mapper/message/MesOrderItemEvaluationMapper.xml | 88 + oying-system/src/main/java/com/oying/modules/message/rest/MesShopReplyController.java | 73 + oying-system/src/main/java/com/oying/modules/message/common/MesTypeEnum.java | 59 oying-system/src/main/java/com/oying/modules/message/service/MesShopReplyService.java | 60 oying-system/src/main/java/com/oying/modules/message/service/MesRiderEvaluationService.java | 63 oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesRiderEvaluationDto.java | 50 oying-system/src/main/resources/mapper/message/MesOrderEvaluationMapper.xml | 71 oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgRecordServiceImpl.java | 132 + oying-system/src/main/resources/mapper/message/MesShopReplyMapper.xml | 27 oying-system/src/main/java/com/oying/modules/message/service/impl/MesOrderItemEvaluationServiceImpl.java | 90 + oying-system/src/main/java/com/oying/modules/message/domain/dto/MesOrderItemEvaluationQueryCriteria.java | 18 oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesOrderEvaluationDto.java | 54 oying-system/src/main/java/com/oying/modules/message/domain/MesRiderEvaluation.java | 80 + oying-system/src/main/java/com/oying/modules/message/domain/dto/MesMsgTemplateQueryCriteria.java | 18 oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesOrderItemEvaluationDto.java | 78 + oying-system/src/main/java/com/oying/modules/message/rest/MesOrderEvaluationController.java | 90 + oying-system/src/main/java/com/oying/modules/message/common/PlatFormEnum.java | 59 69 files changed, 4,351 insertions(+), 0 deletions(-) diff --git a/oying-system/src/main/java/com/oying/modules/message/common/BizTypeEnum.java b/oying-system/src/main/java/com/oying/modules/message/common/BizTypeEnum.java new file mode 100644 index 0000000..d2f32e4 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/common/BizTypeEnum.java @@ -0,0 +1,58 @@ +package com.oying.modules.message.common; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum BizTypeEnum { + //业务类型 ORDER EVALUATION + ORDER("ORDER", "订单业务"), + EVALUATION("EVALUATION", "评价业务"); + + private final String key; + private final String value; + + /** + * 根据key获取枚举实例 + * @param key key值 + * @return 对应的枚举实例,未找到返回null + */ + public static BizTypeEnum getByKey(String key) { + if (key == null) { + return null; + } + for (BizTypeEnum typeEnum : BizTypeEnum.values()) { + if (typeEnum.key.equals(key)) { + return typeEnum; + } + } + return null; + } + + /** + * 根据value获取枚举实例 + * @param value value值 + * @return 对应的枚举实例,未找到返回null + */ + public static BizTypeEnum getByValue(String value) { + if (value == null) { + return null; + } + for (BizTypeEnum typeEnum : BizTypeEnum.values()) { + if (typeEnum.value.equals(value)) { + return typeEnum; + } + } + return null; + } + + @Override + public String toString() { + return "BizTypeEnum{" + + "key='" + key + '\'' + + ", value='" + value + '\'' + + ", name='" + this.name() + '\'' + + '}'; + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/common/MesReadEnum.java b/oying-system/src/main/java/com/oying/modules/message/common/MesReadEnum.java new file mode 100644 index 0000000..0695c88 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/common/MesReadEnum.java @@ -0,0 +1,58 @@ +package com.oying.modules.message.common; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum MesReadEnum { + // 0=未读 1=已读 + UNREAD(0, "未读"), + READ(1, "已读"); + + private final Integer key; + private final String value; + + /** + * 根据key获取枚举实例 + * @param key key值 + * @return 对应的枚举实例,未找到返回null + */ + public static MesReadEnum getByKey(Integer key) { + if (key == null) { + return null; + } + for (MesReadEnum readEnum : MesReadEnum.values()) { + if (readEnum.key.equals(key)) { + return readEnum; + } + } + return null; + } + + /** + * 根据value获取枚举实例 + * @param value value值 + * @return 对应的枚举实例,未找到返回null + */ + public static MesReadEnum getByValue(String value) { + if (value == null) { + return null; + } + for (MesReadEnum readEnum : MesReadEnum.values()) { + if (readEnum.value.equals(value)) { + return readEnum; + } + } + return null; + } + + @Override + public String toString() { + return "MesReadEnum{" + + "key=" + key + + ", value='" + value + '\'' + + ", name='" + this.name() + '\'' + + '}'; + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/common/MesTypeEnum.java b/oying-system/src/main/java/com/oying/modules/message/common/MesTypeEnum.java new file mode 100644 index 0000000..fcf6782 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/common/MesTypeEnum.java @@ -0,0 +1,59 @@ +package com.oying.modules.message.common; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum MesTypeEnum { + //1=系统 2=订单 3=评价/留言 + SYSTEM(1, "系统"), + ORDER(2, "订单"), + COMMENT(3, "评价/留言"); + + private final Integer key; + private final String value; + + /** + * 根据key获取枚举实例 + * @param key key值 + * @return 对应的枚举实例,未找到返回null + */ + public static MesTypeEnum getByKey(Integer key) { + if (key == null) { + return null; + } + for (MesTypeEnum typeEnum : MesTypeEnum.values()) { + if (typeEnum.key.equals(key)) { + return typeEnum; + } + } + return null; + } + + /** + * 根据value获取枚举实例 + * @param value value值 + * @return 对应的枚举实例,未找到返回null + */ + public static MesTypeEnum getByValue(String value) { + if (value == null) { + return null; + } + for (MesTypeEnum typeEnum : MesTypeEnum.values()) { + if (typeEnum.value.equals(value)) { + return typeEnum; + } + } + return null; + } + + @Override + public String toString() { + return "MesTypeEnum{" + + "key=" + key + + ", value='" + value + '\'' + + ", name='" + this.name() + '\'' + + '}'; + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/common/OrderStatusEnum.java b/oying-system/src/main/java/com/oying/modules/message/common/OrderStatusEnum.java index ea390f5..ac02a02 100644 --- a/oying-system/src/main/java/com/oying/modules/message/common/OrderStatusEnum.java +++ b/oying-system/src/main/java/com/oying/modules/message/common/OrderStatusEnum.java @@ -17,6 +17,7 @@ @Getter @AllArgsConstructor public enum OrderStatusEnum { + //订单消息 通知状态 用于插入 ZERO(0, "订单已提交"), ONE(1, "支付成功"), diff --git a/oying-system/src/main/java/com/oying/modules/message/common/PlatFormEnum.java b/oying-system/src/main/java/com/oying/modules/message/common/PlatFormEnum.java new file mode 100644 index 0000000..384d0be --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/common/PlatFormEnum.java @@ -0,0 +1,59 @@ +package com.oying.modules.message.common; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum PlatFormEnum { + //1=买家 2=商户 3=骑手" + BUYER(1, "买家"), + MERCHANT(2, "商户"), + RIDE(3, "骑手"); + + private final Integer key; + private final String value; + + /** + * 根据key获取枚举实例 + * @param key key值 + * @return 对应的枚举实例,未找到返回null + */ + public static PlatFormEnum getByKey(Integer key) { + if (key == null) { + return null; + } + for (PlatFormEnum platFormEnum : PlatFormEnum.values()) { + if (platFormEnum.key.equals(key)) { + return platFormEnum; + } + } + return null; + } + + /** + * 根据value获取枚举实例 + * @param value value值 + * @return 对应的枚举实例,未找到返回null + */ + public static PlatFormEnum getByValue(String value) { + if (value == null) { + return null; + } + for (PlatFormEnum platFormEnum : PlatFormEnum.values()) { + if (platFormEnum.value.equals(value)) { + return platFormEnum; + } + } + return null; + } + + @Override + public String toString() { + return "PlatFormEnum{" + + "key=" + key + + ", value='" + value + '\'' + + ", name='" + this.name() + '\'' + + '}'; + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MesAdvertisement.java b/oying-system/src/main/java/com/oying/modules/message/domain/MesAdvertisement.java new file mode 100644 index 0000000..b8648ba --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MesAdvertisement.java @@ -0,0 +1,109 @@ +package com.oying.modules.message.domain; + +import com.oying.base.BaseEntity; +import lombok.Data; +import cn.hutool.core.bean.BeanUtil; +import io.swagger.annotations.ApiModelProperty; +import cn.hutool.core.bean.copier.CopyOptions; +import java.sql.Timestamp; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** +* @description / +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +@TableName("mes_advertisement") +public class MesAdvertisement extends BaseEntity implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "广告ID") + private Long id; + + @NotBlank + @ApiModelProperty(value = "广告标题") + private String title; + + @ApiModelProperty(value = "副标题/简介") + private String subTitle; + + @ApiModelProperty(value = "广告正文(支持富文本)") + private String content; + + @ApiModelProperty(value = "封面图URL") + private String coverImg; + + @ApiModelProperty(value = "Banner图URL(冗余)") + private String bannerImg; + + @NotNull + @ApiModelProperty(value = "投放渠道 1小程序 2APP 3全平台") + private Integer platform; + + @NotNull + @ApiModelProperty(value = "跳转类型 1内部 2外部") + private Integer jumpType; + + @ApiModelProperty(value = "跳转地址(内部路径或外部链接)") + private String jumpUrl; + + @ApiModelProperty(value = "跳转携带参数(JSON)") + private String jumpParams; + + @NotNull + @ApiModelProperty(value = "排序值 越大越前") + private Integer sortOrder; + + @NotNull + @ApiModelProperty(value = "是否置顶 0否 1是") + private Integer isTop; + + @NotNull + @ApiModelProperty(value = "状态 1启用 2禁用") + private Integer status; + + @NotNull + @ApiModelProperty(value = "公告开始时间") + private Timestamp effectiveTime; + + @NotNull + @ApiModelProperty(value = "公告结束时间") + private Timestamp expireTime; + + @NotNull + @ApiModelProperty(value = "点击次数(冗余)") + private Long clickCount; + + @NotNull + @ApiModelProperty(value = "展示次数(冗余)") + private Long showCount; + + @ApiModelProperty(value = "备注") + private String remark; + + @NotBlank + @ApiModelProperty(value = "createBy") + private String createBy; + + @NotNull + @ApiModelProperty(value = "createTime") + private Timestamp createTime; + + @NotBlank + @ApiModelProperty(value = "updateBy") + private String updateBy; + + @NotNull + @ApiModelProperty(value = "updateTime") + private Timestamp updateTime; + + public void copy(MesAdvertisement source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MesCustomerCommentMsg.java b/oying-system/src/main/java/com/oying/modules/message/domain/MesCustomerCommentMsg.java new file mode 100644 index 0000000..551f3c2 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MesCustomerCommentMsg.java @@ -0,0 +1,95 @@ +package com.oying.modules.message.domain; + +import com.oying.base.BaseEntity; +import lombok.Data; +import cn.hutool.core.bean.BeanUtil; +import io.swagger.annotations.ApiModelProperty; +import cn.hutool.core.bean.copier.CopyOptions; +import java.sql.Timestamp; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** +* @description / +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +@TableName("mes_customer_comment_msg") +public class MesCustomerCommentMsg extends BaseEntity implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long id; + + @NotNull + @ApiModelProperty(value = "对应 mes_msg_record.id") + private Long msgRecordId; + + @NotNull + @ApiModelProperty(value = "店铺ID") + private Long shopId; + + @NotNull + @ApiModelProperty(value = "订单ID") + private Long orderId; + + @NotBlank + @ApiModelProperty(value = "订单编号 冗余") + private String orderNo; + + @NotBlank + @ApiModelProperty(value = "买家用户ID") + private String buyerId; + + @ApiModelProperty(value = "买家昵称 冗余") + private String buyerName; + + @NotNull + @ApiModelProperty(value = "评价ID 冗余") + private Long evaluationId; + + @NotNull + @ApiModelProperty(value = "商户是否已回复 0=未回复 1=已回复") + private Integer replied; + + @NotBlank + @ApiModelProperty(value = "创建人") + private String createBy; + + @NotNull + @ApiModelProperty(value = "创建时间") + private Timestamp createTime; + + @NotBlank + @ApiModelProperty(value = "更新人") + private String updateBy; + + @NotNull + @ApiModelProperty(value = "更新时间") + private Timestamp updateTime; + + @NotNull + @ApiModelProperty(value = "顾客留言时间(即评价产生时间)") + private Timestamp commentTime; + + @ApiModelProperty(value = "顾客留言内容(评价原文)") + private String commentContent; + + @ApiModelProperty(value = "商家回复内容") + private String replyContent; + + @ApiModelProperty(value = "外部跳转链接(完整 http/https)") + private String extJumpUrl; + + @ApiModelProperty(value = "内部小程序/APP 路由路径") + private String intJumpPath; + + public void copy(MesCustomerCommentMsg source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MesMsgRecord.java b/oying-system/src/main/java/com/oying/modules/message/domain/MesMsgRecord.java new file mode 100644 index 0000000..31436bf --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MesMsgRecord.java @@ -0,0 +1,118 @@ +package com.oying.modules.message.domain; + +import com.oying.base.BaseEntity; +import com.oying.modules.message.common.MesTypeEnum; +import lombok.Data; +import cn.hutool.core.bean.BeanUtil; +import io.swagger.annotations.ApiModelProperty; +import cn.hutool.core.bean.copier.CopyOptions; +import java.sql.Timestamp; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** +* @description / +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +@TableName("mes_msg_record") +public class MesMsgRecord extends BaseEntity implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long id; + + @ApiModelProperty(value = "模板ID 可无") + private Integer templateId; + + @NotBlank + @ApiModelProperty(value = "接收人ID") + private String receiverId; + + @NotNull + @ApiModelProperty(value = "1=买家 2=商户 3=骑手") + private Integer platform; + + @NotNull + @ApiModelProperty(value = "同模板type") + private Integer msgType; +// @NotNull +// @ApiModelProperty(value = "同模板type") +// private MesTypeEnum msgType; + + + @NotBlank + @ApiModelProperty(value = "最终标题") + private String title; + + @NotBlank + @ApiModelProperty(value = "最终内容") + private String content; + + @ApiModelProperty(value = "业务ID 例如订单ID") + private Long bizId; + + @ApiModelProperty(value = "业务类型 ORDER/EVALUATION 等") + private String bizType; + + @NotNull + @ApiModelProperty(value = "已读 0=未读 1=已读") + private Integer isRead; + + @ApiModelProperty(value = "阅读时间") + private Timestamp readTime; + + @ApiModelProperty(value = "扩展字段 存跳转链接等") + private String extra; + + @NotBlank + @ApiModelProperty(value = "创建人") + private String createBy; + + @NotNull + @ApiModelProperty(value = "创建时间") + private Timestamp createTime; + + @NotBlank + @ApiModelProperty(value = "更新人") + private String updateBy; + + @NotNull + @ApiModelProperty(value = "更新时间") + private Timestamp updateTime; + // 新增字段 + @NotNull + @ApiModelProperty(value = "订单ID") + private Long orderId; + + @NotBlank + @ApiModelProperty(value = "买家用户ID") + private String buyerId; + + @NotBlank + @ApiModelProperty(value = "订单编号 冗余字段") + private String orderNo; + + @NotNull + @ApiModelProperty(value = "店铺ID 冗余字段") + private Long shopId; + + @NotBlank + @ApiModelProperty(value = "店铺名称 冗余字段") + private String shopName; + + @ApiModelProperty(value = "骑手ID") + private Long riderId; + + @ApiModelProperty(value = "骑手姓名 冗余字段") + private String riderName; + + public void copy(MesMsgRecord source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MesMsgTemplate.java b/oying-system/src/main/java/com/oying/modules/message/domain/MesMsgTemplate.java new file mode 100644 index 0000000..80ef607 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MesMsgTemplate.java @@ -0,0 +1,72 @@ +package com.oying.modules.message.domain; + +import com.oying.base.BaseEntity; +import lombok.Data; +import cn.hutool.core.bean.BeanUtil; +import io.swagger.annotations.ApiModelProperty; +import cn.hutool.core.bean.copier.CopyOptions; +import java.sql.Timestamp; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** +* @description / +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +@TableName("mes_msg_template") +public class MesMsgTemplate extends BaseEntity implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Integer id; + + @NotBlank + @ApiModelProperty(value = "模板编码") + private String code; + + @NotBlank + @ApiModelProperty(value = "模板名称") + private String name; + + @NotBlank + @ApiModelProperty(value = "标题模板 支持占位符") + private String titleTpl; + + @NotBlank + @ApiModelProperty(value = "内容模板 支持占位符") + private String contentTpl; + + @NotNull + @ApiModelProperty(value = "1=系统 2=订单 3=评价/留言") + private Integer type; + + @NotNull + @ApiModelProperty(value = "1=买家 2=商户 3=骑手") + private Integer platform; + + @NotBlank + @ApiModelProperty(value = "创建人") + private String createBy; + + @NotNull + @ApiModelProperty(value = "创建时间") + private Timestamp createTime; + + @NotBlank + @ApiModelProperty(value = "更新人") + private String updateBy; + + @NotNull + @ApiModelProperty(value = "更新时间") + private Timestamp updateTime; + + public void copy(MesMsgTemplate source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MesOrderEvaluation.java b/oying-system/src/main/java/com/oying/modules/message/domain/MesOrderEvaluation.java new file mode 100644 index 0000000..c14dbb5 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MesOrderEvaluation.java @@ -0,0 +1,102 @@ +package com.oying.modules.message.domain; + +import com.oying.base.BaseEntity; +import lombok.Data; +import cn.hutool.core.bean.BeanUtil; +import io.swagger.annotations.ApiModelProperty; +import cn.hutool.core.bean.copier.CopyOptions; +import java.sql.Timestamp; +import java.math.BigDecimal; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** +* @description / +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +@TableName("mes_order_evaluation") +public class MesOrderEvaluation extends BaseEntity implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long id; + + @NotNull + @ApiModelProperty(value = "订单ID") + private Long orderId; + + @NotBlank + @ApiModelProperty(value = "买家用户ID") + private String buyerId; + + @NotBlank + @ApiModelProperty(value = "订单编号 冗余字段") + private String orderNo; + + @NotNull + @ApiModelProperty(value = "店铺ID 冗余字段") + private Long shopId; + + @NotBlank + @ApiModelProperty(value = "店铺名称 冗余字段") + private String shopName; + + @ApiModelProperty(value = "骑手ID") + private Long riderId; + + @ApiModelProperty(value = "骑手姓名 冗余字段") + private String riderName; + + @NotNull + @ApiModelProperty(value = "商品评分 0-5,支持半星") + private BigDecimal goodsScore; + + @ApiModelProperty(value = "商品评价内容") + private String goodsContent; + + @ApiModelProperty(value = "商品评价图片 最多5张 存JSON数组") + private String goodsImgs; + + @NotNull + @ApiModelProperty(value = "店铺服务评分") + private BigDecimal shopScore; + + @ApiModelProperty(value = "店铺服务评价内容") + private String shopContent; + + @ApiModelProperty(value = "骑手服务评分") + private BigDecimal riderScore; + + @ApiModelProperty(value = "骑手服务评价内容") + private String riderContent; + + @NotNull + @ApiModelProperty(value = "买家删除评价 0=正常 1=已删除") + private Integer isDeleted; + + @NotBlank + @ApiModelProperty(value = "创建人") + private String createBy; + + @NotNull + @ApiModelProperty(value = "创建时间") + private Timestamp createTime; + + @NotBlank + @ApiModelProperty(value = "更新人") + private String updateBy; + + @NotNull + @ApiModelProperty(value = "更新时间") + private Timestamp updateTime; + + public void copy(MesOrderEvaluation source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MesOrderItemEvaluation.java b/oying-system/src/main/java/com/oying/modules/message/domain/MesOrderItemEvaluation.java new file mode 100644 index 0000000..319c1d9 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MesOrderItemEvaluation.java @@ -0,0 +1,78 @@ +package com.oying.modules.message.domain; + +import com.oying.base.BaseEntity; +import lombok.Data; +import cn.hutool.core.bean.BeanUtil; +import io.swagger.annotations.ApiModelProperty; +import cn.hutool.core.bean.copier.CopyOptions; +import java.sql.Timestamp; +import java.math.BigDecimal; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** +* @description / +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +@TableName("mes_order_item_evaluation") +public class MesOrderItemEvaluation extends BaseEntity implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long id; + + @NotNull + @ApiModelProperty(value = "对应 mes_order_evaluation.id") + private Long orderEvalId; + + @NotNull + @ApiModelProperty(value = "订单明细ID") + private Long orderItemId; + + @NotNull + @ApiModelProperty(value = "商品ID") + private Long goodsId; + + @NotBlank + @ApiModelProperty(value = "商品名称 冗余") + private String goodsName; + + @ApiModelProperty(value = "商品主图 冗余") + private String goodsPic; + + @NotNull + @ApiModelProperty(value = "商品单项评分") + private BigDecimal score; + + @ApiModelProperty(value = "评价内容") + private String content; + + @ApiModelProperty(value = "评价图片JSON 最多5张") + private String imgs; + + @NotBlank + @ApiModelProperty(value = "创建人") + private String createBy; + + @NotNull + @ApiModelProperty(value = "创建时间") + private Timestamp createTime; + + @NotBlank + @ApiModelProperty(value = "更新人") + private String updateBy; + + @NotNull + @ApiModelProperty(value = "更新时间") + private Timestamp updateTime; + + public void copy(MesOrderItemEvaluation source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MesRiderEvaluation.java b/oying-system/src/main/java/com/oying/modules/message/domain/MesRiderEvaluation.java new file mode 100644 index 0000000..69a64bf --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MesRiderEvaluation.java @@ -0,0 +1,80 @@ +package com.oying.modules.message.domain; + +import com.oying.base.BaseEntity; +import lombok.Data; +import cn.hutool.core.bean.BeanUtil; +import io.swagger.annotations.ApiModelProperty; +import cn.hutool.core.bean.copier.CopyOptions; +import java.sql.Timestamp; +import java.math.BigDecimal; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** +* @description / +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +@TableName("mes_rider_evaluation") +public class MesRiderEvaluation extends BaseEntity implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long id; + + @NotNull + @ApiModelProperty(value = "订单ID") + private Long orderId; + + @NotBlank + @ApiModelProperty(value = "订单编号 冗余") + private String orderNo; + + @NotNull + @ApiModelProperty(value = "骑手ID") + private Long riderId; + + @NotBlank + @ApiModelProperty(value = "骑手姓名 冗余") + private String riderName; + + @NotBlank + @ApiModelProperty(value = "买家用户ID") + private String buyerId; + + @NotNull + @ApiModelProperty(value = "骑手服务评分") + private BigDecimal score; + + @ApiModelProperty(value = "评价内容") + private String content; + + @NotBlank + @ApiModelProperty(value = "创建人") + private String createBy; + + @NotNull + @ApiModelProperty(value = "创建时间") + private Timestamp createTime; + + @NotBlank + @ApiModelProperty(value = "更新人") + private String updateBy; + + @NotNull + @ApiModelProperty(value = "更新时间") + private Timestamp updateTime; + + @ApiModelProperty(value = "评价图片JSON 最多5张") + private String imgs; + + + public void copy(MesRiderEvaluation source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MesShopReply.java b/oying-system/src/main/java/com/oying/modules/message/domain/MesShopReply.java new file mode 100644 index 0000000..6f6dddc --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MesShopReply.java @@ -0,0 +1,60 @@ +package com.oying.modules.message.domain; + +import com.oying.base.BaseEntity; +import lombok.Data; +import cn.hutool.core.bean.BeanUtil; +import io.swagger.annotations.ApiModelProperty; +import cn.hutool.core.bean.copier.CopyOptions; +import java.sql.Timestamp; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** +* @description / +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +@TableName("mes_shop_reply") +public class MesShopReply extends BaseEntity implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long id; + + @NotNull + @ApiModelProperty(value = "mes_order_evaluation.id") + private Long evaluationId; + + @NotNull + @ApiModelProperty(value = "1=商品评价回复 2=店铺服务评价回复") + private Integer replyType; + + @NotBlank + @ApiModelProperty(value = "回复内容") + private String content; + + @NotBlank + @ApiModelProperty(value = "商户ID") + private String createBy; + + @NotNull + @ApiModelProperty(value = "创建时间") + private Timestamp createTime; + + @NotBlank + @ApiModelProperty(value = "更新人") + private String updateBy; + + @NotNull + @ApiModelProperty(value = "更新时间") + private Timestamp updateTime; + + public void copy(MesShopReply source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesAdvertisementQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesAdvertisementQueryCriteria.java new file mode 100644 index 0000000..0c6c906 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesAdvertisementQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +public class MesAdvertisementQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesCustomerCommentMsgQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesCustomerCommentMsgQueryCriteria.java new file mode 100644 index 0000000..3bb1cab --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesCustomerCommentMsgQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +public class MesCustomerCommentMsgQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesMsgRecordQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesMsgRecordQueryCriteria.java new file mode 100644 index 0000000..0846a71 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesMsgRecordQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +public class MesMsgRecordQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesMsgTemplateQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesMsgTemplateQueryCriteria.java new file mode 100644 index 0000000..e4f2a77 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesMsgTemplateQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +public class MesMsgTemplateQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesOrderEvaluationQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesOrderEvaluationQueryCriteria.java new file mode 100644 index 0000000..81b4dd3 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesOrderEvaluationQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +public class MesOrderEvaluationQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesOrderItemEvaluationQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesOrderItemEvaluationQueryCriteria.java new file mode 100644 index 0000000..877cf66 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesOrderItemEvaluationQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +public class MesOrderItemEvaluationQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesRiderEvaluationQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesRiderEvaluationQueryCriteria.java new file mode 100644 index 0000000..7017726 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesRiderEvaluationQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +public class MesRiderEvaluationQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesShopMsgRespDTO.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesShopMsgRespDTO.java new file mode 100644 index 0000000..506504b --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesShopMsgRespDTO.java @@ -0,0 +1,15 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; + +import java.time.LocalDateTime; +@Data +public class MesShopMsgRespDTO { + private Long msgId; + private String title; + private String content; + private LocalDateTime createTime; + private Long bizId; + private String bizType; + private Boolean read; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesShopReplyQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesShopReplyQueryCriteria.java new file mode 100644 index 0000000..15795db --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MesShopReplyQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Data +public class MesShopReplyQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesCustomerCommentMsgDTO.java b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesCustomerCommentMsgDTO.java new file mode 100644 index 0000000..ad39b89 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesCustomerCommentMsgDTO.java @@ -0,0 +1,81 @@ +package com.oying.modules.message.domain.myDto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.sql.Timestamp; +@Data +@TableName("mes_customer_comment_msg") +public class MesCustomerCommentMsgDTO { + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long id; + +// @NotNull +// @ApiModelProperty(value = "对应 mes_msg_record.id") +// private Long msgRecordId; + + @NotNull + @ApiModelProperty(value = "店铺ID") + private Long shopId; +//一个订单多个评价,一个评价多个留言,一个留言一个回复 +// @NotNull +// @ApiModelProperty(value = "订单ID") +// private Long orderId; + + @NotBlank + @ApiModelProperty(value = "订单编号 冗余") + private String orderNo; + + @NotBlank + @ApiModelProperty(value = "买家用户ID") + private String buyerId; + + @ApiModelProperty(value = "买家昵称 冗余") + private String buyerName; +// +// @NotNull +// @ApiModelProperty(value = "评价ID 冗余") +// private Long evaluationId; + + @NotNull + @ApiModelProperty(value = "商户是否已回复 0=未回复 1=已回复") + private Integer replied; + +// @NotBlank +// @ApiModelProperty(value = "创建人") +// private String createBy; +// +// @NotNull +// @ApiModelProperty(value = "创建时间") +// private Timestamp createTime; +// +// @NotBlank +// @ApiModelProperty(value = "更新人") +// private String updateBy; +// +// @NotNull +// @ApiModelProperty(value = "更新时间") +// private Timestamp updateTime; + + @NotNull + @ApiModelProperty(value = "顾客留言时间(即评价产生时间)") + private Timestamp commentTime; + + @ApiModelProperty(value = "顾客留言内容(评价原文)") + private String commentContent; + + @ApiModelProperty(value = "商家回复内容") + private String replyContent; + +// @ApiModelProperty(value = "外部跳转链接(完整 http/https)") +// private String extJumpUrl; +// +// @ApiModelProperty(value = "内部小程序/APP 路由路径") +// private String intJumpPath; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQueryOrderDto.java b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQueryOrderDto.java new file mode 100644 index 0000000..dbe33ba --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQueryOrderDto.java @@ -0,0 +1,101 @@ +package com.oying.modules.message.domain.myDto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + + +@Data +@TableName("mes_msg_record") // 指定对应的表名 +public class MesMsgRecordQueryOrderDto { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long id; + +// @ApiModelProperty(value = "模板ID 可无") +// private Integer templateId; +// +// @NotBlank +// @ApiModelProperty(value = "接收人ID") +// private String receiverId; +// +// @NotNull +// @ApiModelProperty(value = "1=买家 2=商户 3=骑手") +// private Integer platform; +// +// @NotNull +// @ApiModelProperty(value = "同模板type") +// private Integer msgType; + +// @NotBlank +// @ApiModelProperty(value = "最终标题") +// private String title; + + @NotBlank + @ApiModelProperty(value = "最终内容") + private String content; + + // @ApiModelProperty(value = "业务ID 例如订单ID") +// private Long bizId; +// +// @ApiModelProperty(value = "业务类型 ORDER/EVALUATION 等") +// private String bizType; + // +// @NotNull +// @ApiModelProperty(value = "已读 0=未读 1=已读") +// private Integer isRead; +// +// @ApiModelProperty(value = "阅读时间") +// private Timestamp readTime; +// +// @ApiModelProperty(value = "扩展字段 存跳转链接等") +// private String extra; +// +// @NotBlank +// @ApiModelProperty(value = "创建人") +// private String createBy; +// +// @NotNull +// @ApiModelProperty(value = "创建时间") +// private Timestamp createTime; +// +// @NotBlank +// @ApiModelProperty(value = "更新人") +// private String updateBy; +// +// @NotNull +// @ApiModelProperty(value = "更新时间") +// private Timestamp updateTime; +// 新增字段 +// @NotNull +// @ApiModelProperty(value = "订单ID") +// private Long orderId; + +// @NotBlank +// @ApiModelProperty(value = "买家用户ID") +// private String buyerId; +// + @NotBlank + @ApiModelProperty(value = "订单编号 冗余字段") + private String orderNo; +// +// @NotNull +// @ApiModelProperty(value = "店铺ID 冗余字段") +// private Long shopId; +// +// @NotBlank +// @ApiModelProperty(value = "店铺名称 冗余字段") +// private String shopName; +// +// @ApiModelProperty(value = "骑手ID") +// private Long riderId; +// +// @ApiModelProperty(value = "骑手姓名 冗余字段") +// private String riderName; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQueryPollDto.java b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQueryPollDto.java new file mode 100644 index 0000000..8b04e54 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQueryPollDto.java @@ -0,0 +1,76 @@ +package com.oying.modules.message.domain.myDto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.sql.Timestamp; + +@Data +@TableName("mes_msg_record") // 指定对应的表名 +public class MesMsgRecordQueryPollDto{ + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long id; + +// @ApiModelProperty(value = "模板ID 可无") +// private Integer templateId; +// +// @NotBlank +// @ApiModelProperty(value = "接收人ID") +// private String receiverId; +// +// @NotNull +// @ApiModelProperty(value = "1=买家 2=商户 3=骑手") +// private Integer platform; +// +// @NotNull +// @ApiModelProperty(value = "同模板type") +// private Integer msgType; + + @NotBlank + @ApiModelProperty(value = "最终标题") + private String title; + + @NotBlank + @ApiModelProperty(value = "最终内容") + private String content; + +// @ApiModelProperty(value = "业务ID 例如订单ID") +// private Long bizId; +// +// @ApiModelProperty(value = "业务类型 ORDER/EVALUATION 等") +// private String bizType; +// +// @NotNull +// @ApiModelProperty(value = "已读 0=未读 1=已读") +// private Integer isRead; +// +// @ApiModelProperty(value = "阅读时间") +// private Timestamp readTime; +// +// @ApiModelProperty(value = "扩展字段 存跳转链接等") +// private String extra; +// +// @NotBlank +// @ApiModelProperty(value = "创建人") +// private String createBy; +// +// @NotNull +// @ApiModelProperty(value = "创建时间") +// private Timestamp createTime; +// +// @NotBlank +// @ApiModelProperty(value = "更新人") +// private String updateBy; +// +// @NotNull +// @ApiModelProperty(value = "更新时间") +// private Timestamp updateTime; + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQuerySystemDto.java b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQuerySystemDto.java new file mode 100644 index 0000000..4c62b74 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesMsgRecordQuerySystemDto.java @@ -0,0 +1,76 @@ +package com.oying.modules.message.domain.myDto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.sql.Timestamp; + +@Data +@TableName("mes_msg_record") // 指定对应的表名 +public class MesMsgRecordQuerySystemDto{ + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long id; + +// @ApiModelProperty(value = "模板ID 可无") +// private Integer templateId; +// +// @NotBlank +// @ApiModelProperty(value = "接收人ID") +// private String receiverId; +// +// @NotNull +// @ApiModelProperty(value = "1=买家 2=商户 3=骑手") +// private Integer platform; +// +// @NotNull +// @ApiModelProperty(value = "同模板type") +// private Integer msgType; + + @NotBlank + @ApiModelProperty(value = "最终标题") + private String title; + + @NotBlank + @ApiModelProperty(value = "最终内容") + private String content; + +// @ApiModelProperty(value = "业务ID 例如订单ID") +// private Long bizId; +// +// @ApiModelProperty(value = "业务类型 ORDER/EVALUATION 等") +// private String bizType; +// +// @NotNull +// @ApiModelProperty(value = "已读 0=未读 1=已读") +// private Integer isRead; +// +// @ApiModelProperty(value = "阅读时间") +// private Timestamp readTime; +// +// @ApiModelProperty(value = "扩展字段 存跳转链接等") +// private String extra; +// +// @NotBlank +// @ApiModelProperty(value = "创建人") +// private String createBy; +// +// @NotNull +// @ApiModelProperty(value = "创建时间") +// private Timestamp createTime; +// +// @NotBlank +// @ApiModelProperty(value = "更新人") +// private String updateBy; +// +// @NotNull +// @ApiModelProperty(value = "更新时间") +// private Timestamp updateTime; + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesOrderEvaluationDto.java b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesOrderEvaluationDto.java new file mode 100644 index 0000000..d6adda3 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesOrderEvaluationDto.java @@ -0,0 +1,54 @@ +package com.oying.modules.message.domain.myDto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.sql.Timestamp; + +@Data +public class MesOrderEvaluationDto { + +// @TableId(value = "id", type = IdType.AUTO) +// @ApiModelProperty(value = "主键") +// private Long id; + + + @NotNull + @ApiModelProperty(value = "店铺ID 冗余字段") + private Long shopId; + + @NotBlank + @ApiModelProperty(value = "店铺名称 冗余字段") + private String shopName; + + @NotNull + @ApiModelProperty(value = "店铺服务评分") + private BigDecimal shopScore; + + @ApiModelProperty(value = "店铺服务评价内容") + private String shopContent; + + +// +// @NotBlank +// @ApiModelProperty(value = "创建人") +// private String createBy; +// +// @NotNull +// @ApiModelProperty(value = "创建时间") +// private Timestamp createTime; +// +// @NotBlank +// @ApiModelProperty(value = "更新人") +// private String updateBy; +// +// @NotNull +// @ApiModelProperty(value = "更新时间") +// private Timestamp updateTime; + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesOrderItemEvaluationDto.java b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesOrderItemEvaluationDto.java new file mode 100644 index 0000000..8553750 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesOrderItemEvaluationDto.java @@ -0,0 +1,78 @@ +package com.oying.modules.message.domain; + +import com.oying.base.BaseEntity; +import lombok.Data; +import cn.hutool.core.bean.BeanUtil; +import io.swagger.annotations.ApiModelProperty; +import cn.hutool.core.bean.copier.CopyOptions; +import java.sql.Timestamp; +import java.math.BigDecimal; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** + * @description / + * @author 李萌 + * @date 2025-07-25 + **/ +@Data +@TableName("mes_order_item_evaluation") +public class MesOrderItemEvaluationDto { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long id; + + @NotNull + @ApiModelProperty(value = "对应 mes_order_evaluation.id") + private Long orderEvalId; + + @NotNull + @ApiModelProperty(value = "订单明细ID") + private Long orderItemId; + + @NotNull + @ApiModelProperty(value = "商品ID") + private Long goodsId; + + @NotBlank + @ApiModelProperty(value = "商品名称 冗余") + private String goodsName; + + @ApiModelProperty(value = "商品主图 冗余") + private String goodsPic; + + @NotNull + @ApiModelProperty(value = "商品单项评分") + private BigDecimal score; + + @ApiModelProperty(value = "评价内容") + private String content; + + @ApiModelProperty(value = "评价图片JSON 最多5张") + private String imgs; + +// @NotBlank +// @ApiModelProperty(value = "创建人") +// private String createBy; +// +// @NotNull +// @ApiModelProperty(value = "创建时间") +// private Timestamp createTime; +// +// @NotBlank +// @ApiModelProperty(value = "更新人") +// private String updateBy; +// +// @NotNull +// @ApiModelProperty(value = "更新时间") +// private Timestamp updateTime; + + public void copy(MesOrderItemEvaluation source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesRiderEvaluationDto.java b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesRiderEvaluationDto.java new file mode 100644 index 0000000..158f64f --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/myDto/MesRiderEvaluationDto.java @@ -0,0 +1,50 @@ +package com.oying.modules.message.domain.myDto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.sql.Timestamp; + +@Data +public class MesRiderEvaluationDto { + +// @TableId(value = "id", type = IdType.AUTO) +// @ApiModelProperty(value = "主键") +// private Long id; + +// @NotNull +// @ApiModelProperty(value = "订单ID") +// private Long orderId; +// +// @NotBlank +// @ApiModelProperty(value = "订单编号 冗余") +// private String orderNo; + + @NotNull + @ApiModelProperty(value = "骑手ID") + private Long riderId; + + @NotBlank + @ApiModelProperty(value = "骑手姓名 冗余") + private String riderName; + + @NotBlank + @ApiModelProperty(value = "买家用户ID") + private String buyerId; + + @NotNull + @ApiModelProperty(value = "骑手服务评分") + private BigDecimal score; + + @ApiModelProperty(value = "评价内容") + private String content; + + @ApiModelProperty(value = "评价图片JSON 最多5张") + private String imgs; + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MesAdvertisementMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MesAdvertisementMapper.java new file mode 100644 index 0000000..3b7cd28 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MesAdvertisementMapper.java @@ -0,0 +1,22 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.domain.MesAdvertisement; +import com.oying.modules.message.domain.dto.MesAdvertisementQueryCriteria; +import java.util.List; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Mapper +public interface MesAdvertisementMapper extends BaseMapper<MesAdvertisement> { + + IPage<MesAdvertisement> findAll(@Param("criteria") MesAdvertisementQueryCriteria criteria, Page<Object> page); + + List<MesAdvertisement> findAll(@Param("criteria") MesAdvertisementQueryCriteria criteria); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MesCustomerCommentMsgMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MesCustomerCommentMsgMapper.java new file mode 100644 index 0000000..f8c5ce0 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MesCustomerCommentMsgMapper.java @@ -0,0 +1,26 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.domain.MesCustomerCommentMsg; +import com.oying.modules.message.domain.dto.MesCustomerCommentMsgQueryCriteria; +import java.util.List; + +import com.oying.modules.message.domain.myDto.MesCustomerCommentMsgDTO; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Mapper +public interface MesCustomerCommentMsgMapper extends BaseMapper<MesCustomerCommentMsg> { + + IPage<MesCustomerCommentMsg> findAll(@Param("criteria") MesCustomerCommentMsgQueryCriteria criteria, Page<Object> page); + + List<MesCustomerCommentMsg> findAll(@Param("criteria") MesCustomerCommentMsgQueryCriteria criteria); + + List<MesCustomerCommentMsgDTO> listCustomerComment(Long shopId); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MesMsgRecordMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MesMsgRecordMapper.java new file mode 100644 index 0000000..c466fcf --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MesMsgRecordMapper.java @@ -0,0 +1,39 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.common.OrderStatusEnum; +import com.oying.modules.message.domain.MesMsgRecord; +import com.oying.modules.message.domain.dto.MesMsgRecordQueryCriteria; +import java.util.List; + +import com.oying.modules.message.domain.myDto.MesMsgRecordQueryOrderDto; +import com.oying.modules.message.domain.myDto.MesMsgRecordQueryPollDto; +import com.oying.modules.message.domain.myDto.MesMsgRecordQuerySystemDto; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Mapper +public interface MesMsgRecordMapper extends BaseMapper<MesMsgRecord> { + + IPage<MesMsgRecord> findAll(@Param("criteria") MesMsgRecordQueryCriteria criteria, Page<Object> page); + + List<MesMsgRecord> findAll(@Param("criteria") MesMsgRecordQueryCriteria criteria); + + List<MesMsgRecordQueryPollDto> PollMes(Long platform); + + void batchMarkRead(Long platform,List<Long> msgIds); + + IPage<MesMsgRecordQuerySystemDto> queryAllSysNotice(@Param("criteria")MesMsgRecordQueryCriteria criteria, Page<Object> page); + + List<MesMsgRecordQueryOrderDto> queryorder(Long shopId); + + + +// IPage<MesMsgRecord> findAll(@Param("criteria") MesMsgRecordQueryCriteria criteria, Page<Object> page); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MesMsgTemplateMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MesMsgTemplateMapper.java new file mode 100644 index 0000000..96423d9 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MesMsgTemplateMapper.java @@ -0,0 +1,22 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.domain.MesMsgTemplate; +import com.oying.modules.message.domain.dto.MesMsgTemplateQueryCriteria; +import java.util.List; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Mapper +public interface MesMsgTemplateMapper extends BaseMapper<MesMsgTemplate> { + + IPage<MesMsgTemplate> findAll(@Param("criteria") MesMsgTemplateQueryCriteria criteria, Page<Object> page); + + List<MesMsgTemplate> findAll(@Param("criteria") MesMsgTemplateQueryCriteria criteria); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MesOrderEvaluationMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MesOrderEvaluationMapper.java new file mode 100644 index 0000000..8219852 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MesOrderEvaluationMapper.java @@ -0,0 +1,26 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.domain.MesOrderEvaluation; +import com.oying.modules.message.domain.dto.MesOrderEvaluationQueryCriteria; +import java.util.List; + +import com.oying.modules.message.domain.myDto.MesOrderEvaluationDto; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Mapper +public interface MesOrderEvaluationMapper extends BaseMapper<MesOrderEvaluation> { + + IPage<MesOrderEvaluation> findAll(@Param("criteria") MesOrderEvaluationQueryCriteria criteria, Page<Object> page); + + List<MesOrderEvaluation> findAll(@Param("criteria") MesOrderEvaluationQueryCriteria criteria); + + void addShopEvaluation(MesOrderEvaluationDto resources); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MesOrderItemEvaluationMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MesOrderItemEvaluationMapper.java new file mode 100644 index 0000000..b741291 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MesOrderItemEvaluationMapper.java @@ -0,0 +1,25 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.domain.MesOrderItemEvaluation; +import com.oying.modules.message.domain.MesOrderItemEvaluationDto; +import com.oying.modules.message.domain.dto.MesOrderItemEvaluationQueryCriteria; +import java.util.List; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Mapper +public interface MesOrderItemEvaluationMapper extends BaseMapper<MesOrderItemEvaluation> { + + IPage<MesOrderItemEvaluation> findAll(@Param("criteria") MesOrderItemEvaluationQueryCriteria criteria, Page<Object> page); + + List<MesOrderItemEvaluation> findAll(@Param("criteria") MesOrderItemEvaluationQueryCriteria criteria); + + void addGoodsEvaluation(MesOrderItemEvaluationDto resources); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MesRiderEvaluationMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MesRiderEvaluationMapper.java new file mode 100644 index 0000000..74c3ff2 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MesRiderEvaluationMapper.java @@ -0,0 +1,26 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.domain.MesRiderEvaluation; +import com.oying.modules.message.domain.dto.MesRiderEvaluationQueryCriteria; +import java.util.List; + +import com.oying.modules.message.domain.myDto.MesRiderEvaluationDto; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Mapper +public interface MesRiderEvaluationMapper extends BaseMapper<MesRiderEvaluation> { + + IPage<MesRiderEvaluation> findAll(@Param("criteria") MesRiderEvaluationQueryCriteria criteria, Page<Object> page); + + List<MesRiderEvaluation> findAll(@Param("criteria") MesRiderEvaluationQueryCriteria criteria); + + void addRiderEvaluation(MesRiderEvaluationDto resources); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MesShopReplyMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MesShopReplyMapper.java new file mode 100644 index 0000000..b5d7b02 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MesShopReplyMapper.java @@ -0,0 +1,22 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.domain.MesShopReply; +import com.oying.modules.message.domain.dto.MesShopReplyQueryCriteria; +import java.util.List; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Mapper +public interface MesShopReplyMapper extends BaseMapper<MesShopReply> { + + IPage<MesShopReply> findAll(@Param("criteria") MesShopReplyQueryCriteria criteria, Page<Object> page); + + List<MesShopReply> findAll(@Param("criteria") MesShopReplyQueryCriteria criteria); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MesAdvertisementController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MesAdvertisementController.java new file mode 100644 index 0000000..ca9015d --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MesAdvertisementController.java @@ -0,0 +1,73 @@ +package com.oying.modules.message.rest; + +import com.oying.annotation.Log; +import com.oying.modules.message.domain.MesAdvertisement; +import com.oying.modules.message.service.MesAdvertisementService; +import com.oying.modules.message.domain.dto.MesAdvertisementQueryCriteria; +import lombok.RequiredArgsConstructor; +import java.util.List; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.oying.utils.PageResult; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "消息") +@RequestMapping("/api/mesAdvertisement") +public class MesAdvertisementController { + + private final MesAdvertisementService mesAdvertisementService; + + @ApiOperation("导出数据") + @GetMapping(value = "/download") + @PreAuthorize("@el.check('mesAdvertisement:list')") + public void exportMesAdvertisement(HttpServletResponse response, MesAdvertisementQueryCriteria criteria) throws IOException { + mesAdvertisementService.download(mesAdvertisementService.queryAll(criteria), response); + } + + @GetMapping + @ApiOperation("查询消息") + @PreAuthorize("@el.check('mesAdvertisement:list')") + public ResponseEntity<PageResult<MesAdvertisement>> queryMesAdvertisement(MesAdvertisementQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(mesAdvertisementService.queryAll(criteria,page),HttpStatus.OK); + } + + @PostMapping + @Log("新增消息") + @ApiOperation("新增消息") + @PreAuthorize("@el.check('mesAdvertisement:add')") + public ResponseEntity<Object> createMesAdvertisement(@Validated @RequestBody MesAdvertisement resources){ + mesAdvertisementService.create(resources); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改消息") + @ApiOperation("修改消息") + @PreAuthorize("@el.check('mesAdvertisement:edit')") + public ResponseEntity<Object> updateMesAdvertisement(@Validated @RequestBody MesAdvertisement resources){ + mesAdvertisementService.update(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + @Log("删除消息") + @ApiOperation("删除消息") + @PreAuthorize("@el.check('mesAdvertisement:del')") + public ResponseEntity<Object> deleteMesAdvertisement(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) { + mesAdvertisementService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MesCustomerCommentMsgController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MesCustomerCommentMsgController.java new file mode 100644 index 0000000..ec4a9f7 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MesCustomerCommentMsgController.java @@ -0,0 +1,90 @@ +package com.oying.modules.message.rest; + +import com.oying.annotation.Log; +import com.oying.modules.message.domain.MesCustomerCommentMsg; +import com.oying.modules.message.domain.dto.MesShopMsgRespDTO; +import com.oying.modules.message.domain.myDto.MesCustomerCommentMsgDTO; +import com.oying.modules.message.service.MesCustomerCommentMsgService; +import com.oying.modules.message.domain.dto.MesCustomerCommentMsgQueryCriteria; +import com.oying.utils.R; +import lombok.RequiredArgsConstructor; +import java.util.List; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.oying.utils.PageResult; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "消息") +@RequestMapping("/api/mesCustomerCommentMsg") +public class MesCustomerCommentMsgController { + + private final MesCustomerCommentMsgService mesCustomerCommentMsgService; + + @ApiOperation("导出数据") + @GetMapping(value = "/download") + @PreAuthorize("@el.check('mesCustomerCommentMsg:list')") + public void exportMesCustomerCommentMsg(HttpServletResponse response, MesCustomerCommentMsgQueryCriteria criteria) throws IOException { + mesCustomerCommentMsgService.download(mesCustomerCommentMsgService.queryAll(criteria), response); + } + + @GetMapping + @ApiOperation("查询消息") + @PreAuthorize("@el.check('mesCustomerCommentMsg:list')") + public ResponseEntity<PageResult<MesCustomerCommentMsg>> queryMesCustomerCommentMsg(MesCustomerCommentMsgQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(mesCustomerCommentMsgService.queryAll(criteria,page),HttpStatus.OK); + } + + @PostMapping + @Log("新增消息") + @ApiOperation("新增消息") + @PreAuthorize("@el.check('mesCustomerCommentMsg:add')") + public ResponseEntity<Object> createMesCustomerCommentMsg(@Validated @RequestBody MesCustomerCommentMsg resources){ + mesCustomerCommentMsgService.create(resources); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改消息") + @ApiOperation("修改消息") + @PreAuthorize("@el.check('mesCustomerCommentMsg:edit')") + public ResponseEntity<Object> updateMesCustomerCommentMsg(@Validated @RequestBody MesCustomerCommentMsg resources){ + mesCustomerCommentMsgService.update(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + @Log("删除消息") + @ApiOperation("删除消息") + @PreAuthorize("@el.check('mesCustomerCommentMsg:del')") + public ResponseEntity<Object> deleteMesCustomerCommentMsg(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) { + mesCustomerCommentMsgService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + /* 5. 用店铺id 查询分页顾客留言 */ + @GetMapping("/customerComment") + @ApiOperation("list查询顾客留言") + public R<List<MesCustomerCommentMsgDTO>> customerComment( + @RequestParam Long shopId) { + try { + List<MesCustomerCommentMsgDTO> res=mesCustomerCommentMsgService.listCustomerComment(shopId); + return R.success(res); + } catch (Exception e) { + return R.fail(e.getMessage()); + } + } + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MesMsgRecordController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MesMsgRecordController.java new file mode 100644 index 0000000..6d08391 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MesMsgRecordController.java @@ -0,0 +1,172 @@ +package com.oying.modules.message.rest; + +import com.oying.annotation.Log; +import com.oying.modules.message.common.PlatFormEnum; +import com.oying.modules.message.domain.MesMsgRecord; +import com.oying.modules.message.domain.dto.MesShopMsgRespDTO; +import com.oying.modules.message.domain.myDto.MesMsgRecordQueryOrderDto; +import com.oying.modules.message.domain.myDto.MesMsgRecordQueryPollDto; +import com.oying.modules.message.domain.myDto.MesMsgRecordQuerySystemDto; +import com.oying.modules.message.service.MesMsgRecordService; +import com.oying.modules.message.domain.dto.MesMsgRecordQueryCriteria; +import com.oying.utils.R; +import lombok.RequiredArgsConstructor; +import java.util.List; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.oying.utils.PageResult; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@Slf4j +@RestController +@RequiredArgsConstructor +@Api(tags = "消息") +@RequestMapping("/api/mesMsgRecord") +public class MesMsgRecordController { + + private final MesMsgRecordService mesMsgRecordService; + + @ApiOperation("导出数据") + @GetMapping(value = "/download") + @PreAuthorize("@el.check('mesMsgRecord:list')") + public void exportMesMsgRecord(HttpServletResponse response, MesMsgRecordQueryCriteria criteria) throws IOException { + mesMsgRecordService.download(mesMsgRecordService.queryAll(criteria), response); + } + + @GetMapping + @ApiOperation("查询消息") + @PreAuthorize("@el.check('mesMsgRecord:list')") + public ResponseEntity<PageResult<MesMsgRecord>> queryMesMsgRecord(MesMsgRecordQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(mesMsgRecordService.queryAll(criteria,page),HttpStatus.OK); + } + + @PostMapping + @Log("新增消息") + @ApiOperation("新增消息") + @PreAuthorize("@el.check('mesMsgRecord:add')") + public ResponseEntity<Object> createMesMsgRecord(@Validated @RequestBody MesMsgRecord resources){ + mesMsgRecordService.create(resources); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改消息") + @ApiOperation("修改消息") + @PreAuthorize("@el.check('mesMsgRecord:edit')") + public ResponseEntity<Object> updateMesMsgRecord(@Validated @RequestBody MesMsgRecord resources){ + mesMsgRecordService.update(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + @Log("删除消息") + @ApiOperation("删除消息") + @PreAuthorize("@el.check('mesMsgRecord:del')") + public ResponseEntity<Object> deleteMesMsgRecord(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) { + mesMsgRecordService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + + /* 1. 轮询最新消息(通知栏) */ //todo 轮询啥? + //只查“未读”消息,不分种类,返回最新 N 条 1=买家 2=商户 3=骑手" + @GetMapping("/poll") + @ApiOperation("查询轮询消息 1(买家)、2(商户)、3(骑手)") + @PreAuthorize("@el.check('mesMsgRecord:list')") + public R<List<MesMsgRecordQueryPollDto>> queryMesMsgRecord(@RequestParam Long platform){ + //platform 只能为 1 2 3 + if (platform == null) { + return R.fail("平台类型不能为空"); + } + + if (PlatFormEnum.getByKey(platform.intValue()) == null) { + return R.fail("平台类型错误,只能为1(买家)、2(商户)、3(骑手)"); + } + + // 实现业务逻辑,调用服务层获取未读消息 + try { + List<MesMsgRecordQueryPollDto> mes=mesMsgRecordService.PollMes(platform); + return R.success(mes); + } catch (Exception e) { + log.error("查询轮询消息失败:",e); + return R.fail("查询轮询消息失败"); + } + + + + } + +// /* 2. 批量确认收到消息 */ +// @PutMapping("/ack/{msgId}") +// @ApiOperation("确认收到消息") +// public R<Void> ack(@PathVariable Long msgId) { +//// mesMsgRecordService.markRead(msgId, null); +// return R.success(); +// } + /* 2. 批量确认收到消息 主键*/ + @PutMapping("/ack") + @ApiOperation("批量确认收到消息") + public R<Void> batchAck(@ApiParam(value = "消息ID数组") @RequestBody List<Long> msgIds,@RequestParam Long platform) { + if (msgIds == null || msgIds.isEmpty()) { + return R.fail("消息ID列表不能为空"); + } + + try { + mesMsgRecordService.batchMarkRead(platform,msgIds); + return R.success(); + } catch (Exception e) { + log.error("批量确认消息失败,msgIds: {}", msgIds, e); + return R.fail("批量确认消息失败"); + } + } + + /* 3. 分页系统通知 */ + @GetMapping("/sysNotice") + @ApiOperation("分页查询系统通知") + public R<PageResult<MesMsgRecordQuerySystemDto>> sysNotice( + MesMsgRecordQueryCriteria criteria) { + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + try { + PageResult<MesMsgRecordQuerySystemDto> pageResult = mesMsgRecordService.queryAllSysNotice(criteria,page); + return R.success(pageResult); + } catch (Exception e) { + log.error("分页查询系统通知失败,criteria: {}", criteria, e); + return R.fail("分页查询系统通知失败"); + } + + } + + /* 4. 用店铺id 查询订单消息 */ + @GetMapping("/order") + @ApiOperation("用店铺id 查询订单消息") + public R<List<MesMsgRecordQueryOrderDto>> order(@PathVariable Long shopId ) { + try { + List<MesMsgRecordQueryOrderDto> res=mesMsgRecordService.queryorder(shopId); + return R.success(res); + } catch (Exception e) { + log.error("用店铺id 获取订单消息失败,shopId: {}", shopId, e); + return R.fail("用店铺id 获取订单消息失败"); + + } + + } + + + + + + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MesMsgTemplateController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MesMsgTemplateController.java new file mode 100644 index 0000000..ba80631 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MesMsgTemplateController.java @@ -0,0 +1,73 @@ +package com.oying.modules.message.rest; + +import com.oying.annotation.Log; +import com.oying.modules.message.domain.MesMsgTemplate; +import com.oying.modules.message.service.MesMsgTemplateService; +import com.oying.modules.message.domain.dto.MesMsgTemplateQueryCriteria; +import lombok.RequiredArgsConstructor; +import java.util.List; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.oying.utils.PageResult; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "消息") +@RequestMapping("/api/mesMsgTemplate") +public class MesMsgTemplateController { + + private final MesMsgTemplateService mesMsgTemplateService; + + @ApiOperation("导出数据") + @GetMapping(value = "/download") + @PreAuthorize("@el.check('mesMsgTemplate:list')") + public void exportMesMsgTemplate(HttpServletResponse response, MesMsgTemplateQueryCriteria criteria) throws IOException { + mesMsgTemplateService.download(mesMsgTemplateService.queryAll(criteria), response); + } + + @GetMapping + @ApiOperation("查询消息") + @PreAuthorize("@el.check('mesMsgTemplate:list')") + public ResponseEntity<PageResult<MesMsgTemplate>> queryMesMsgTemplate(MesMsgTemplateQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(mesMsgTemplateService.queryAll(criteria,page),HttpStatus.OK); + } + + @PostMapping + @Log("新增消息") + @ApiOperation("新增消息") + @PreAuthorize("@el.check('mesMsgTemplate:add')") + public ResponseEntity<Object> createMesMsgTemplate(@Validated @RequestBody MesMsgTemplate resources){ + mesMsgTemplateService.create(resources); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改消息") + @ApiOperation("修改消息") + @PreAuthorize("@el.check('mesMsgTemplate:edit')") + public ResponseEntity<Object> updateMesMsgTemplate(@Validated @RequestBody MesMsgTemplate resources){ + mesMsgTemplateService.update(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + @Log("删除消息") + @ApiOperation("删除消息") + @PreAuthorize("@el.check('mesMsgTemplate:del')") + public ResponseEntity<Object> deleteMesMsgTemplate(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) { + mesMsgTemplateService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MesOrderEvaluationController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MesOrderEvaluationController.java new file mode 100644 index 0000000..2a8d088 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MesOrderEvaluationController.java @@ -0,0 +1,90 @@ +package com.oying.modules.message.rest; + +import com.oying.annotation.Log; +import com.oying.modules.message.domain.MesOrderEvaluation; +import com.oying.modules.message.domain.MesOrderItemEvaluationDto; +import com.oying.modules.message.domain.myDto.MesOrderEvaluationDto; +import com.oying.modules.message.service.MesOrderEvaluationService; +import com.oying.modules.message.domain.dto.MesOrderEvaluationQueryCriteria; +import com.oying.utils.R; +import lombok.RequiredArgsConstructor; +import java.util.List; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.oying.utils.PageResult; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "消息") +@RequestMapping("/api/mesOrderEvaluation") +public class MesOrderEvaluationController { + + private final MesOrderEvaluationService mesOrderEvaluationService; + + @ApiOperation("导出数据") + @GetMapping(value = "/download") + @PreAuthorize("@el.check('mesOrderEvaluation:list')") + public void exportMesOrderEvaluation(HttpServletResponse response, MesOrderEvaluationQueryCriteria criteria) throws IOException { + mesOrderEvaluationService.download(mesOrderEvaluationService.queryAll(criteria), response); + } + + @GetMapping + @ApiOperation("查询消息") + @PreAuthorize("@el.check('mesOrderEvaluation:list')") + public ResponseEntity<PageResult<MesOrderEvaluation>> queryMesOrderEvaluation(MesOrderEvaluationQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(mesOrderEvaluationService.queryAll(criteria,page),HttpStatus.OK); + } + + @PostMapping + @Log("新增消息") + @ApiOperation("新增消息") + @PreAuthorize("@el.check('mesOrderEvaluation:add')") + public ResponseEntity<Object> createMesOrderEvaluation(@Validated @RequestBody MesOrderEvaluation resources){ + mesOrderEvaluationService.create(resources); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改消息") + @ApiOperation("修改消息") + @PreAuthorize("@el.check('mesOrderEvaluation:edit')") + public ResponseEntity<Object> updateMesOrderEvaluation(@Validated @RequestBody MesOrderEvaluation resources){ + mesOrderEvaluationService.update(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + @Log("删除消息") + @ApiOperation("删除消息") + @PreAuthorize("@el.check('mesOrderEvaluation:del')") + public ResponseEntity<Object> deleteMesOrderEvaluation(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) { + mesOrderEvaluationService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + //对一个店铺评价 + 打分 + //order_eval_id, order_item_id, goods_id, goods_name, goods_pic, score, content, imgs, buyer_id + @PostMapping("/addShopEvaluation") + @ApiOperation("对一个商品评价 + 打分") + public R<Object> addGoodsEvaluation(@RequestBody MesOrderEvaluationDto resources){ + try { + mesOrderEvaluationService.addShopEvaluation(resources); + return R.success(); + } catch (Exception e) { + return R.fail(e.getMessage()); + } + + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MesOrderItemEvaluationController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MesOrderItemEvaluationController.java new file mode 100644 index 0000000..77a120f --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MesOrderItemEvaluationController.java @@ -0,0 +1,90 @@ +package com.oying.modules.message.rest; + +import com.oying.annotation.Log; +import com.oying.modules.message.domain.MesOrderItemEvaluation; +import com.oying.modules.message.domain.MesOrderItemEvaluationDto; +import com.oying.modules.message.service.MesOrderItemEvaluationService; +import com.oying.modules.message.domain.dto.MesOrderItemEvaluationQueryCriteria; +import com.oying.utils.R; +import lombok.RequiredArgsConstructor; +import java.util.List; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.oying.utils.PageResult; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "消息") +@RequestMapping("/api/mesOrderItemEvaluation") +public class MesOrderItemEvaluationController { + + private final MesOrderItemEvaluationService mesOrderItemEvaluationService; + + @ApiOperation("导出数据") + @GetMapping(value = "/download") + @PreAuthorize("@el.check('mesOrderItemEvaluation:list')") + public void exportMesOrderItemEvaluation(HttpServletResponse response, MesOrderItemEvaluationQueryCriteria criteria) throws IOException { + mesOrderItemEvaluationService.download(mesOrderItemEvaluationService.queryAll(criteria), response); + } + + @GetMapping + @ApiOperation("查询消息") + @PreAuthorize("@el.check('mesOrderItemEvaluation:list')") + public ResponseEntity<PageResult<MesOrderItemEvaluation>> queryMesOrderItemEvaluation(MesOrderItemEvaluationQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(mesOrderItemEvaluationService.queryAll(criteria,page),HttpStatus.OK); + } + + @PostMapping + @Log("新增消息") + @ApiOperation("新增消息") + @PreAuthorize("@el.check('mesOrderItemEvaluation:add')") + public ResponseEntity<Object> createMesOrderItemEvaluation(@Validated @RequestBody MesOrderItemEvaluation resources){ + mesOrderItemEvaluationService.create(resources); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改消息") + @ApiOperation("修改消息") + @PreAuthorize("@el.check('mesOrderItemEvaluation:edit')") + public ResponseEntity<Object> updateMesOrderItemEvaluation(@Validated @RequestBody MesOrderItemEvaluation resources){ + mesOrderItemEvaluationService.update(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + @Log("删除消息") + @ApiOperation("删除消息") + @PreAuthorize("@el.check('mesOrderItemEvaluation:del')") + public ResponseEntity<Object> deleteMesOrderItemEvaluation(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) { + mesOrderItemEvaluationService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + //对一个商品评价 + 打分 + //order_eval_id, order_item_id, goods_id, goods_name, goods_pic, score, content, imgs, buyer_id + @PostMapping("/addGoodsEvaluation") + @ApiOperation("对一个商品评价 + 打分") + public R<Object> addGoodsEvaluation(@RequestBody MesOrderItemEvaluationDto resources){ + try { + mesOrderItemEvaluationService.addGoodsEvaluation(resources); + return R.success(); + } catch (Exception e) { + return R.fail(e.getMessage()); + } + + } + + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MesRiderEvaluationController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MesRiderEvaluationController.java new file mode 100644 index 0000000..390e5c8 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MesRiderEvaluationController.java @@ -0,0 +1,90 @@ +package com.oying.modules.message.rest; + +import com.oying.annotation.Log; +import com.oying.modules.message.domain.MesOrderItemEvaluationDto; +import com.oying.modules.message.domain.MesRiderEvaluation; +import com.oying.modules.message.domain.myDto.MesRiderEvaluationDto; +import com.oying.modules.message.service.MesRiderEvaluationService; +import com.oying.modules.message.domain.dto.MesRiderEvaluationQueryCriteria; +import com.oying.utils.R; +import lombok.RequiredArgsConstructor; +import java.util.List; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.oying.utils.PageResult; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "消息") +@RequestMapping("/api/mesRiderEvaluation") +public class MesRiderEvaluationController { + + private final MesRiderEvaluationService mesRiderEvaluationService; + + @ApiOperation("导出数据") + @GetMapping(value = "/download") + @PreAuthorize("@el.check('mesRiderEvaluation:list')") + public void exportMesRiderEvaluation(HttpServletResponse response, MesRiderEvaluationQueryCriteria criteria) throws IOException { + mesRiderEvaluationService.download(mesRiderEvaluationService.queryAll(criteria), response); + } + + @GetMapping + @ApiOperation("查询消息") + @PreAuthorize("@el.check('mesRiderEvaluation:list')") + public ResponseEntity<PageResult<MesRiderEvaluation>> queryMesRiderEvaluation(MesRiderEvaluationQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(mesRiderEvaluationService.queryAll(criteria,page),HttpStatus.OK); + } + + @PostMapping + @Log("新增消息") + @ApiOperation("新增消息") + @PreAuthorize("@el.check('mesRiderEvaluation:add')") + public ResponseEntity<Object> createMesRiderEvaluation(@Validated @RequestBody MesRiderEvaluation resources){ + mesRiderEvaluationService.create(resources); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改消息") + @ApiOperation("修改消息") + @PreAuthorize("@el.check('mesRiderEvaluation:edit')") + public ResponseEntity<Object> updateMesRiderEvaluation(@Validated @RequestBody MesRiderEvaluation resources){ + mesRiderEvaluationService.update(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + @Log("删除消息") + @ApiOperation("删除消息") + @PreAuthorize("@el.check('mesRiderEvaluation:del')") + public ResponseEntity<Object> deleteMesRiderEvaluation(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) { + mesRiderEvaluationService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + //对一个骑手评价 + 打分 + // + @PostMapping("/addRiderEvaluation") + @ApiOperation("对一个骑手评价 + 打分") + public R<Object> addGoodsEvaluation(@RequestBody MesRiderEvaluationDto resources){ + try { + mesRiderEvaluationService.addRiderEvaluation(resources); + return R.success(); + } catch (Exception e) { + return R.fail(e.getMessage()); + } + + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MesShopReplyController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MesShopReplyController.java new file mode 100644 index 0000000..8cc69a0 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MesShopReplyController.java @@ -0,0 +1,73 @@ +package com.oying.modules.message.rest; + +import com.oying.annotation.Log; +import com.oying.modules.message.domain.MesShopReply; +import com.oying.modules.message.service.MesShopReplyService; +import com.oying.modules.message.domain.dto.MesShopReplyQueryCriteria; +import lombok.RequiredArgsConstructor; +import java.util.List; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.oying.utils.PageResult; + +/** +* @author 李萌 +* @date 2025-07-25 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "消息") +@RequestMapping("/api/mesShopReply") +public class MesShopReplyController { + + private final MesShopReplyService mesShopReplyService; + + @ApiOperation("导出数据") + @GetMapping(value = "/download") + @PreAuthorize("@el.check('mesShopReply:list')") + public void exportMesShopReply(HttpServletResponse response, MesShopReplyQueryCriteria criteria) throws IOException { + mesShopReplyService.download(mesShopReplyService.queryAll(criteria), response); + } + + @GetMapping + @ApiOperation("查询消息") + @PreAuthorize("@el.check('mesShopReply:list')") + public ResponseEntity<PageResult<MesShopReply>> queryMesShopReply(MesShopReplyQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(mesShopReplyService.queryAll(criteria,page),HttpStatus.OK); + } + + @PostMapping + @Log("新增消息") + @ApiOperation("新增消息") + @PreAuthorize("@el.check('mesShopReply:add')") + public ResponseEntity<Object> createMesShopReply(@Validated @RequestBody MesShopReply resources){ + mesShopReplyService.create(resources); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改消息") + @ApiOperation("修改消息") + @PreAuthorize("@el.check('mesShopReply:edit')") + public ResponseEntity<Object> updateMesShopReply(@Validated @RequestBody MesShopReply resources){ + mesShopReplyService.update(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + @Log("删除消息") + @ApiOperation("删除消息") + @PreAuthorize("@el.check('mesShopReply:del')") + public ResponseEntity<Object> deleteMesShopReply(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) { + mesShopReplyService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MesAdvertisementService.java b/oying-system/src/main/java/com/oying/modules/message/service/MesAdvertisementService.java new file mode 100644 index 0000000..d25fdda --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MesAdvertisementService.java @@ -0,0 +1,60 @@ +package com.oying.modules.message.service; + +import com.oying.modules.message.domain.MesAdvertisement; +import com.oying.modules.message.domain.dto.MesAdvertisementQueryCriteria; +import java.util.Map; +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.oying.utils.PageResult; + +/** +* @description 服务接口 +* @author 李萌 +* @date 2025-07-25 +**/ +public interface MesAdvertisementService extends IService<MesAdvertisement> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MesAdvertisement> queryAll(MesAdvertisementQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MesAdvertisementDto> + */ + List<MesAdvertisement> queryAll(MesAdvertisementQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MesAdvertisement resources); + + /** + * 编辑 + * @param resources / + */ + void update(MesAdvertisement resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Long> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MesAdvertisement> all, HttpServletResponse response) throws IOException; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MesCustomerCommentMsgService.java b/oying-system/src/main/java/com/oying/modules/message/service/MesCustomerCommentMsgService.java new file mode 100644 index 0000000..ea76e69 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MesCustomerCommentMsgService.java @@ -0,0 +1,63 @@ +package com.oying.modules.message.service; + +import com.oying.modules.message.domain.MesCustomerCommentMsg; +import com.oying.modules.message.domain.dto.MesCustomerCommentMsgQueryCriteria; +import java.util.Map; +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.oying.modules.message.domain.myDto.MesCustomerCommentMsgDTO; +import com.oying.utils.PageResult; + +/** +* @description 服务接口 +* @author 李萌 +* @date 2025-07-25 +**/ +public interface MesCustomerCommentMsgService extends IService<MesCustomerCommentMsg> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MesCustomerCommentMsg> queryAll(MesCustomerCommentMsgQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MesCustomerCommentMsgDto> + */ + List<MesCustomerCommentMsg> queryAll(MesCustomerCommentMsgQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MesCustomerCommentMsg resources); + + /** + * 编辑 + * @param resources / + */ + void update(MesCustomerCommentMsg resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Long> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MesCustomerCommentMsg> all, HttpServletResponse response) throws IOException; + + List<MesCustomerCommentMsgDTO> listCustomerComment(Long shopId); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MesMsgRecordService.java b/oying-system/src/main/java/com/oying/modules/message/service/MesMsgRecordService.java new file mode 100644 index 0000000..eecc38e --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MesMsgRecordService.java @@ -0,0 +1,78 @@ +package com.oying.modules.message.service; + +import com.oying.modules.message.common.OrderStatusEnum; +import com.oying.modules.message.domain.MesMsgRecord; +import com.oying.modules.message.domain.dto.MesMsgRecordQueryCriteria; +import java.util.Map; +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.oying.modules.message.domain.myDto.MesMsgRecordQueryOrderDto; +import com.oying.modules.message.domain.myDto.MesMsgRecordQueryPollDto; +import com.oying.modules.message.domain.myDto.MesMsgRecordQuerySystemDto; +import com.oying.utils.PageResult; + +/** +* @description 服务接口 +* @author 李萌 +* @date 2025-07-25 +**/ +public interface MesMsgRecordService extends IService<MesMsgRecord> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MesMsgRecord> queryAll(MesMsgRecordQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MesMsgRecordDto> + */ + List<MesMsgRecord> queryAll(MesMsgRecordQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MesMsgRecord resources); + + /** + * 编辑 + * @param resources / + */ + void update(MesMsgRecord resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Long> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MesMsgRecord> all, HttpServletResponse response) throws IOException; + + List<MesMsgRecordQueryPollDto> PollMes(Long platform); + + void batchMarkRead(Long platform,List<Long> msgIds); + + PageResult<MesMsgRecordQuerySystemDto> queryAllSysNotice(MesMsgRecordQueryCriteria criteria, Page<Object> page); + + + List<MesMsgRecordQueryOrderDto> queryorder(Long shopId); + + //插入订单消息 +// 入参 订单编号 订单状态(内容) 店铺id + void insertOrderMsg(String orderNo, OrderStatusEnum content, Long shopId); + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MesMsgTemplateService.java b/oying-system/src/main/java/com/oying/modules/message/service/MesMsgTemplateService.java new file mode 100644 index 0000000..b9dfb2f --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MesMsgTemplateService.java @@ -0,0 +1,60 @@ +package com.oying.modules.message.service; + +import com.oying.modules.message.domain.MesMsgTemplate; +import com.oying.modules.message.domain.dto.MesMsgTemplateQueryCriteria; +import java.util.Map; +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.oying.utils.PageResult; + +/** +* @description 服务接口 +* @author 李萌 +* @date 2025-07-25 +**/ +public interface MesMsgTemplateService extends IService<MesMsgTemplate> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MesMsgTemplate> queryAll(MesMsgTemplateQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MesMsgTemplateDto> + */ + List<MesMsgTemplate> queryAll(MesMsgTemplateQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MesMsgTemplate resources); + + /** + * 编辑 + * @param resources / + */ + void update(MesMsgTemplate resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Integer> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MesMsgTemplate> all, HttpServletResponse response) throws IOException; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MesOrderEvaluationService.java b/oying-system/src/main/java/com/oying/modules/message/service/MesOrderEvaluationService.java new file mode 100644 index 0000000..1aa76f8 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MesOrderEvaluationService.java @@ -0,0 +1,63 @@ +package com.oying.modules.message.service; + +import com.oying.modules.message.domain.MesOrderEvaluation; +import com.oying.modules.message.domain.dto.MesOrderEvaluationQueryCriteria; +import java.util.Map; +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.oying.modules.message.domain.myDto.MesOrderEvaluationDto; +import com.oying.utils.PageResult; + +/** +* @description 服务接口 +* @author 李萌 +* @date 2025-07-25 +**/ +public interface MesOrderEvaluationService extends IService<MesOrderEvaluation> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MesOrderEvaluation> queryAll(MesOrderEvaluationQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MesOrderEvaluationDto> + */ + List<MesOrderEvaluation> queryAll(MesOrderEvaluationQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MesOrderEvaluation resources); + + /** + * 编辑 + * @param resources / + */ + void update(MesOrderEvaluation resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Long> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MesOrderEvaluation> all, HttpServletResponse response) throws IOException; + + void addShopEvaluation(MesOrderEvaluationDto resources); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MesOrderItemEvaluationService.java b/oying-system/src/main/java/com/oying/modules/message/service/MesOrderItemEvaluationService.java new file mode 100644 index 0000000..cfb1de8 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MesOrderItemEvaluationService.java @@ -0,0 +1,63 @@ +package com.oying.modules.message.service; + +import com.oying.modules.message.domain.MesOrderItemEvaluation; +import com.oying.modules.message.domain.MesOrderItemEvaluationDto; +import com.oying.modules.message.domain.dto.MesOrderItemEvaluationQueryCriteria; +import java.util.Map; +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.oying.utils.PageResult; + +/** +* @description 服务接口 +* @author 李萌 +* @date 2025-07-25 +**/ +public interface MesOrderItemEvaluationService extends IService<MesOrderItemEvaluation> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MesOrderItemEvaluation> queryAll(MesOrderItemEvaluationQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MesOrderItemEvaluationDto> + */ + List<MesOrderItemEvaluation> queryAll(MesOrderItemEvaluationQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MesOrderItemEvaluation resources); + + /** + * 编辑 + * @param resources / + */ + void update(MesOrderItemEvaluation resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Long> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MesOrderItemEvaluation> all, HttpServletResponse response) throws IOException; + + void addGoodsEvaluation(MesOrderItemEvaluationDto resources); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MesRiderEvaluationService.java b/oying-system/src/main/java/com/oying/modules/message/service/MesRiderEvaluationService.java new file mode 100644 index 0000000..ea21f0d --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MesRiderEvaluationService.java @@ -0,0 +1,63 @@ +package com.oying.modules.message.service; + +import com.oying.modules.message.domain.MesRiderEvaluation; +import com.oying.modules.message.domain.dto.MesRiderEvaluationQueryCriteria; +import java.util.Map; +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.oying.modules.message.domain.myDto.MesRiderEvaluationDto; +import com.oying.utils.PageResult; + +/** +* @description 服务接口 +* @author 李萌 +* @date 2025-07-25 +**/ +public interface MesRiderEvaluationService extends IService<MesRiderEvaluation> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MesRiderEvaluation> queryAll(MesRiderEvaluationQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MesRiderEvaluationDto> + */ + List<MesRiderEvaluation> queryAll(MesRiderEvaluationQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MesRiderEvaluation resources); + + /** + * 编辑 + * @param resources / + */ + void update(MesRiderEvaluation resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Long> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MesRiderEvaluation> all, HttpServletResponse response) throws IOException; + + void addRiderEvaluation(MesRiderEvaluationDto resources); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MesShopReplyService.java b/oying-system/src/main/java/com/oying/modules/message/service/MesShopReplyService.java new file mode 100644 index 0000000..87a255b --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MesShopReplyService.java @@ -0,0 +1,60 @@ +package com.oying.modules.message.service; + +import com.oying.modules.message.domain.MesShopReply; +import com.oying.modules.message.domain.dto.MesShopReplyQueryCriteria; +import java.util.Map; +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.oying.utils.PageResult; + +/** +* @description 服务接口 +* @author 李萌 +* @date 2025-07-25 +**/ +public interface MesShopReplyService extends IService<MesShopReply> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MesShopReply> queryAll(MesShopReplyQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MesShopReplyDto> + */ + List<MesShopReply> queryAll(MesShopReplyQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MesShopReply resources); + + /** + * 编辑 + * @param resources / + */ + void update(MesShopReply resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Long> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MesShopReply> all, HttpServletResponse response) throws IOException; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MesAdvertisementServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesAdvertisementServiceImpl.java new file mode 100644 index 0000000..93a1712 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesAdvertisementServiceImpl.java @@ -0,0 +1,93 @@ +package com.oying.modules.message.service.impl; + +import com.oying.modules.message.domain.MesAdvertisement; +import com.oying.utils.FileUtil; +import lombok.RequiredArgsConstructor; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.oying.modules.message.service.MesAdvertisementService; +import com.oying.modules.message.domain.dto.MesAdvertisementQueryCriteria; +import com.oying.modules.message.mapper.MesAdvertisementMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.oying.utils.PageUtil; +import java.util.List; +import java.util.Map; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import com.oying.utils.PageResult; + +/** +* @description 服务实现 +* @author 李萌 +* @date 2025-07-25 +**/ +@Service +@RequiredArgsConstructor +public class MesAdvertisementServiceImpl extends ServiceImpl<MesAdvertisementMapper, MesAdvertisement> implements MesAdvertisementService { + + private final MesAdvertisementMapper mesAdvertisementMapper; + + @Override + public PageResult<MesAdvertisement> queryAll(MesAdvertisementQueryCriteria criteria, Page<Object> page){ + return PageUtil.toPage(mesAdvertisementMapper.findAll(criteria, page)); + } + + @Override + public List<MesAdvertisement> queryAll(MesAdvertisementQueryCriteria criteria){ + return mesAdvertisementMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MesAdvertisement resources) { + mesAdvertisementMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MesAdvertisement resources) { + MesAdvertisement mesAdvertisement = getById(resources.getId()); + mesAdvertisement.copy(resources); + mesAdvertisementMapper.updateById(mesAdvertisement); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Long> ids) { + mesAdvertisementMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MesAdvertisement> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MesAdvertisement mesAdvertisement : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("广告标题", mesAdvertisement.getTitle()); + map.put("副标题/简介", mesAdvertisement.getSubTitle()); + map.put("广告正文(支持富文本)", mesAdvertisement.getContent()); + map.put("封面图URL", mesAdvertisement.getCoverImg()); + map.put("Banner图URL(冗余)", mesAdvertisement.getBannerImg()); + map.put("投放渠道 1小程序 2APP 3全平台", mesAdvertisement.getPlatform()); + map.put("跳转类型 1内部 2外部", mesAdvertisement.getJumpType()); + map.put("跳转地址(内部路径或外部链接)", mesAdvertisement.getJumpUrl()); + map.put("跳转携带参数(JSON)", mesAdvertisement.getJumpParams()); + map.put("排序值 越大越前", mesAdvertisement.getSortOrder()); + map.put("是否置顶 0否 1是", mesAdvertisement.getIsTop()); + map.put("状态 1启用 2禁用", mesAdvertisement.getStatus()); + map.put("公告开始时间", mesAdvertisement.getEffectiveTime()); + map.put("公告结束时间", mesAdvertisement.getExpireTime()); + map.put("点击次数(冗余)", mesAdvertisement.getClickCount()); + map.put("展示次数(冗余)", mesAdvertisement.getShowCount()); + map.put("备注", mesAdvertisement.getRemark()); + map.put(" createBy", mesAdvertisement.getCreateBy()); + map.put(" createTime", mesAdvertisement.getCreateTime()); + map.put(" updateBy", mesAdvertisement.getUpdateBy()); + map.put(" updateTime", mesAdvertisement.getUpdateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MesCustomerCommentMsgServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesCustomerCommentMsgServiceImpl.java new file mode 100644 index 0000000..3683651 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesCustomerCommentMsgServiceImpl.java @@ -0,0 +1,89 @@ +package com.oying.modules.message.service.impl; + +import com.oying.modules.message.domain.MesCustomerCommentMsg; +import com.oying.modules.message.domain.myDto.MesCustomerCommentMsgDTO; +import com.oying.utils.FileUtil; +import lombok.RequiredArgsConstructor; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.oying.modules.message.service.MesCustomerCommentMsgService; +import com.oying.modules.message.domain.dto.MesCustomerCommentMsgQueryCriteria; +import com.oying.modules.message.mapper.MesCustomerCommentMsgMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.oying.utils.PageUtil; + +import java.util.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +import com.oying.utils.PageResult; + +/** +* @description 服务实现 +* @author 李萌 +* @date 2025-07-25 +**/ +@Service +@RequiredArgsConstructor +public class MesCustomerCommentMsgServiceImpl extends ServiceImpl<MesCustomerCommentMsgMapper, MesCustomerCommentMsg> implements MesCustomerCommentMsgService { + + private final MesCustomerCommentMsgMapper mesCustomerCommentMsgMapper; + + @Override + public PageResult<MesCustomerCommentMsg> queryAll(MesCustomerCommentMsgQueryCriteria criteria, Page<Object> page){ + return PageUtil.toPage(mesCustomerCommentMsgMapper.findAll(criteria, page)); + } + + @Override + public List<MesCustomerCommentMsg> queryAll(MesCustomerCommentMsgQueryCriteria criteria){ + return mesCustomerCommentMsgMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MesCustomerCommentMsg resources) { + mesCustomerCommentMsgMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MesCustomerCommentMsg resources) { + MesCustomerCommentMsg mesCustomerCommentMsg = getById(resources.getId()); + mesCustomerCommentMsg.copy(resources); + mesCustomerCommentMsgMapper.updateById(mesCustomerCommentMsg); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Long> ids) { + mesCustomerCommentMsgMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MesCustomerCommentMsg> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MesCustomerCommentMsg mesCustomerCommentMsg : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("对应 mes_msg_record.id", mesCustomerCommentMsg.getMsgRecordId()); + map.put("店铺ID", mesCustomerCommentMsg.getShopId()); + map.put("订单ID", mesCustomerCommentMsg.getOrderId()); + map.put("订单编号 冗余", mesCustomerCommentMsg.getOrderNo()); + map.put("买家用户ID", mesCustomerCommentMsg.getBuyerId()); + map.put("买家昵称 冗余", mesCustomerCommentMsg.getBuyerName()); + map.put("评价ID 冗余", mesCustomerCommentMsg.getEvaluationId()); + map.put("商户是否已回复 0=未回复 1=已回复", mesCustomerCommentMsg.getReplied()); + map.put("创建人", mesCustomerCommentMsg.getCreateBy()); + map.put("创建时间", mesCustomerCommentMsg.getCreateTime()); + map.put("更新人", mesCustomerCommentMsg.getUpdateBy()); + map.put("更新时间", mesCustomerCommentMsg.getUpdateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } + + @Override + public List<MesCustomerCommentMsgDTO> listCustomerComment(Long shopId) { + return mesCustomerCommentMsgMapper.listCustomerComment(shopId); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgRecordServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgRecordServiceImpl.java new file mode 100644 index 0000000..95d4514 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgRecordServiceImpl.java @@ -0,0 +1,132 @@ +package com.oying.modules.message.service.impl; + +import com.oying.modules.message.common.MesReadEnum; +import com.oying.modules.message.common.MesTypeEnum; +import com.oying.modules.message.common.OrderStatusEnum; +import com.oying.modules.message.domain.MesMsgRecord; +import com.oying.modules.message.domain.myDto.MesMsgRecordQueryOrderDto; +import com.oying.modules.message.domain.myDto.MesMsgRecordQueryPollDto; +import com.oying.modules.message.domain.myDto.MesMsgRecordQuerySystemDto; +import com.oying.utils.FileUtil; +import com.oying.utils.SecurityUtils; +import lombok.RequiredArgsConstructor; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.oying.modules.message.service.MesMsgRecordService; +import com.oying.modules.message.domain.dto.MesMsgRecordQueryCriteria; +import com.oying.modules.message.mapper.MesMsgRecordMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.oying.utils.PageUtil; + +import java.sql.Timestamp; +import java.util.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +import com.oying.utils.PageResult; + +/** + * @author 李萌 + * @description 服务实现 + * @date 2025-07-25 + **/ +@Service +@RequiredArgsConstructor +public class MesMsgRecordServiceImpl extends ServiceImpl<MesMsgRecordMapper, MesMsgRecord> implements MesMsgRecordService { + + private final MesMsgRecordMapper mesMsgRecordMapper; + + @Override + public PageResult<MesMsgRecord> queryAll(MesMsgRecordQueryCriteria criteria, Page<Object> page) { + return PageUtil.toPage(mesMsgRecordMapper.findAll(criteria, page)); + } + + @Override + public List<MesMsgRecord> queryAll(MesMsgRecordQueryCriteria criteria) { + return mesMsgRecordMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MesMsgRecord resources) { + mesMsgRecordMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MesMsgRecord resources) { + MesMsgRecord mesMsgRecord = getById(resources.getId()); + mesMsgRecord.copy(resources); + mesMsgRecordMapper.updateById(mesMsgRecord); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Long> ids) { + mesMsgRecordMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MesMsgRecord> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MesMsgRecord mesMsgRecord : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("模板ID 可无", mesMsgRecord.getTemplateId()); + map.put("接收人ID", mesMsgRecord.getReceiverId()); + map.put("1=买家 2=商户 3=骑手", mesMsgRecord.getPlatform()); + map.put("同模板type", mesMsgRecord.getMsgType()); + map.put("最终标题", mesMsgRecord.getTitle()); + map.put("最终内容", mesMsgRecord.getContent()); + map.put("业务ID 例如订单ID", mesMsgRecord.getBizId()); + map.put("业务类型 ORDER/EVALUATION 等", mesMsgRecord.getBizType()); + map.put("已读 0=未读 1=已读", mesMsgRecord.getIsRead()); + map.put("阅读时间", mesMsgRecord.getReadTime()); + map.put("扩展字段 存跳转链接等", mesMsgRecord.getExtra()); + map.put("创建人", mesMsgRecord.getCreateBy()); + map.put("创建时间", mesMsgRecord.getCreateTime()); + map.put("更新人", mesMsgRecord.getUpdateBy()); + map.put("更新时间", mesMsgRecord.getUpdateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } + + @Override + public List<MesMsgRecordQueryPollDto> PollMes(Long platform) { + return mesMsgRecordMapper.PollMes(platform); + } + + @Override + public void batchMarkRead(Long platform, List<Long> msgIds) { + mesMsgRecordMapper.batchMarkRead(platform, msgIds); + } + + @Override + public PageResult<MesMsgRecordQuerySystemDto> queryAllSysNotice(MesMsgRecordQueryCriteria criteria, Page<Object> page) { + return PageUtil.toPage(mesMsgRecordMapper.queryAllSysNotice(criteria, page)); + } + + @Override + public List<MesMsgRecordQueryOrderDto> queryorder(Long shopId) { + return mesMsgRecordMapper.queryorder(shopId); + } + + @Override + public void insertOrderMsg(String orderNo, OrderStatusEnum content, Long shopId) { + MesMsgRecord record = new MesMsgRecord(); + record.setOrderNo(orderNo); + record.setContent(content.getValue()); // 使用枚举的描述作为消息内容 + record.setShopId(shopId); + record.setMsgType(MesTypeEnum.ORDER.getKey()); // 订单消息类型为2 + record.setIsRead(MesReadEnum.UNREAD.getKey()); // 默认未读 0 + record.setCreateTime(new Timestamp(System.currentTimeMillis())); + record.setUpdateTime(new Timestamp(System.currentTimeMillis())); + try { + mesMsgRecordMapper.insert(record); + } catch (Exception e) { + log.error("插入订单消息失败:{}", e); + } + + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgTemplateServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgTemplateServiceImpl.java new file mode 100644 index 0000000..5af6a19 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgTemplateServiceImpl.java @@ -0,0 +1,83 @@ +package com.oying.modules.message.service.impl; + +import com.oying.modules.message.domain.MesMsgTemplate; +import com.oying.exception.EntityExistException; +import com.oying.utils.FileUtil; +import lombok.RequiredArgsConstructor; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.oying.modules.message.service.MesMsgTemplateService; +import com.oying.modules.message.domain.dto.MesMsgTemplateQueryCriteria; +import com.oying.modules.message.mapper.MesMsgTemplateMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.oying.utils.PageUtil; +import java.util.List; +import java.util.Map; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import com.oying.utils.PageResult; + +/** +* @description 服务实现 +* @author 李萌 +* @date 2025-07-25 +**/ +@Service +@RequiredArgsConstructor +public class MesMsgTemplateServiceImpl extends ServiceImpl<MesMsgTemplateMapper, MesMsgTemplate> implements MesMsgTemplateService { + + private final MesMsgTemplateMapper mesMsgTemplateMapper; + + @Override + public PageResult<MesMsgTemplate> queryAll(MesMsgTemplateQueryCriteria criteria, Page<Object> page){ + return PageUtil.toPage(mesMsgTemplateMapper.findAll(criteria, page)); + } + + @Override + public List<MesMsgTemplate> queryAll(MesMsgTemplateQueryCriteria criteria){ + return mesMsgTemplateMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MesMsgTemplate resources) { + mesMsgTemplateMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MesMsgTemplate resources) { + MesMsgTemplate mesMsgTemplate = getById(resources.getId()); + mesMsgTemplate.copy(resources); + mesMsgTemplateMapper.updateById(mesMsgTemplate); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Integer> ids) { + mesMsgTemplateMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MesMsgTemplate> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MesMsgTemplate mesMsgTemplate : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("模板编码", mesMsgTemplate.getCode()); + map.put("模板名称", mesMsgTemplate.getName()); + map.put("标题模板 支持占位符", mesMsgTemplate.getTitleTpl()); + map.put("内容模板 支持占位符", mesMsgTemplate.getContentTpl()); + map.put("1=系统 2=订单 3=评价/留言", mesMsgTemplate.getType()); + map.put("1=买家 2=商户 3=骑手", mesMsgTemplate.getPlatform()); + map.put("创建人", mesMsgTemplate.getCreateBy()); + map.put("创建时间", mesMsgTemplate.getCreateTime()); + map.put("更新人", mesMsgTemplate.getUpdateBy()); + map.put("更新时间", mesMsgTemplate.getUpdateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MesOrderEvaluationServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesOrderEvaluationServiceImpl.java new file mode 100644 index 0000000..e5792cc --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesOrderEvaluationServiceImpl.java @@ -0,0 +1,97 @@ +package com.oying.modules.message.service.impl; + +import com.oying.modules.message.domain.MesOrderEvaluation; +import com.oying.modules.message.domain.myDto.MesOrderEvaluationDto; +import com.oying.utils.FileUtil; +import lombok.RequiredArgsConstructor; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.oying.modules.message.service.MesOrderEvaluationService; +import com.oying.modules.message.domain.dto.MesOrderEvaluationQueryCriteria; +import com.oying.modules.message.mapper.MesOrderEvaluationMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.oying.utils.PageUtil; +import java.util.List; +import java.util.Map; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import com.oying.utils.PageResult; + +/** +* @description 服务实现 +* @author 李萌 +* @date 2025-07-25 +**/ +@Service +@RequiredArgsConstructor +public class MesOrderEvaluationServiceImpl extends ServiceImpl<MesOrderEvaluationMapper, MesOrderEvaluation> implements MesOrderEvaluationService { + + private final MesOrderEvaluationMapper mesOrderEvaluationMapper; + + @Override + public PageResult<MesOrderEvaluation> queryAll(MesOrderEvaluationQueryCriteria criteria, Page<Object> page){ + return PageUtil.toPage(mesOrderEvaluationMapper.findAll(criteria, page)); + } + + @Override + public List<MesOrderEvaluation> queryAll(MesOrderEvaluationQueryCriteria criteria){ + return mesOrderEvaluationMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MesOrderEvaluation resources) { + mesOrderEvaluationMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MesOrderEvaluation resources) { + MesOrderEvaluation mesOrderEvaluation = getById(resources.getId()); + mesOrderEvaluation.copy(resources); + mesOrderEvaluationMapper.updateById(mesOrderEvaluation); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Long> ids) { + mesOrderEvaluationMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MesOrderEvaluation> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MesOrderEvaluation mesOrderEvaluation : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("订单ID", mesOrderEvaluation.getOrderId()); + map.put("买家用户ID", mesOrderEvaluation.getBuyerId()); + map.put("订单编号 冗余字段", mesOrderEvaluation.getOrderNo()); + map.put("店铺ID 冗余字段", mesOrderEvaluation.getShopId()); + map.put("店铺名称 冗余字段", mesOrderEvaluation.getShopName()); + map.put("骑手ID", mesOrderEvaluation.getRiderId()); + map.put("骑手姓名 冗余字段", mesOrderEvaluation.getRiderName()); + map.put("商品评分 0-5,支持半星", mesOrderEvaluation.getGoodsScore()); + map.put("商品评价内容", mesOrderEvaluation.getGoodsContent()); + map.put("商品评价图片 最多5张 存JSON数组", mesOrderEvaluation.getGoodsImgs()); + map.put("店铺服务评分", mesOrderEvaluation.getShopScore()); + map.put("店铺服务评价内容", mesOrderEvaluation.getShopContent()); + map.put("骑手服务评分", mesOrderEvaluation.getRiderScore()); + map.put("骑手服务评价内容", mesOrderEvaluation.getRiderContent()); + map.put("买家删除评价 0=正常 1=已删除", mesOrderEvaluation.getIsDeleted()); + map.put("创建人", mesOrderEvaluation.getCreateBy()); + map.put("创建时间", mesOrderEvaluation.getCreateTime()); + map.put("更新人", mesOrderEvaluation.getUpdateBy()); + map.put("更新时间", mesOrderEvaluation.getUpdateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } + + @Override + public void addShopEvaluation(MesOrderEvaluationDto resources) { + mesOrderEvaluationMapper.addShopEvaluation(resources); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MesOrderItemEvaluationServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesOrderItemEvaluationServiceImpl.java new file mode 100644 index 0000000..59e9e77 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesOrderItemEvaluationServiceImpl.java @@ -0,0 +1,90 @@ +package com.oying.modules.message.service.impl; + +import com.oying.modules.message.domain.MesOrderItemEvaluation; +import com.oying.modules.message.domain.MesOrderItemEvaluationDto; +import com.oying.utils.FileUtil; +import lombok.RequiredArgsConstructor; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.oying.modules.message.service.MesOrderItemEvaluationService; +import com.oying.modules.message.domain.dto.MesOrderItemEvaluationQueryCriteria; +import com.oying.modules.message.mapper.MesOrderItemEvaluationMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.oying.utils.PageUtil; +import java.util.List; +import java.util.Map; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import com.oying.utils.PageResult; + +/** +* @description 服务实现 +* @author 李萌 +* @date 2025-07-25 +**/ +@Service +@RequiredArgsConstructor +public class MesOrderItemEvaluationServiceImpl extends ServiceImpl<MesOrderItemEvaluationMapper, MesOrderItemEvaluation> implements MesOrderItemEvaluationService { + + private final MesOrderItemEvaluationMapper mesOrderItemEvaluationMapper; + + @Override + public PageResult<MesOrderItemEvaluation> queryAll(MesOrderItemEvaluationQueryCriteria criteria, Page<Object> page){ + return PageUtil.toPage(mesOrderItemEvaluationMapper.findAll(criteria, page)); + } + + @Override + public List<MesOrderItemEvaluation> queryAll(MesOrderItemEvaluationQueryCriteria criteria){ + return mesOrderItemEvaluationMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MesOrderItemEvaluation resources) { + mesOrderItemEvaluationMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MesOrderItemEvaluation resources) { + MesOrderItemEvaluation mesOrderItemEvaluation = getById(resources.getId()); + mesOrderItemEvaluation.copy(resources); + mesOrderItemEvaluationMapper.updateById(mesOrderItemEvaluation); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Long> ids) { + mesOrderItemEvaluationMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MesOrderItemEvaluation> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MesOrderItemEvaluation mesOrderItemEvaluation : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("对应 mes_order_evaluation.id", mesOrderItemEvaluation.getOrderEvalId()); + map.put("订单明细ID", mesOrderItemEvaluation.getOrderItemId()); + map.put("商品ID", mesOrderItemEvaluation.getGoodsId()); + map.put("商品名称 冗余", mesOrderItemEvaluation.getGoodsName()); + map.put("商品主图 冗余", mesOrderItemEvaluation.getGoodsPic()); + map.put("商品单项评分", mesOrderItemEvaluation.getScore()); + map.put("评价内容", mesOrderItemEvaluation.getContent()); + map.put("评价图片JSON 最多5张", mesOrderItemEvaluation.getImgs()); + map.put("创建人", mesOrderItemEvaluation.getCreateBy()); + map.put("创建时间", mesOrderItemEvaluation.getCreateTime()); + map.put("更新人", mesOrderItemEvaluation.getUpdateBy()); + map.put("更新时间", mesOrderItemEvaluation.getUpdateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } + + @Override + public void addGoodsEvaluation(MesOrderItemEvaluationDto resources) { + mesOrderItemEvaluationMapper.addGoodsEvaluation(resources); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MesRiderEvaluationServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesRiderEvaluationServiceImpl.java new file mode 100644 index 0000000..2f5ffc6 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesRiderEvaluationServiceImpl.java @@ -0,0 +1,89 @@ +package com.oying.modules.message.service.impl; + +import com.oying.modules.message.domain.MesRiderEvaluation; +import com.oying.modules.message.domain.myDto.MesRiderEvaluationDto; +import com.oying.utils.FileUtil; +import lombok.RequiredArgsConstructor; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.oying.modules.message.service.MesRiderEvaluationService; +import com.oying.modules.message.domain.dto.MesRiderEvaluationQueryCriteria; +import com.oying.modules.message.mapper.MesRiderEvaluationMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.oying.utils.PageUtil; +import java.util.List; +import java.util.Map; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import com.oying.utils.PageResult; + +/** +* @description 服务实现 +* @author 李萌 +* @date 2025-07-25 +**/ +@Service +@RequiredArgsConstructor +public class MesRiderEvaluationServiceImpl extends ServiceImpl<MesRiderEvaluationMapper, MesRiderEvaluation> implements MesRiderEvaluationService { + + private final MesRiderEvaluationMapper mesRiderEvaluationMapper; + + @Override + public PageResult<MesRiderEvaluation> queryAll(MesRiderEvaluationQueryCriteria criteria, Page<Object> page){ + return PageUtil.toPage(mesRiderEvaluationMapper.findAll(criteria, page)); + } + + @Override + public List<MesRiderEvaluation> queryAll(MesRiderEvaluationQueryCriteria criteria){ + return mesRiderEvaluationMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MesRiderEvaluation resources) { + mesRiderEvaluationMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MesRiderEvaluation resources) { + MesRiderEvaluation mesRiderEvaluation = getById(resources.getId()); + mesRiderEvaluation.copy(resources); + mesRiderEvaluationMapper.updateById(mesRiderEvaluation); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Long> ids) { + mesRiderEvaluationMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MesRiderEvaluation> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MesRiderEvaluation mesRiderEvaluation : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("订单ID", mesRiderEvaluation.getOrderId()); + map.put("订单编号 冗余", mesRiderEvaluation.getOrderNo()); + map.put("骑手ID", mesRiderEvaluation.getRiderId()); + map.put("骑手姓名 冗余", mesRiderEvaluation.getRiderName()); + map.put("买家用户ID", mesRiderEvaluation.getBuyerId()); + map.put("骑手服务评分", mesRiderEvaluation.getScore()); + map.put("评价内容", mesRiderEvaluation.getContent()); + map.put("创建人", mesRiderEvaluation.getCreateBy()); + map.put("创建时间", mesRiderEvaluation.getCreateTime()); + map.put("更新人", mesRiderEvaluation.getUpdateBy()); + map.put("更新时间", mesRiderEvaluation.getUpdateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } + + @Override + public void addRiderEvaluation(MesRiderEvaluationDto resources) { + mesRiderEvaluationMapper.addRiderEvaluation(resources); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MesShopReplyServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesShopReplyServiceImpl.java new file mode 100644 index 0000000..fb9da35 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesShopReplyServiceImpl.java @@ -0,0 +1,79 @@ +package com.oying.modules.message.service.impl; + +import com.oying.modules.message.domain.MesShopReply; +import com.oying.utils.FileUtil; +import lombok.RequiredArgsConstructor; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.oying.modules.message.service.MesShopReplyService; +import com.oying.modules.message.domain.dto.MesShopReplyQueryCriteria; +import com.oying.modules.message.mapper.MesShopReplyMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.oying.utils.PageUtil; +import java.util.List; +import java.util.Map; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import com.oying.utils.PageResult; + +/** +* @description 服务实现 +* @author 李萌 +* @date 2025-07-25 +**/ +@Service +@RequiredArgsConstructor +public class MesShopReplyServiceImpl extends ServiceImpl<MesShopReplyMapper, MesShopReply> implements MesShopReplyService { + + private final MesShopReplyMapper mesShopReplyMapper; + + @Override + public PageResult<MesShopReply> queryAll(MesShopReplyQueryCriteria criteria, Page<Object> page){ + return PageUtil.toPage(mesShopReplyMapper.findAll(criteria, page)); + } + + @Override + public List<MesShopReply> queryAll(MesShopReplyQueryCriteria criteria){ + return mesShopReplyMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MesShopReply resources) { + mesShopReplyMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MesShopReply resources) { + MesShopReply mesShopReply = getById(resources.getId()); + mesShopReply.copy(resources); + mesShopReplyMapper.updateById(mesShopReply); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Long> ids) { + mesShopReplyMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MesShopReply> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MesShopReply mesShopReply : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("mes_order_evaluation.id", mesShopReply.getEvaluationId()); + map.put("1=商品评价回复 2=店铺服务评价回复", mesShopReply.getReplyType()); + map.put("回复内容", mesShopReply.getContent()); + map.put("商户ID", mesShopReply.getCreateBy()); + map.put("创建时间", mesShopReply.getCreateTime()); + map.put("更新人", mesShopReply.getUpdateBy()); + map.put("更新时间", mesShopReply.getUpdateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } +} diff --git a/oying-system/src/main/resources/mapper/message/MesAdvertisementMapper.xml b/oying-system/src/main/resources/mapper/message/MesAdvertisementMapper.xml new file mode 100644 index 0000000..5b4f941 --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MesAdvertisementMapper.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.oying.modules.message.mapper.MesAdvertisementMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MesAdvertisement"> + <id column="id" property="id"/> + <result column="title" property="title"/> + <result column="sub_title" property="subTitle"/> + <result column="content" property="content"/> + <result column="cover_img" property="coverImg"/> + <result column="banner_img" property="bannerImg"/> + <result column="platform" property="platform"/> + <result column="jump_type" property="jumpType"/> + <result column="jump_url" property="jumpUrl"/> + <result column="jump_params" property="jumpParams"/> + <result column="sort_order" property="sortOrder"/> + <result column="is_top" property="isTop"/> + <result column="status" property="status"/> + <result column="effective_time" property="effectiveTime"/> + <result column="expire_time" property="expireTime"/> + <result column="click_count" property="clickCount"/> + <result column="show_count" property="showCount"/> + <result column="remark" property="remark"/> + <result column="create_by" property="createBy"/> + <result column="create_time" property="createTime"/> + <result column="update_by" property="updateBy"/> + <result column="update_time" property="updateTime"/> + </resultMap> + + <sql id="Base_Column_List"> + id, title, sub_title, content, cover_img, banner_img, platform, jump_type, jump_url, jump_params, sort_order, is_top, status, effective_time, expire_time, click_count, show_count, remark, create_by, create_time, update_by, update_time + </sql> + + <select id="findAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from mes_advertisement + <where> + </where> + order by id desc + </select> +</mapper> \ No newline at end of file diff --git a/oying-system/src/main/resources/mapper/message/MesCustomerCommentMsgMapper.xml b/oying-system/src/main/resources/mapper/message/MesCustomerCommentMsgMapper.xml new file mode 100644 index 0000000..5e336ad --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MesCustomerCommentMsgMapper.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.oying.modules.message.mapper.MesCustomerCommentMsgMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MesCustomerCommentMsg"> + <id column="id" property="id"/> + <result column="msg_record_id" property="msgRecordId"/> + <result column="shop_id" property="shopId"/> + <result column="order_id" property="orderId"/> + <result column="order_no" property="orderNo"/> + <result column="buyer_id" property="buyerId"/> + <result column="buyer_name" property="buyerName"/> + <result column="evaluation_id" property="evaluationId"/> + <result column="replied" property="replied"/> + <result column="create_by" property="createBy"/> + <result column="create_time" property="createTime"/> + <result column="update_by" property="updateBy"/> + <result column="update_time" property="updateTime"/> + <result column="comment_time" property="commentTime"/> + <result column="comment_content" property="commentContent"/> + <result column="reply_content" property="replyContent"/> + <result column="ext_jump_url" property="extJumpUrl"/> + <result column="int_jump_path" property="intJumpPath"/> + </resultMap> + + <sql id="Base_Column_List"> + id, msg_record_id, shop_id, order_id, order_no, buyer_id, buyer_name, evaluation_id, replied, create_by, create_time, update_by, update_time, comment_time, comment_content, reply_content, ext_jump_url, int_jump_path + </sql> + <sql id="CustomerCommentMsg_Column_List"> + id, shop_id, order_no, buyer_id, buyer_name, replied, comment_time, comment_content, reply_content + </sql> + + + <select id="findAll" resultMap="BaseResultMap"> + SELECT + <include refid="Base_Column_List"/> + FROM mes_customer_comment_msg + <where> + </where> + ORDER BY id DESC + </select> + + <select id="listCustomerComment" resultType="com.oying.modules.message.domain.myDto.MesCustomerCommentMsgDTO" + parameterType="java.lang.Long"> + SELECT + <include refid="CustomerCommentMsg_Column_List"/> + FROM mes_customer_comment_msg + WHERE shop_id = #{shopId} + ORDER BY id DESC + </select> +</mapper> diff --git a/oying-system/src/main/resources/mapper/message/MesMsgRecordMapper.xml b/oying-system/src/main/resources/mapper/message/MesMsgRecordMapper.xml new file mode 100644 index 0000000..e204aaf --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MesMsgRecordMapper.xml @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.oying.modules.message.mapper.MesMsgRecordMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MesMsgRecord"> + <id column="id" property="id"/> + <result column="template_id" property="templateId"/> + <result column="receiver_id" property="receiverId"/> + <result column="platform" property="platform"/> + <result column="msg_type" property="msgType"/> + <result column="title" property="title"/> + <result column="content" property="content"/> + <result column="biz_id" property="bizId"/> + <result column="biz_type" property="bizType"/> + <result column="is_read" property="isRead"/> + <result column="read_time" property="readTime"/> + <result column="extra" property="extra"/> + <result column="create_by" property="createBy"/> + <result column="create_time" property="createTime"/> + <result column="update_by" property="updateBy"/> + <result column="update_time" property="updateTime"/> + <!-- 新增字段映射 --> + <result column="order_id" property="orderId"/> + <result column="buyer_id" property="buyerId"/> + <result column="order_no" property="orderNo"/> + <result column="shop_id" property="shopId"/> + <result column="shop_name" property="shopName"/> + <result column="rider_id" property="riderId"/> + <result column="rider_name" property="riderName"/> + </resultMap> + <!-- 为 MesMsgRecordQueryPollDto 创建专门的 resultMap --> + <resultMap id="PollResultMap" type="com.oying.modules.message.domain.myDto.MesMsgRecordQueryPollDto"> + <id column="id" property="id"/> + <result column="title" property="title"/> + <result column="content" property="content"/> + </resultMap> + <!-- 为 MesMsgRecordQuerySystemDto 创建专门的 resultMap --> + <resultMap id="SystemResultMap" type="com.oying.modules.message.domain.myDto.MesMsgRecordQuerySystemDto"> + <id column="id" property="id"/> + <result column="title" property="title"/> + <result column="content" property="content"/> + </resultMap> + + + + + <sql id="Base_Column_List"> + id, template_id, receiver_id, platform, msg_type, title, content, biz_id, biz_type, is_read, read_time, extra, create_by, create_time, update_by, update_time + </sql> + <!-- 与 MesMsgRecordQueryPollDto 字段对应的 SQL 片段 --> + <sql id="Poll_Column_List"> + id, title, content + </sql> + <!-- 与 MesMsgRecordQuerySystemDto 字段对应的 SQL 片段 --> + <sql id="System_Column_List"> + id, title, content + </sql> + <update id="batchMarkRead"> + UPDATE mes_msg_record + SET is_read = 1, + read_time = NOW() + WHERE id IN + <foreach item="item" collection="msgIds" separator="," open="(" close=")"> + #{item} + </foreach> + AND platform = #{platform} + </update> + + <select id="findAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from mes_msg_record + <where> + </where> + order by id desc + </select> + <!-- 使用专门的 resultMap 进行映射 --> + <select id="PollMes" parameterType="java.lang.Long" resultMap="PollResultMap"> + <!-- 根据平台 查询未读消息 --> + select + <include refid="Poll_Column_List"/> + from mes_msg_record + <where> + <if test="platform != null"> + platform = #{platform} + </if> + and is_read = 0 + </where> + order by id desc + </select> + <select id="queryAllSysNotice" + resultMap="SystemResultMap"> + select + <include refid="System_Column_List"/> + from mes_msg_record + <where> +# 系统1 + msg_type = 1 + </where> + order by id desc + </select> + <select id="queryorder" resultType="com.oying.modules.message.domain.myDto.MesMsgRecordQueryOrderDto" + parameterType="java.lang.Long"> +# 根据店铺号 给出订单号与订单消息 + select id,content,order_no + from mes_msg_record + <where> + <if test="shopId != null"> + shop_id = #{shopId} + </if> + </where> + + </select> +</mapper> \ No newline at end of file diff --git a/oying-system/src/main/resources/mapper/message/MesMsgTemplateMapper.xml b/oying-system/src/main/resources/mapper/message/MesMsgTemplateMapper.xml new file mode 100644 index 0000000..70910f4 --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MesMsgTemplateMapper.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.oying.modules.message.mapper.MesMsgTemplateMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MesMsgTemplate"> + <id column="id" property="id"/> + <result column="code" property="code"/> + <result column="name" property="name"/> + <result column="title_tpl" property="titleTpl"/> + <result column="content_tpl" property="contentTpl"/> + <result column="type" property="type"/> + <result column="platform" property="platform"/> + <result column="create_by" property="createBy"/> + <result column="create_time" property="createTime"/> + <result column="update_by" property="updateBy"/> + <result column="update_time" property="updateTime"/> + </resultMap> + + <sql id="Base_Column_List"> + id, code, name, title_tpl, content_tpl, type, platform, create_by, create_time, update_by, update_time + </sql> + + <select id="findAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from mes_msg_template + <where> + </where> + order by id desc + </select> +</mapper> \ No newline at end of file diff --git a/oying-system/src/main/resources/mapper/message/MesOrderEvaluationMapper.xml b/oying-system/src/main/resources/mapper/message/MesOrderEvaluationMapper.xml new file mode 100644 index 0000000..f03b56a --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MesOrderEvaluationMapper.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.oying.modules.message.mapper.MesOrderEvaluationMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MesOrderEvaluation"> + <id column="id" property="id"/> + <result column="order_id" property="orderId"/> + <result column="buyer_id" property="buyerId"/> + <result column="order_no" property="orderNo"/> + <result column="shop_id" property="shopId"/> + <result column="shop_name" property="shopName"/> + <result column="rider_id" property="riderId"/> + <result column="rider_name" property="riderName"/> + <result column="goods_score" property="goodsScore"/> + <result column="goods_content" property="goodsContent"/> + <result column="goods_imgs" property="goodsImgs"/> + <result column="shop_score" property="shopScore"/> + <result column="shop_content" property="shopContent"/> + <result column="rider_score" property="riderScore"/> + <result column="rider_content" property="riderContent"/> + <result column="is_deleted" property="isDeleted"/> + <result column="create_by" property="createBy"/> + <result column="create_time" property="createTime"/> + <result column="update_by" property="updateBy"/> + <result column="update_time" property="updateTime"/> + </resultMap> + + <sql id="Base_Column_List"> + id, order_id, buyer_id, order_no, shop_id, shop_name, rider_id, rider_name, goods_score, goods_content, goods_imgs, shop_score, shop_content, rider_score, rider_content, is_deleted, create_by, create_time, update_by, update_time + </sql> + <insert id="addShopEvaluation" parameterType="com.oying.modules.message.domain.myDto.MesOrderEvaluationDto"> + INSERT INTO mes_order_evaluation + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="shopId != null"> + shop_id, + </if> + <if test="shopName != null and shopName != ''"> + shop_name, + </if> + <if test="shopScore != null"> + shop_score, + </if> + <if test="shopContent != null and shopContent != ''"> + shop_content, + </if> + </trim> + <trim prefix="VALUES (" suffix=")" suffixOverrides=","> + <if test="shopId != null"> + #{shopId}, + </if> + <if test="shopName != null and shopName != ''"> + #{shopName}, + </if> + <if test="shopScore != null"> + #{shopScore}, + </if> + <if test="shopContent != null and shopContent != ''"> + #{shopContent}, + </if> + </trim> + </insert> + + + <select id="findAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from mes_order_evaluation + <where> + </where> + order by id desc + </select> +</mapper> \ No newline at end of file diff --git a/oying-system/src/main/resources/mapper/message/MesOrderItemEvaluationMapper.xml b/oying-system/src/main/resources/mapper/message/MesOrderItemEvaluationMapper.xml new file mode 100644 index 0000000..e7b0208 --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MesOrderItemEvaluationMapper.xml @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.oying.modules.message.mapper.MesOrderItemEvaluationMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MesOrderItemEvaluation"> + <id column="id" property="id"/> + <result column="order_eval_id" property="orderEvalId"/> + <result column="order_item_id" property="orderItemId"/> + <result column="goods_id" property="goodsId"/> + <result column="goods_name" property="goodsName"/> + <result column="goods_pic" property="goodsPic"/> + <result column="score" property="score"/> + <result column="content" property="content"/> + <result column="imgs" property="imgs"/> + <result column="create_by" property="createBy"/> + <result column="create_time" property="createTime"/> + <result column="update_by" property="updateBy"/> + <result column="update_time" property="updateTime"/> + </resultMap> + + <sql id="Base_Column_List"> + id, order_eval_id, order_item_id, goods_id, goods_name, goods_pic, score, content, imgs, create_by, create_time, update_by, update_time + </sql> + <insert id="addGoodsEvaluation" parameterType="com.oying.modules.message.domain.MesOrderItemEvaluationDto"> + INSERT INTO mes_order_item_evaluation + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="orderEvalId != null"> + order_eval_id, + </if> + <if test="orderItemId != null"> + order_item_id, + </if> + <if test="goodsId != null"> + goods_id, + </if> + <if test="goodsName != null and goodsName != ''"> + goods_name, + </if> + <if test="goodsPic != null and goodsPic != ''"> + goods_pic, + </if> + <if test="score != null"> + score, + </if> + <if test="content != null and content != ''"> + content, + </if> + <if test="imgs != null and imgs != ''"> + imgs, + </if> + </trim> + <trim prefix="VALUES (" suffix=")" suffixOverrides=","> + <if test="orderEvalId != null"> + #{orderEvalId}, + </if> + <if test="orderItemId != null"> + #{orderItemId}, + </if> + <if test="goodsId != null"> + #{goodsId}, + </if> + <if test="goodsName != null and goodsName != ''"> + #{goodsName}, + </if> + <if test="goodsPic != null and goodsPic != ''"> + #{goodsPic}, + </if> + <if test="score != null"> + #{score}, + </if> + <if test="content != null and content != ''"> + #{content}, + </if> + <if test="imgs != null and imgs != ''"> + #{imgs}, + </if> + </trim> + </insert> + + + <select id="findAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from mes_order_item_evaluation + <where> + </where> + order by id desc + </select> +</mapper> \ No newline at end of file diff --git a/oying-system/src/main/resources/mapper/message/MesRiderEvaluationMapper.xml b/oying-system/src/main/resources/mapper/message/MesRiderEvaluationMapper.xml new file mode 100644 index 0000000..da02422 --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MesRiderEvaluationMapper.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.oying.modules.message.mapper.MesRiderEvaluationMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MesRiderEvaluation"> + <id column="id" property="id"/> + <result column="order_id" property="orderId"/> + <result column="order_no" property="orderNo"/> + <result column="rider_id" property="riderId"/> + <result column="rider_name" property="riderName"/> + <result column="buyer_id" property="buyerId"/> + <result column="score" property="score"/> + <result column="content" property="content"/> + <result column="create_by" property="createBy"/> + <result column="create_time" property="createTime"/> + <result column="update_by" property="updateBy"/> + <result column="update_time" property="updateTime"/> + </resultMap> + + <sql id="Base_Column_List"> + id, order_id, order_no, rider_id, rider_name, buyer_id, score, content, create_by, create_time, update_by, update_time + </sql> + <insert id="addRiderEvaluation" parameterType="com.oying.modules.message.domain.myDto.MesRiderEvaluationDto"> + INSERT INTO mes_rider_evaluation + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="orderId != null"> + order_id, + </if> + <if test="orderNo != null and orderNo != ''"> + order_no, + </if> + <if test="riderId != null"> + rider_id, + </if> + <if test="riderName != null and riderName != ''"> + rider_name, + </if> + <if test="buyerId != null and buyerId != ''"> + buyer_id, + </if> + <if test="score != null"> + score, + </if> + <if test="content != null and content != ''"> + content, + </if> + <if test="imgs != null and imgs != ''"> + imgs, + </if> + </trim> + <trim prefix="VALUES (" suffix=")" suffixOverrides=","> + <if test="orderId != null"> + #{orderId}, + </if> + <if test="orderNo != null and orderNo != ''"> + #{orderNo}, + </if> + <if test="riderId != null"> + #{riderId}, + </if> + <if test="riderName != null and riderName != ''"> + #{riderName}, + </if> + <if test="buyerId != null and buyerId != ''"> + #{buyerId}, + </if> + <if test="score != null"> + #{score}, + </if> + <if test="content != null and content != ''"> + #{content}, + </if> + <if test="imgs != null and imgs != ''"> + #{imgs}, + </if> + </trim> + </insert> + + <select id="findAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from mes_rider_evaluation + <where> + </where> + order by id desc + </select> +</mapper> \ No newline at end of file diff --git a/oying-system/src/main/resources/mapper/message/MesShopReplyMapper.xml b/oying-system/src/main/resources/mapper/message/MesShopReplyMapper.xml new file mode 100644 index 0000000..f2ec744 --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MesShopReplyMapper.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.oying.modules.message.mapper.MesShopReplyMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MesShopReply"> + <id column="id" property="id"/> + <result column="evaluation_id" property="evaluationId"/> + <result column="reply_type" property="replyType"/> + <result column="content" property="content"/> + <result column="create_by" property="createBy"/> + <result column="create_time" property="createTime"/> + <result column="update_by" property="updateBy"/> + <result column="update_time" property="updateTime"/> + </resultMap> + + <sql id="Base_Column_List"> + id, evaluation_id, reply_type, content, create_by, create_time, update_by, update_time + </sql> + + <select id="findAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from mes_shop_reply + <where> + </where> + order by id desc + </select> +</mapper> \ No newline at end of file -- Gitblit v1.9.3