Merge branch 'master' into xin
68 files added
15 files modified
New file |
| | |
| | | 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() + '\'' + |
| | | '}'; |
| | | } |
| | | } |
New file |
| | |
| | | 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() + '\'' + |
| | | '}'; |
| | | } |
| | | } |
New file |
| | |
| | | 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() + '\'' + |
| | | '}'; |
| | | } |
| | | } |
| | |
| | | @Getter |
| | | @AllArgsConstructor |
| | | public enum OrderStatusEnum { |
| | | //订单消息 通知状态 用于插入 |
| | | |
| | | ZERO(0, "订单已提交"), |
| | | ONE(1, "支付成功"), |
New file |
| | |
| | | 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() + '\'' + |
| | | '}'; |
| | | } |
| | | } |
New file |
| | |
| | | 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)); |
| | | } |
| | | } |
New file |
| | |
| | | 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)); |
| | | } |
| | | } |
New file |
| | |
| | | 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)); |
| | | } |
| | | } |
New file |
| | |
| | | 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)); |
| | | } |
| | | } |
New file |
| | |
| | | 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)); |
| | | } |
| | | } |
New file |
| | |
| | | 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)); |
| | | } |
| | | } |
New file |
| | |
| | | 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)); |
| | | } |
| | | } |
New file |
| | |
| | | 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)); |
| | | } |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | } |
New file |
| | |
| | | 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)); |
| | | } |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | 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()); |
| | | } |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | 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 获取订单消息失败"); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | 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()); |
| | | } |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | 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()); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | 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()); |
| | | } |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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); |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | |
| | | private Integer limit; |
| | | |
| | | private String sortColumn; |
| | | |
| | | private String sortDirection; |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "商品标题") |
| | | private String title; |
| | | |
| | | @ApiModelProperty(value = "一级分类ID") |
| | | private Long categoryId; |
| | | |
| | | @ApiModelProperty(value = "二级分类ID") |
| | | private Long secondCategoryId; |
| | | |
| | | @ApiModelProperty(value = "状态") |
| | | private Integer status; |
| | | |
| | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.oying.base.BaseEntity; |
| | | import com.oying.modules.pc.product.domain.Product; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | @ApiModelProperty(value = "店铺标签,逗号分隔") |
| | | private String tags; |
| | | |
| | | @ApiModelProperty(value = "配送费用") |
| | | private BigDecimal deliveryFee; |
| | | |
| | | @ApiModelProperty(value = "起送金额") |
| | | private BigDecimal deliveryMinimum; |
| | | |
| | | @ApiModelProperty(value = "联系电话") |
| | | private String contactPhone; |
| | | |
| | | @ApiModelProperty(value = "营业开始时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime openTime; |
| | | |
| | | @ApiModelProperty(value = "营业结束时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime closeTime; |
| | | |
| | | @ApiModelProperty(value = "营业状态") |
| | |
| | | @ApiModelProperty(value = "评分") |
| | | private Double score = 0d; |
| | | |
| | | @ApiModelProperty(value = "包装费用") |
| | | private BigDecimal packagingFee; |
| | | |
| | | @ApiModelProperty(value = "配送费用") |
| | | private BigDecimal deliveryFee; |
| | | |
| | | @ApiModelProperty(value = "起送金额") |
| | | private BigDecimal deliveryMinimum; |
| | | |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "配送距离") |
| | | private Integer deliveryDuration = 0; |
| | |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalTime; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | @ApiModelProperty(value = "是否支持自提") |
| | | private Integer selfPickup; |
| | | |
| | | @ApiModelProperty(value = "包装费用") |
| | | private BigDecimal packagingFee; |
| | | |
| | | @ApiModelProperty(value = "店铺资质", example = "[]") |
| | | private List<StoreQualificationCreateRequest> qualificationList = new ArrayList<>(); |
| | | |
| | |
| | | package com.oying.modules.pc.store.domain.dto; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | |
| | | private String contactPhone; |
| | | |
| | | @ApiModelProperty(value = "营业开始时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime openTime; |
| | | |
| | | @ApiModelProperty(value = "营业结束时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime closeTime; |
| | | |
| | | private String businessHours; |
| | |
| | | package com.oying.modules.pc.store.domain.dto; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | |
| | | public interface UpdateStoreBusinessHoursGroup{} |
| | | |
| | | @NotNull(groups = UpdateStoreBusinessHoursGroup.class) |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime openTime; |
| | | |
| | | @NotNull(groups = UpdateStoreBusinessHoursGroup.class) |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime closeTime; |
| | | |
| | | public interface UpdateStoreAddressGroup{} |
| | |
| | | package com.oying.modules.pc.store.domain.dto; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.oying.modules.pc.product.domain.Product; |
| | | import com.oying.modules.pc.store.domain.StoreQualification; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | @ApiModelProperty(value = "起送金额") |
| | | private BigDecimal deliveryMinimum; |
| | | |
| | | @ApiModelProperty(value = "包装费用") |
| | | private BigDecimal packagingFee; |
| | | |
| | | @ApiModelProperty(value = "联系电话") |
| | | private String contactPhone; |
| | | |
| | | @ApiModelProperty(value = "营业开始时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime openTime; |
| | | |
| | | @ApiModelProperty(value = "营业结束时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime closeTime; |
| | | |
| | | @ApiModelProperty(value = "详细地址") |
| | |
| | | package com.oying.modules.pc.store.rest; |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.core.bean.copier.CopyOptions; |
| | | import cn.hutool.core.util.ObjUtil; |
| | | import com.oying.modules.pc.product.domain.Product; |
| | | import com.oying.modules.pc.product.domain.dto.ProductQueryCriteria; |
| | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | |
| | | public ResponseEntity<?> getStoreById(@PathVariable("storeId") Long storeId) { |
| | | Store store = storeService.getById(storeId); |
| | | CustomerStoreView view = new CustomerStoreView(); |
| | | BeanUtils.copyProperties(store, view); |
| | | BeanUtil.copyProperties(store, view, CopyOptions.create().setIgnoreNullValue(true)); |
| | | view.setBusinessHours(BusinessHoursUtils.formatBusinessHours(store.getOpenTime(), store.getCloseTime())); |
| | | return ResponseEntity.ok(R.success(view)); |
| | | } |
| | |
| | | @ApiOperation("查询店铺") |
| | | public ResponseEntity<?> getStoreDetailsById(@PathVariable("storeId") Long storeId) { |
| | | Store store = storeService.getById(storeId); |
| | | CustomerStoreView view = new CustomerStoreView(); |
| | | BeanUtil.copyProperties(store, view, CopyOptions.create().setIgnoreNullValue(true)); |
| | | view.setBusinessHours(BusinessHoursUtils.formatBusinessHours(store.getOpenTime(), store.getCloseTime())); |
| | | if (ObjUtil.isNotEmpty(store)) { |
| | | store.setQualifications(storeQualificationService.getByStoreId(storeId)); |
| | | view.setQualifications(storeQualificationService.getByStoreId(storeId)); |
| | | } |
| | | return ResponseEntity.ok(R.success(store)); |
| | | return ResponseEntity.ok(R.success(view)); |
| | | } |
| | | |
| | | private List<Product> getProductsByStoreId(Long storeId) { |
| | |
| | | //@PreAuthorize("@el.check('merchant:store:getById')") |
| | | public ResponseEntity<?> getStoreById(@PathVariable Long storeId) { |
| | | Store store = storeService.getById(storeId); |
| | | StoreMerchantView view = new StoreMerchantView(); |
| | | BeanUtils.copyProperties(store, view); |
| | | return ResponseEntity.ok(R.success(view)); |
| | | /*StoreMerchantView view = new StoreMerchantView(); |
| | | BeanUtils.copyProperties(store, view);*/ |
| | | return ResponseEntity.ok(R.success(store)); |
| | | } |
| | | |
| | | @GetMapping(value = "/{storeId}/details") |
| | |
| | | package com.oying.modules.pc.store.view; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.oying.modules.pc.store.domain.StoreQualification; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalTime; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class CustomerStoreView { |
| | |
| | | @ApiModelProperty(value = "联系电话") |
| | | private String contactPhone; |
| | | |
| | | @ApiModelProperty(value = "营业时间") |
| | | private String businessHours; |
| | | |
| | | @ApiModelProperty(value = "营业开始时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime openTime; |
| | | |
| | | @ApiModelProperty(value = "营业结束时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime closeTime; |
| | | |
| | | private String businessHours; |
| | | @ApiModelProperty(value = "营业状态") |
| | | private Integer businessStatus; |
| | | |
| | | @ApiModelProperty(value = "市级代码") |
| | | private String cityCode; |
| | | |
| | | @ApiModelProperty(value = "详细地址") |
| | | private String address; |
| | |
| | | @ApiModelProperty(value = "评分") |
| | | private Double score = 0d; |
| | | |
| | | @ApiModelProperty(value = "包装费用") |
| | | private BigDecimal packagingFee; |
| | | |
| | | @ApiModelProperty(value = "配送费用") |
| | | private BigDecimal deliveryFee; |
| | | |
| | | @ApiModelProperty(value = "起送金额") |
| | | private BigDecimal deliveryMinimum; |
| | | |
| | | @ApiModelProperty(value = "配送距离") |
| | | private Integer deliveryDuration = 0; |
| | | |
| | |
| | | @ApiModelProperty(value = "月销售量") |
| | | private Integer monthlyUnitsSold = 0; |
| | | |
| | | @ApiModelProperty(value = "资质") |
| | | private List<StoreQualification> qualifications; |
| | | |
| | | } |
| | |
| | | package com.oying.modules.pc.store.view; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.oying.modules.pc.store.domain.StoreQualification; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalTime; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class StoreMerchantView { |
| | |
| | | @ApiModelProperty(value = "店铺描述") |
| | | private String description; |
| | | |
| | | @ApiModelProperty(value = "包装费用") |
| | | private BigDecimal packagingFee; |
| | | |
| | | @ApiModelProperty(value = "联系电话") |
| | | private String contactPhone; |
| | | |
| | | @ApiModelProperty(value = "营业开始时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime openTime; |
| | | |
| | | @ApiModelProperty(value = "营业结束时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime closeTime; |
| | | |
| | | @ApiModelProperty(value = "详细地址") |
| | |
| | | @ApiModelProperty(value = "版本号") |
| | | private Long version; |
| | | |
| | | @ApiModelProperty(value = "资质") |
| | | private List<StoreQualification> qualifications; |
| | | |
| | | } |
| | |
| | | package com.oying.modules.pc.store.view; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | |
| | | private String contactPhone; |
| | | |
| | | @ApiModelProperty(value = "营业开始时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime openTime; |
| | | |
| | | @ApiModelProperty(value = "营业结束时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") |
| | | private LocalTime closeTime; |
| | | |
| | | @ApiModelProperty(value = "市级代码") |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
| | |
| | | </sql> |
| | | |
| | | <select id="findAll" resultMap="BaseResultMap"> |
| | | select |
| | | SELECT |
| | | <include refid="Base_Column_List"/> |
| | | from pc_product |
| | | FROM pc_product |
| | | <where> |
| | | <if test="criteria.storeId != null"> |
| | | and store_id = #{criteria.storeId} |
| | |
| | | and active = #{criteria.active} |
| | | </if> |
| | | </where> |
| | | order by product_id desc |
| | | <!--<if test="criteria.sortColumn != null and criteria.sortColumn != ''"> |
| | | order by ${criteria.sortColumn} ${criteria.sortDirection} |
| | | </if>--> |
| | | ORDER BY |
| | | <choose> |
| | | <!-- 价格升序 --> |
| | | <when test="criteria.sortColumn == 'price' and criteria.sortDirection == 'asc'">price ASC</when> |
| | | <!-- 价格降序 --> |
| | | <when test="criteria.sortColumn == 'price' and criteria.sortDirection == 'desc'">price DESC</when> |
| | | <!-- 创建时间降序(默认) --> |
| | | <otherwise>create_time DESC</otherwise> |
| | | </choose> |
| | | <if test="criteria.limit != null"> |
| | | limit #{criteria.limit} |
| | | LIMIT #{criteria.limit} |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | <result property="tags" column="tags"/> |
| | | <result property="deliveryFee" column="delivery_fee"/> |
| | | <result property="deliveryMinimum" column="delivery_minimum"/> |
| | | <result property="packagingFee" column="packaging_fee"/> |
| | | <result property="contactPhone" column="contact_phone"/> |
| | | <result property="openTime" column="open_time"/> |
| | | <result property="closeTime" column="close_time"/> |
| | |
| | | |
| | | <sql id="store_column_list"> |
| | | store_id, merchant_id, platform_category_id, store_type, store_code, store_name, business_scope, status, business_status, audit_status, logo_image_id, logo_image_url, |
| | | cover_image_id, cover_image_url, description, tags, delivery_fee, delivery_minimum, contact_phone, open_time, close_time, |
| | | cover_image_id, cover_image_url, description, tags, delivery_fee, delivery_minimum, packaging_fee, contact_phone, open_time, close_time, |
| | | address, longitude, latitude, geo_hash, geo_point, coordinate_system, radius, returns, self_pickup, create_by, create_time, update_by, update_time, version |
| | | </sql> |
| | | |
| | | <sql id="selectStoreVo"> |
| | | select |
| | | store_id, merchant_id, platform_category_id, store_type, store_code, store_name, business_scope, status, business_status, audit_status, logo_image_id, logo_image_url, |
| | | cover_image_id, cover_image_url, description, tags, delivery_fee, delivery_minimum, contact_phone, open_time, close_time, |
| | | cover_image_id, cover_image_url, description, tags, delivery_fee, delivery_minimum, packaging_fee, contact_phone, open_time, close_time, |
| | | address, longitude, latitude, geo_hash, geo_point, coordinate_system, radius, returns, self_pickup, create_by, create_time, update_by, update_time, version from pc_store |
| | | </sql> |
| | | |