leomon
2025-06-05 a3fffa17c643bb96159a23880e1749c486279906
消息中心统一 响应R
12 files modified
150 ■■■■■ changed files
oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderBuyer.java 7 ●●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderLeave.java 7 ●●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderSeller.java 7 ●●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/message/domain/MessageSystem.java 3 ●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderBuyerController.java 28 ●●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java 30 ●●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java 24 ●●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java 23 ●●●●● patch | view | raw | blame | history
oying-system/src/main/resources/mapper/message/MessageOrderBuyerMapper.xml 5 ●●●● patch | view | raw | blame | history
oying-system/src/main/resources/mapper/message/MessageOrderLeaveMapper.xml 5 ●●●● patch | view | raw | blame | history
oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml 5 ●●●● patch | view | raw | blame | history
oying-system/src/main/resources/mapper/message/MessageSystemMapper.xml 6 ●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderBuyer.java
@@ -1,5 +1,6 @@
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;
@@ -19,7 +20,7 @@
**/
@Data
@TableName("message_order_buyer")
public class MessageOrderBuyer implements Serializable {
public class MessageOrderBuyer extends BaseEntity implements Serializable {
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "主键,自增 用户id")
@@ -41,8 +42,8 @@
    @ApiModelProperty(value = "跳转链接")
    private String link;
    @ApiModelProperty(value = "创建时间")
    private Timestamp createTime;
//    @ApiModelProperty(value = "创建时间")
//    private Timestamp createTime;
    public void copy(MessageOrderBuyer source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderLeave.java
@@ -1,5 +1,6 @@
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;
@@ -19,7 +20,7 @@
**/
@Data
@TableName("message_order_leave")
public class MessageOrderLeave implements Serializable {
public class MessageOrderLeave extends BaseEntity implements Serializable {
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "主键,自增")
@@ -41,8 +42,8 @@
    @ApiModelProperty(value = "跳转链接")
    private String link="https://example.com/default-link";
    @ApiModelProperty(value = "创建时间")
    private Timestamp createTime;
//    @ApiModelProperty(value = "创建时间")
//    private Timestamp createTime;
    public void copy(MessageOrderLeave source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderSeller.java
@@ -1,5 +1,6 @@
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;
@@ -19,7 +20,7 @@
**/
@Data
@TableName("message_order_seller")
public class MessageOrderSeller implements Serializable {
public class MessageOrderSeller extends BaseEntity implements Serializable {
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "id")
@@ -41,8 +42,8 @@
    @ApiModelProperty(value = "link")
    private String link;
    @ApiModelProperty(value = "createTime")
    private Timestamp createTime;
//    @ApiModelProperty(value = "createTime")
//    private Timestamp createTime;
    public void copy(MessageOrderSeller source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
oying-system/src/main/java/com/oying/modules/message/domain/MessageSystem.java
@@ -1,5 +1,6 @@
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;
@@ -21,7 +22,7 @@
 **/
@Data
@TableName("message_system")
public class MessageSystem implements Serializable {
public class MessageSystem extends BaseEntity implements Serializable {
    //使用数据库的自增策略来生成id
    @TableId(value = "id", type = IdType.AUTO)
oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderBuyerController.java
@@ -4,6 +4,7 @@
import com.oying.modules.message.domain.MessageOrderBuyer;
import com.oying.modules.message.service.MessageOrderBuyerService;
import com.oying.modules.message.domain.dto.MessageOrderBuyerQueryCriteria;
import com.oying.utils.R;
import lombok.RequiredArgsConstructor;
import java.util.List;
import org.springframework.http.HttpStatus;
@@ -40,9 +41,11 @@
    @GetMapping
    @ApiOperation("查询买家端订单消息通知")
    @PreAuthorize("@el.check('messageOrderBuyer:list')")
    public ResponseEntity<PageResult<MessageOrderBuyer>> queryMessageOrderBuyer(MessageOrderBuyerQueryCriteria criteria){
    public R<PageResult<MessageOrderBuyer>> queryMessageOrderBuyer(MessageOrderBuyerQueryCriteria criteria){
        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
        return new ResponseEntity<>(messageOrderBuyerService.queryAll(criteria,page),HttpStatus.OK);
//        return new ResponseEntity<>(messageOrderBuyerService.queryAll(criteria,page),HttpStatus.OK);
        return R.success(messageOrderBuyerService.queryAll(criteria,page));
    }
//    @PostMapping
@@ -74,34 +77,41 @@
    //订单状态变化通知
    @GetMapping("/status/{order_id}")
    @ApiOperation("查询一条订单状态变化通知")
    public ResponseEntity<String> getMessageOrderBuyer(@PathVariable Integer order_id) {
    public R<String> getMessageOrderBuyer(@PathVariable Integer order_id) {
        MessageOrderBuyer messageOrderBuyer = messageOrderBuyerService.findByOrderId(order_id);
        if (messageOrderBuyer != null) {
        String message = messageOrderBuyer.getMessageType();
            return R.success(message);
        } else {
            return R.fail("订单状态变化通知不存在");
        }
        return new ResponseEntity<>(message, HttpStatus.OK);
    }
    //订单送达通知
    @GetMapping("/deliver/{order_id}")
    @ApiOperation("查询一条订单送达通知")
    public ResponseEntity<String> getMessageOrderBuyerDeliver(@PathVariable Integer order_id) {
    public R<String> getMessageOrderBuyerDeliver(@PathVariable Integer order_id) {
        MessageOrderBuyer messageOrderBuyer = messageOrderBuyerService.findByOrderId(order_id);
        String message = messageOrderBuyer.getMessageType();
        //如果MessageType为订单送达,则返回message——content
        if (message.equals("订单送达")) {
            String messageContent = messageOrderBuyer.getMessageContent();
            return new ResponseEntity<>(messageContent, HttpStatus.OK);
            return R.success(messageContent);
//            return new ResponseEntity<>(messageContent, HttpStatus.OK);
        }else{
            //返回没送达
            return new ResponseEntity<>("没送达", HttpStatus.OK);
            return R.fail("没送达");
//            return new ResponseEntity<>("没送达", HttpStatus.OK);
        }
    }
    //实现点击跳转到订单详情
    @GetMapping("/link/{order_id}")
    @ApiOperation("点击跳转到订单详情")
    public ResponseEntity<String> getMessageOrderBuyerLink(@PathVariable Integer order_id) {
    public R<String> getMessageOrderBuyerLink(@PathVariable Integer order_id) {
        MessageOrderBuyer messageOrderBuyer = messageOrderBuyerService.findByOrderId(order_id);
        String link = messageOrderBuyer.getLink();
        return new ResponseEntity<>(link, HttpStatus.OK);
//        return new ResponseEntity<>(link, HttpStatus.OK);
        return R.success(link);
    }
oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java
@@ -6,6 +6,7 @@
import com.oying.modules.message.domain.MessageOrderLeave;
import com.oying.modules.message.service.MessageOrderLeaveService;
import com.oying.modules.message.domain.dto.MessageOrderLeaveQueryCriteria;
import com.oying.utils.R;
import lombok.RequiredArgsConstructor;
import java.sql.Timestamp;
@@ -43,10 +44,12 @@
    @GetMapping
    @ApiOperation("查询消息留言")
    @PreAuthorize("@el.check('messageOrderLeave:list')")
    public ResponseEntity<PageResult<MessageOrderLeave>> queryMessageOrderLeave(MessageOrderLeaveQueryCriteria criteria){
    public R<PageResult<MessageOrderLeave>> queryMessageOrderLeave(MessageOrderLeaveQueryCriteria criteria){
        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
        return new ResponseEntity<>(messageOrderLeaveService.queryAll(criteria,page),HttpStatus.OK);
//        return new ResponseEntity<>(messageOrderLeaveService.queryAll(criteria,page),HttpStatus.OK);
        return R.success(messageOrderLeaveService.queryAll(criteria,page));
    }
//    @PostMapping
//    @Log("新增消息留言")
@@ -100,13 +103,14 @@
    @PutMapping("/customer/{order_id}")
    @ApiOperation("顾客点击订单,传回订单id,根据订单id更新一条留言")
    public ResponseEntity<Object> updateMessageOrderLeaveCustomer(@PathVariable("order_id") Integer id, @RequestBody MessageOrderLeave messageOrderLeave1) {
    public R<Object> updateMessageOrderLeaveCustomer(@PathVariable("order_id") Integer id, @RequestBody MessageOrderLeave messageOrderLeave1) {
        // 根据 order_id 查找留言信息
        MessageOrderLeave messageOrderLeave = messageOrderLeaveService.findByOrderId(id);
        // 如果留言信息不存在,返回 404 Not Found
        if (messageOrderLeave == null) {
            return new ResponseEntity<>("Message order leave not found for order ID: " + id, HttpStatus.NOT_FOUND);
//            return new ResponseEntity<>("Message order leave not found for order ID: " + id, HttpStatus.NOT_FOUND);
            return R.fail("Message order leave not found for order ID: " + id);
        }
        // 设置顾客评价内容
@@ -124,10 +128,12 @@
        // 如果更新失败,返回 500 Internal Server Error
        if (!updated) {
            return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR);
//            return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR);
                return R.fail("Failed to update message order leave");
        }
        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
        return R.success(messageOrderLeave);
    }
    //商家对订单id进行回复
//    @PutMapping("/seller/{order_id}")
@@ -164,14 +170,16 @@
    //商家对订单id进行回复 订单id必须唯一限制 否则会报错
    @PutMapping("/seller/{order_id}")
    @ApiOperation("商家对订单id进行回复")
    public ResponseEntity<Object> updateMessageOrderLeaveSeller(@PathVariable("order_id") Integer id, @RequestBody MessageOrderLeave messageOrderLeave1) {
    public R<Object> updateMessageOrderLeaveSeller(@PathVariable("order_id") Integer id, @RequestBody MessageOrderLeave messageOrderLeave1) {
        // 根据 order_id 查找留言信息
        MessageOrderLeave messageOrderLeave = messageOrderLeaveService.findByOrderId(id);
        // 如果没有找到对应的留言信息,返回 404 Not Found
        if (messageOrderLeave == null) {
            return new ResponseEntity<>("Message order leave not found for order ID: " + id, HttpStatus.NOT_FOUND);
//            return new ResponseEntity<>("Message order leave not found for order ID: " + id, HttpStatus.NOT_FOUND);
                return R.fail("Message order leave not found for order ID: " + id);
        }
        // 设置商家回复内容
        messageOrderLeave.setSellerReply(messageOrderLeave1.getSellerReply());
@@ -183,10 +191,12 @@
        // 如果更新失败,返回 500 Internal Server Error
        if (!updated) {
            return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR);
//            return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR);
            return R.fail("Failed to update message order leave");
        }
        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
        return R.success(messageOrderLeave);
    }
}
oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java
@@ -5,6 +5,7 @@
import com.oying.modules.message.domain.MessageOrderSeller;
import com.oying.modules.message.service.MessageOrderSellerService;
import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria;
import com.oying.utils.R;
import lombok.RequiredArgsConstructor;
import java.util.List;
import org.springframework.http.HttpStatus;
@@ -40,9 +41,10 @@
    @GetMapping
    @ApiOperation("查询卖家端订单消息通知")
    @PreAuthorize("@el.check('messageOrderSeller:list')")
    public ResponseEntity<PageResult<MessageOrderSeller>> queryMessageOrderSeller(MessageOrderSellerQueryCriteria criteria){
    public R<PageResult<MessageOrderSeller>> queryMessageOrderSeller(MessageOrderSellerQueryCriteria criteria){
        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
        return new ResponseEntity<>(messageOrderSellerService.queryAll(criteria,page),HttpStatus.OK);
//        return new ResponseEntity<>(messageOrderSellerService.queryAll(criteria,page),HttpStatus.OK);
        return R.success(messageOrderSellerService.queryAll(criteria,page));
    }
//    @PostMapping
@@ -75,34 +77,38 @@
    //订单状态变化通知
    @GetMapping("/status/{order_id}")
    @ApiOperation("查询一条订单状态变化通知")
    public ResponseEntity<String> getMessageOrderSeller(@PathVariable Integer order_id) {
    public R<String> getMessageOrderSeller(@PathVariable Integer order_id) {
        MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id);
        String message = messageOrderSeller.getMessageType();
        return new ResponseEntity<>(message, HttpStatus.OK);
//        return new ResponseEntity<>(message, HttpStatus.OK);
        return R.success(message);
    }
    //订单送达通知
    @GetMapping("/deliver/{order_id}")
    @ApiOperation("查询一条订单送达通知")
    public ResponseEntity<String> getMessageOrderSellerDeliver(@PathVariable Integer order_id) {
    public R<String> getMessageOrderSellerDeliver(@PathVariable Integer order_id) {
        MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id);
        String message = messageOrderSeller.getMessageType();
        //如果MessageType为订单送达,则返回message——content
        if (message.equals("买家下单")) {
            String messageContent = messageOrderSeller.getMessageContent();
            return new ResponseEntity<>(messageContent, HttpStatus.OK);
//            return new ResponseEntity<>(messageContent, HttpStatus.OK);
            return R.success(messageContent);
        }else{
            //返回没送达
            return new ResponseEntity<>("买家没下单", HttpStatus.OK);
//            return new ResponseEntity<>("买家没下单", HttpStatus.OK);
            return R.fail("没送达");
        }
    }
    //实现点击跳转到订单详情
    @GetMapping("/link/{order_id}")
    @ApiOperation("点击跳转到订单详情")
    public ResponseEntity<String> getMessageOrderSellerLink(@PathVariable Integer order_id) {
    public R<String> getMessageOrderSellerLink(@PathVariable Integer order_id) {
        MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id);
        String link = messageOrderSeller.getLink();
        return new ResponseEntity<>(link, HttpStatus.OK);
//        return new ResponseEntity<>(link, HttpStatus.OK);
        return R.success(link);
    }
}
oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java
@@ -59,9 +59,10 @@
    @GetMapping
    @ApiOperation("查询消息_系统")
    @PreAuthorize("@el.check('messageSystem:list')")
    public ResponseEntity<PageResult<MessageSystem>> queryMessageSystem(MessageSystemQueryCriteria criteria){
    public R<PageResult<MessageSystem>> queryMessageSystem(MessageSystemQueryCriteria criteria){
        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
        return new ResponseEntity<>(messageSystemService.queryAll(criteria,page),HttpStatus.OK);
//        return new ResponseEntity<>(messageSystemService.queryAll(criteria,page),HttpStatus.OK);
        return R.success(messageSystemService.queryAll(criteria,page));
    }
//    @PostMapping
@@ -94,14 +95,15 @@
    //查询一条系统消息
    @GetMapping("/{id}")
    @ApiOperation("查询一条系统消息")
    public ResponseEntity<MessageSystem> getMessageSystem(@PathVariable Integer id){
    public R<MessageSystem> getMessageSystem(@PathVariable Integer id){
        MessageSystem messageSystem = messageSystemService.getById(id);
        return new ResponseEntity<>(messageSystem,HttpStatus.OK);
//        return new ResponseEntity<>(messageSystem,HttpStatus.OK);
        return R.success(messageSystem);
    }
    //插入一条系统消息 带两个参数start与end
    @PostMapping()
    @ApiOperation("插入一条系统消息")
    public ResponseEntity<Object> insertMessageSystem(
    public R<Object> insertMessageSystem(
            @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
            @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
@@ -113,7 +115,8 @@
        // 调用服务层保存数据
        messageSystemService.save(messageSystem);
        return new ResponseEntity<>(HttpStatus.OK);
//        return new ResponseEntity<>(HttpStatus.OK);
        return R.success("插入成功");
    }
    /**
@@ -162,15 +165,21 @@
//        }
//    }
//    }
//todo  发送订阅消息   数据库暂未存储
    @PostMapping("/sendMessage")
    @ApiOperation("发送订阅消息")
    public R<SendMessageRequestDto> sendMessage(@RequestBody SendMessageRequestDto request){
        //打印request
        //SendMessageRequestDto(touser=OPENID, template_id=TEMPLATE_ID, page=index, data={date2={"value":"2019-12-25 09:42"}, phrase3={"value":"审核通过"}, name1={"value":"订阅"}})
        log.info("request:{}", request);
        try {
        weiXinService.sendMessage(request.getData(), request.getTouser(), request.getTemplate_id(), request.getPage());
        return R.success(request);
        } catch (Exception e) {
            // 如果捕获到异常,返回错误信息
            log.error("发送订阅消息失败", e);
            return R.fail(request,"发送订阅消息失败 用真实数据:" + e.getMessage());
        }
    }
oying-system/src/main/resources/mapper/message/MessageOrderBuyerMapper.xml
@@ -8,10 +8,13 @@
        <result column="message_content" property="messageContent"/>
        <result column="link" property="link"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <result column="create_by" property="createBy"/>
        <result column="update_by" property="updateBy"/>
    </resultMap>
    <sql id="Base_Column_List">
        id, order_id, message_type, message_content, link, create_time
        id, order_id, message_type, message_content, link, create_time, update_time, create_by, update_by
    </sql>
    <select id="findAll" resultMap="BaseResultMap">
oying-system/src/main/resources/mapper/message/MessageOrderLeaveMapper.xml
@@ -8,10 +8,13 @@
        <result column="seller_reply" property="sellerReply"/>
        <result column="link" property="link"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <result column="create_by" property="createBy"/>
        <result column="update_by" property="updateBy"/>
    </resultMap>
    <sql id="Base_Column_List">
        id, order_id, customer_review, seller_reply, link, create_time
        id, order_id, customer_review, seller_reply, link, create_time, update_time, create_by, update_by
    </sql>
    <select id="findAll" resultMap="BaseResultMap">
oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml
@@ -8,10 +8,13 @@
        <result column="message_content" property="messageContent"/>
        <result column="link" property="link"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <result column="create_by" property="createBy"/>
        <result column="update_by" property="updateBy"/>
    </resultMap>
    <sql id="Base_Column_List">
        id, order_id, message_type, message_content, link, create_time
        id, order_id, message_type, message_content, link, create_time, update_time, create_by, update_by
    </sql>
    <select id="findAll" resultMap="BaseResultMap">
oying-system/src/main/resources/mapper/message/MessageSystemMapper.xml
@@ -5,10 +5,14 @@
        <id column="id" property="id"/>
        <result column="start_time" property="startTime"/>
        <result column="end_time" property="endTime"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <result column="create_by" property="createBy"/>
        <result column="update_by" property="updateBy"/>
    </resultMap>
    <sql id="Base_Column_List">
        id, start_time, end_time
        id, start_time, end_time, create_time, update_time, create_by, update_by
    </sql>
    <select id="findAll" resultMap="BaseResultMap">