From 9f4747457755bbb147984b348d3ecf2790b04fe1 Mon Sep 17 00:00:00 2001 From: xin <1099200748@qq.com> Date: Fri, 30 May 2025 17:27:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/feature-leomon' into xin --- oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderBuyerMapper.java | 22 oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderBuyerQueryCriteria.java | 18 oying-system/src/main/resources/mapper/message/MessageOrderBuyerMapper.xml | 25 oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java | 192 +++++++ oying-system/src/main/java/com/oying/AppRun.java | 1 oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderLeave.java | 50 + oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml | 25 oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderLeaveQueryCriteria.java | 18 oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java | 105 ++++ .idea/vcs.xml | 4 oying-system/src/main/java/com/oying/modules/message/mapper/MessageSystemMapper.java | 22 oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderSeller.java | 50 + oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderBuyerController.java | 107 ++++ oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderLeaveServiceImpl.java | 89 +++ oying-system/src/main/java/com/oying/modules/message/domain/MessageSystem.java | 42 + oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderBuyerServiceImpl.java | 83 +++ oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerQueryCriteria.java | 18 oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderBuyer.java | 50 + oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderLeaveMapper.java | 22 oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java | 108 ++++ oying-system/src/main/resources/mapper/message/MessageSystemMapper.xml | 22 oying-system/src/main/java/com/oying/modules/message/service/impl/MessageSystemServiceImpl.java | 79 +++ oying-system/src/main/java/com/oying/modules/message/service/MessageOrderSellerService.java | 62 ++ oying-system/src/main/resources/mapper/message/MessageOrderLeaveMapper.xml | 25 oying-system/src/main/java/com/oying/modules/message/service/MessageOrderLeaveService.java | 69 ++ oying-system/src/main/java/com/oying/modules/message/service/MessageOrderBuyerService.java | 63 ++ oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageSystemQueryCriteria.java | 18 oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderSellerMapper.java | 22 oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderSellerServiceImpl.java | 84 +++ oying-system/src/main/java/com/oying/modules/message/service/MessageSystemService.java | 64 ++ 30 files changed, 1,557 insertions(+), 2 deletions(-) diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1dd..5ace414 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="VcsDirectoryMappings"> - <mapping directory="" vcs="Git" /> + <mapping directory="$PROJECT_DIR$" vcs="Git" /> </component> -</project> \ No newline at end of file +</project> diff --git a/oying-system/src/main/java/com/oying/AppRun.java b/oying-system/src/main/java/com/oying/AppRun.java index 1616dd6..d040eaf 100644 --- a/oying-system/src/main/java/com/oying/AppRun.java +++ b/oying-system/src/main/java/com/oying/AppRun.java @@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j; import com.oying.annotation.rest.AnonymousGetMapping; import com.oying.utils.SpringBeanHolder; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.ApplicationPidFileWriter; diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderBuyer.java b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderBuyer.java new file mode 100644 index 0000000..01a7ab0 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderBuyer.java @@ -0,0 +1,50 @@ +package com.oying.modules.message.domain; + +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-05-20 +**/ +@Data +@TableName("message_order_buyer") +public class MessageOrderBuyer implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键,自增 用户id") + private Integer id; + + @NotNull + @ApiModelProperty(value = "订单ID") + private Integer orderId; + + @NotBlank + @ApiModelProperty(value = "消息类型(订单状态变化、订单送达)") + private String messageType; + + @NotBlank + @ApiModelProperty(value = "消息内容") + private String messageContent; + + @NotBlank + @ApiModelProperty(value = "跳转链接") + private String link; + + @ApiModelProperty(value = "创建时间") + private Timestamp createTime; + + public void copy(MessageOrderBuyer source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderLeave.java b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderLeave.java new file mode 100644 index 0000000..7a6d625 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderLeave.java @@ -0,0 +1,50 @@ +package com.oying.modules.message.domain; + +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-05-20 +**/ +@Data +@TableName("message_order_leave") +public class MessageOrderLeave implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "主键,自增") + private Integer id; + + @NotNull + @ApiModelProperty(value = "订单ID") + private Integer orderId; + + @NotBlank + @ApiModelProperty(value = "顾客评价内容") + private String customerReview="顾客尚未评价"; + + @NotBlank + @ApiModelProperty(value = "商家回复内容") + private String sellerReply="商家尚未回复"; + + @NotBlank + @ApiModelProperty(value = "跳转链接") + private String link="https://example.com/default-link"; + + @ApiModelProperty(value = "创建时间") + private Timestamp createTime; + + public void copy(MessageOrderLeave source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderSeller.java b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderSeller.java new file mode 100644 index 0000000..3f04170 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderSeller.java @@ -0,0 +1,50 @@ +package com.oying.modules.message.domain; + +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-05-20 +**/ +@Data +@TableName("message_order_seller") +public class MessageOrderSeller implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "id") + private Integer id; + + @NotNull + @ApiModelProperty(value = "orderId") + private Integer orderId; + + @NotBlank + @ApiModelProperty(value = "messageType") + private String messageType; + + @NotBlank + @ApiModelProperty(value = "messageContent") + private String messageContent; + + @NotBlank + @ApiModelProperty(value = "link") + private String link; + + @ApiModelProperty(value = "createTime") + private Timestamp createTime; + + public void copy(MessageOrderSeller source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MessageSystem.java b/oying-system/src/main/java/com/oying/modules/message/domain/MessageSystem.java new file mode 100644 index 0000000..9b9c06f --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/MessageSystem.java @@ -0,0 +1,42 @@ +package com.oying.modules.message.domain; + +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.rmi.CORBA.Tie; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** + * @description / + * @author 李萌 + * @date 2025-05-20 + **/ +@Data +@TableName("message_system") +public class MessageSystem implements Serializable { + + //使用数据库的自增策略来生成id + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "id") + private Integer id; + + @NotNull + @ApiModelProperty(value = "系统维护开始时间") + private Timestamp startTime; + + @NotNull + @ApiModelProperty(value = "系统维护截至时间") + private Timestamp endTime; + + public void copy(MessageSystem source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderBuyerQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderBuyerQueryCriteria.java new file mode 100644 index 0000000..0ccbeef --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderBuyerQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** +* @author 李萌 +* @date 2025-05-20 +**/ +@Data +public class MessageOrderBuyerQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderLeaveQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderLeaveQueryCriteria.java new file mode 100644 index 0000000..c0c98b9 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderLeaveQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** +* @author 李萌 +* @date 2025-05-20 +**/ +@Data +public class MessageOrderLeaveQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerQueryCriteria.java new file mode 100644 index 0000000..c514533 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** +* @author 李萌 +* @date 2025-05-20 +**/ +@Data +public class MessageOrderSellerQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageSystemQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageSystemQueryCriteria.java new file mode 100644 index 0000000..0ba80fc --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageSystemQueryCriteria.java @@ -0,0 +1,18 @@ +package com.oying.modules.message.domain.dto; + +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; + +/** + * @author 李萌 + * @date 2025-05-20 + **/ +@Data +public class MessageSystemQueryCriteria{ + + @ApiModelProperty(value = "页码", example = "1") + private Integer page = 1; + + @ApiModelProperty(value = "每页数据量", example = "10") + private Integer size = 10; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderBuyerMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderBuyerMapper.java new file mode 100644 index 0000000..b8d6ac1 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderBuyerMapper.java @@ -0,0 +1,22 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.domain.MessageOrderBuyer; +import com.oying.modules.message.domain.dto.MessageOrderBuyerQueryCriteria; +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-05-20 +**/ +@Mapper +public interface MessageOrderBuyerMapper extends BaseMapper<MessageOrderBuyer> { + + IPage<MessageOrderBuyer> findAll(@Param("criteria") MessageOrderBuyerQueryCriteria criteria, Page<Object> page); + + List<MessageOrderBuyer> findAll(@Param("criteria") MessageOrderBuyerQueryCriteria criteria); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderLeaveMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderLeaveMapper.java new file mode 100644 index 0000000..4adbee8 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderLeaveMapper.java @@ -0,0 +1,22 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.domain.MessageOrderLeave; +import com.oying.modules.message.domain.dto.MessageOrderLeaveQueryCriteria; +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-05-20 +**/ +@Mapper +public interface MessageOrderLeaveMapper extends BaseMapper<MessageOrderLeave> { + + IPage<MessageOrderLeave> findAll(@Param("criteria") MessageOrderLeaveQueryCriteria criteria, Page<Object> page); + + List<MessageOrderLeave> findAll(@Param("criteria") MessageOrderLeaveQueryCriteria criteria); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderSellerMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderSellerMapper.java new file mode 100644 index 0000000..be1783a --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderSellerMapper.java @@ -0,0 +1,22 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.domain.MessageOrderSeller; +import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria; +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-05-20 +**/ +@Mapper +public interface MessageOrderSellerMapper extends BaseMapper<MessageOrderSeller> { + + IPage<MessageOrderSeller> findAll(@Param("criteria") MessageOrderSellerQueryCriteria criteria, Page<Object> page); + + List<MessageOrderSeller> findAll(@Param("criteria") MessageOrderSellerQueryCriteria criteria); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MessageSystemMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageSystemMapper.java new file mode 100644 index 0000000..959cde3 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageSystemMapper.java @@ -0,0 +1,22 @@ +package com.oying.modules.message.mapper; + +import com.oying.modules.message.domain.MessageSystem; +import com.oying.modules.message.domain.dto.MessageSystemQueryCriteria; +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-05-20 + **/ +@Mapper +public interface MessageSystemMapper extends BaseMapper<MessageSystem> { + + IPage<MessageSystem> findAll(@Param("criteria") MessageSystemQueryCriteria criteria, Page<Object> page); + + List<MessageSystem> findAll(@Param("criteria") MessageSystemQueryCriteria criteria); +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderBuyerController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderBuyerController.java new file mode 100644 index 0000000..81a7f07 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderBuyerController.java @@ -0,0 +1,107 @@ +package com.oying.modules.message.rest; + +import com.oying.annotation.Log; +import com.oying.modules.message.domain.MessageOrderBuyer; +import com.oying.modules.message.service.MessageOrderBuyerService; +import com.oying.modules.message.domain.dto.MessageOrderBuyerQueryCriteria; +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-05-20 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "买家端订单消息通知") +@RequestMapping("/api/message/messageOrderBuyer") +public class MessageOrderBuyerController { + + private final MessageOrderBuyerService messageOrderBuyerService; + +// @ApiOperation("导出数据") +// @GetMapping(value = "/download") +// @PreAuthorize("@el.check('messageOrderBuyer:list')") +// public void exportMessageOrderBuyer(HttpServletResponse response, MessageOrderBuyerQueryCriteria criteria) throws IOException { +// messageOrderBuyerService.download(messageOrderBuyerService.queryAll(criteria), response); +// } + + @GetMapping + @ApiOperation("查询买家端订单消息通知") + @PreAuthorize("@el.check('messageOrderBuyer:list')") + public ResponseEntity<PageResult<MessageOrderBuyer>> queryMessageOrderBuyer(MessageOrderBuyerQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(messageOrderBuyerService.queryAll(criteria,page),HttpStatus.OK); + } + +// @PostMapping +// @Log("新增买家端订单消息通知") +// @ApiOperation("新增买家端订单消息通知") +// @PreAuthorize("@el.check('messageOrderBuyer:add')") +// public ResponseEntity<Object> createMessageOrderBuyer(@Validated @RequestBody MessageOrderBuyer resources){ +// messageOrderBuyerService.create(resources); +// return new ResponseEntity<>(HttpStatus.CREATED); +// } +// +// @PutMapping +// @Log("修改买家端订单消息通知") +// @ApiOperation("修改买家端订单消息通知") +// @PreAuthorize("@el.check('messageOrderBuyer:edit')") +// public ResponseEntity<Object> updateMessageOrderBuyer(@Validated @RequestBody MessageOrderBuyer resources){ +// messageOrderBuyerService.update(resources); +// return new ResponseEntity<>(HttpStatus.NO_CONTENT); +// } +// +// @DeleteMapping +// @Log("删除买家端订单消息通知") +// @ApiOperation("删除买家端订单消息通知") +// @PreAuthorize("@el.check('messageOrderBuyer:del')") +// public ResponseEntity<Object> deleteMessageOrderBuyer(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) { +// messageOrderBuyerService.deleteAll(ids); +// return new ResponseEntity<>(HttpStatus.OK); +// } + //订单状态变化通知 + @GetMapping("/status/{order_id}") + @ApiOperation("查询一条订单状态变化通知") + public ResponseEntity<String> getMessageOrderBuyer(@PathVariable Integer order_id) { + MessageOrderBuyer messageOrderBuyer = messageOrderBuyerService.findByOrderId(order_id); + String message = messageOrderBuyer.getMessageType(); + + return new ResponseEntity<>(message, HttpStatus.OK); + } + //订单送达通知 + @GetMapping("/deliver/{order_id}") + @ApiOperation("查询一条订单送达通知") + public ResponseEntity<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); + }else{ + //返回没送达 + return new ResponseEntity<>("没送达", HttpStatus.OK); + } + } + //实现点击跳转到订单详情 + @GetMapping("/link/{order_id}") + @ApiOperation("点击跳转到订单详情") + public ResponseEntity<String> getMessageOrderBuyerLink(@PathVariable Integer order_id) { + MessageOrderBuyer messageOrderBuyer = messageOrderBuyerService.findByOrderId(order_id); + String link = messageOrderBuyer.getLink(); + return new ResponseEntity<>(link, HttpStatus.OK); + } + + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java new file mode 100644 index 0000000..8d3dfe9 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java @@ -0,0 +1,192 @@ +package com.oying.modules.message.rest; + +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.oying.annotation.Log; +import com.oying.modules.message.domain.MessageOrderLeave; +import com.oying.modules.message.service.MessageOrderLeaveService; +import com.oying.modules.message.domain.dto.MessageOrderLeaveQueryCriteria; +import lombok.RequiredArgsConstructor; + +import java.sql.Timestamp; +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-05-20 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "消息留言") +@RequestMapping("/api/message/messageOrderLeave") +public class MessageOrderLeaveController { + + private final MessageOrderLeaveService messageOrderLeaveService; + +// @ApiOperation("导出数据") +// @GetMapping(value = "/download") +// @PreAuthorize("@el.check('messageOrderLeave:list')") +// public void exportMessageOrderLeave(HttpServletResponse response, MessageOrderLeaveQueryCriteria criteria) throws IOException { +// messageOrderLeaveService.download(messageOrderLeaveService.queryAll(criteria), response); +// } + + @GetMapping + @ApiOperation("查询消息留言") + @PreAuthorize("@el.check('messageOrderLeave:list')") + public ResponseEntity<PageResult<MessageOrderLeave>> queryMessageOrderLeave(MessageOrderLeaveQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(messageOrderLeaveService.queryAll(criteria,page),HttpStatus.OK); + } + +// @PostMapping +// @Log("新增消息留言") +// @ApiOperation("新增消息留言") +// @PreAuthorize("@el.check('messageOrderLeave:add')") +// public ResponseEntity<Object> createMessageOrderLeave(@Validated @RequestBody MessageOrderLeave resources){ +// messageOrderLeaveService.create(resources); +// return new ResponseEntity<>(HttpStatus.CREATED); +// } + +// @PutMapping +// @Log("修改消息留言") +// @ApiOperation("修改消息留言") +// @PreAuthorize("@el.check('messageOrderLeave:edit')") +// public ResponseEntity<Object> updateMessageOrderLeave(@Validated @RequestBody MessageOrderLeave resources){ +// messageOrderLeaveService.update(resources); +// return new ResponseEntity<>(HttpStatus.NO_CONTENT); +// } + +// @DeleteMapping +// @Log("删除消息留言") +// @ApiOperation("删除消息留言") +// @PreAuthorize("@el.check('messageOrderLeave:del')") +// public ResponseEntity<Object> deleteMessageOrderLeave(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) { +// messageOrderLeaveService.deleteAll(ids); +// return new ResponseEntity<>(HttpStatus.OK); +// } + //顾客点击订单,传回订单id,根据订单id生成一条 消息留言 +// @PutMapping("/customer/{order_id}") +// @ApiOperation("顾客点击订单,传回订单id,根据订单id生成一条 留言,此时顾客可以留言") +// public ResponseEntity<Object> createMessageOrderLeave(@PathVariable("order_id") Integer id,@RequestParam String customerReview) { +// //创建对象 +// MessageOrderLeave messageOrderLeave = new MessageOrderLeave(); +// messageOrderLeave.setOrderId(id); +// //如果customerReview为空,默认为“用户未留言” +// messageOrderLeave.setCustomerReview(customerReview); +// //设置创建时间为当前时间 +// messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis())); +// //若表中order_id订单还没存在则调用update留言 +// +// +// if(messageOrderLeaveService.findByOrderId(id)==null){ +// messageOrderLeaveService.updateById(messageOrderLeave); +// return new ResponseEntity<>(HttpStatus.CREATED); +// } else { +// // 已存在则不保存,返回 OK 表示成功但无新资源创建 +// return new ResponseEntity<>(HttpStatus.OK); +// } +// +// } + + @PutMapping("/customer/{order_id}") + @ApiOperation("顾客点击订单,传回订单id,根据订单id更新一条留言") + public ResponseEntity<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); + } + + // 设置顾客评价内容 + if (messageOrderLeave1.getCustomerReview() != null && !messageOrderLeave1.getCustomerReview().trim().isEmpty()) { + messageOrderLeave.setCustomerReview(messageOrderLeave1.getCustomerReview()); + } else { + messageOrderLeave.setCustomerReview("用户未留言"); + } + + // 更新最后一次操作的时间 + messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis())); + + // 调用服务层更新数据 + boolean updated = messageOrderLeaveService.updateById(messageOrderLeave); + + // 如果更新失败,返回 500 Internal Server Error + if (!updated) { + return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR); + } + + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + //商家对订单id进行回复 +// @PutMapping("/seller/{order_id}") +// @ApiOperation("商家对订单id进行回复") +// public ResponseEntity<Object> updateMessageOrderLeave(@PathVariable("order_id") Integer id, @RequestParam String sellerReply) { +// // 检查 sellerReply 是否为空 +// if (sellerReply == null || sellerReply.trim().isEmpty()) { +// return new ResponseEntity<>("sellerReply is required", HttpStatus.BAD_REQUEST); +// } +// +// // 根据 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); +// } +// +// // 设置商家回复内容 +// messageOrderLeave.setSellerReply(sellerReply); +// // 更新最后一次操作的时间 +// messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis())); +// +// // 调用服务层更新数据 +// boolean updated = messageOrderLeaveService.updateById(messageOrderLeave); +// +// // 如果更新失败,返回 500 Internal Server Error +// if (!updated) { +// return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR); +// } +// +// return new ResponseEntity<>(HttpStatus.NO_CONTENT); +// } + //商家对订单id进行回复 订单id必须唯一限制 否则会报错 + @PutMapping("/seller/{order_id}") + @ApiOperation("商家对订单id进行回复") + public ResponseEntity<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); + } + + // 设置商家回复内容 + messageOrderLeave.setSellerReply(messageOrderLeave1.getSellerReply()); + // 更新最后一次操作的时间 + messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis())); + + // 调用服务层更新数据 + boolean updated = messageOrderLeaveService.updateById(messageOrderLeave); + + // 如果更新失败,返回 500 Internal Server Error + if (!updated) { + return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR); + } + + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java new file mode 100644 index 0000000..33909f6 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java @@ -0,0 +1,108 @@ +package com.oying.modules.message.rest; + +import com.oying.annotation.Log; +import com.oying.modules.message.domain.MessageOrderSeller; +import com.oying.modules.message.domain.MessageOrderSeller; +import com.oying.modules.message.service.MessageOrderSellerService; +import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria; +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-05-20 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "卖家端订单消息通知") +@RequestMapping("/api/message/messageOrderSeller") +public class MessageOrderSellerController { + + private final MessageOrderSellerService messageOrderSellerService; + +// @ApiOperation("导出数据") +// @GetMapping(value = "/download") +// @PreAuthorize("@el.check('messageOrderSeller:list')") +// public void exportMessageOrderSeller(HttpServletResponse response, MessageOrderSellerQueryCriteria criteria) throws IOException { +// messageOrderSellerService.download(messageOrderSellerService.queryAll(criteria), response); +// } + + @GetMapping + @ApiOperation("查询卖家端订单消息通知") + @PreAuthorize("@el.check('messageOrderSeller:list')") + public ResponseEntity<PageResult<MessageOrderSeller>> queryMessageOrderSeller(MessageOrderSellerQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(messageOrderSellerService.queryAll(criteria,page),HttpStatus.OK); + } + +// @PostMapping +// @Log("新增卖家端订单消息通知") +// @ApiOperation("新增卖家端订单消息通知") +// @PreAuthorize("@el.check('messageOrderSeller:add')") +// public ResponseEntity<Object> createMessageOrderSeller(@Validated @RequestBody MessageOrderSeller resources){ +// messageOrderSellerService.create(resources); +// return new ResponseEntity<>(HttpStatus.CREATED); +// } +// +// @PutMapping +// @Log("修改卖家端订单消息通知") +// @ApiOperation("修改卖家端订单消息通知") +// @PreAuthorize("@el.check('messageOrderSeller:edit')") +// public ResponseEntity<Object> updateMessageOrderSeller(@Validated @RequestBody MessageOrderSeller resources){ +// messageOrderSellerService.update(resources); +// return new ResponseEntity<>(HttpStatus.NO_CONTENT); +// } +// +// @DeleteMapping +// @Log("删除卖家端订单消息通知") +// @ApiOperation("删除卖家端订单消息通知") +// @PreAuthorize("@el.check('messageOrderSeller:del')") +// public ResponseEntity<Object> deleteMessageOrderSeller(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) { +// messageOrderSellerService.deleteAll(ids); +// return new ResponseEntity<>(HttpStatus.OK); +// } + + //订单状态变化通知 + @GetMapping("/status/{order_id}") + @ApiOperation("查询一条订单状态变化通知") + public ResponseEntity<String> getMessageOrderSeller(@PathVariable Integer order_id) { + MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id); + String message = messageOrderSeller.getMessageType(); + + return new ResponseEntity<>(message, HttpStatus.OK); + } + //订单送达通知 + @GetMapping("/deliver/{order_id}") + @ApiOperation("查询一条订单送达通知") + public ResponseEntity<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); + }else{ + //返回没送达 + return new ResponseEntity<>("买家没下单", HttpStatus.OK); + } + } + //实现点击跳转到订单详情 + @GetMapping("/link/{order_id}") + @ApiOperation("点击跳转到订单详情") + public ResponseEntity<String> getMessageOrderSellerLink(@PathVariable Integer order_id) { + MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id); + String link = messageOrderSeller.getLink(); + return new ResponseEntity<>(link, HttpStatus.OK); + } + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java new file mode 100644 index 0000000..0df458c --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java @@ -0,0 +1,105 @@ +package com.oying.modules.message.rest; + +import com.oying.annotation.Log; +import com.oying.modules.message.domain.MessageSystem; +import com.oying.modules.message.service.MessageSystemService; +import com.oying.modules.message.domain.dto.MessageSystemQueryCriteria; +import lombok.RequiredArgsConstructor; + +import java.sql.Timestamp; +import java.util.Date; +import java.util.List; + +import org.springframework.format.annotation.DateTimeFormat; +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-05-20 + **/ +@RestController +@RequiredArgsConstructor +@Api(tags = "消息_系统") +@RequestMapping("/api/message/messageSystem") +public class MessageSystemController { + + private final MessageSystemService messageSystemService; + +// @ApiOperation("导出数据") +// @GetMapping(value = "/download") +// @PreAuthorize("@el.check('messageSystem:list')") +// public void exportMessageSystem(HttpServletResponse response, MessageSystemQueryCriteria criteria) throws IOException { +// messageSystemService.download(messageSystemService.queryAll(criteria), response); +// } + + @GetMapping + @ApiOperation("查询消息_系统") + @PreAuthorize("@el.check('messageSystem:list')") + public ResponseEntity<PageResult<MessageSystem>> queryMessageSystem(MessageSystemQueryCriteria criteria){ + Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); + return new ResponseEntity<>(messageSystemService.queryAll(criteria,page),HttpStatus.OK); + } + +// @PostMapping +// @Log("新增消息_系统") +// @ApiOperation("新增消息_系统") +// @PreAuthorize("@el.check('messageSystem:add')") +// public ResponseEntity<Object> createMessageSystem(@Validated @RequestBody MessageSystem resources){ +// messageSystemService.create(resources); +// return new ResponseEntity<>(HttpStatus.CREATED); +// } + +// @PutMapping +// @Log("修改消息_系统") +// @ApiOperation("修改消息_系统") +// @PreAuthorize("@el.check('messageSystem:edit')") +// public ResponseEntity<Object> updateMessageSystem(@Validated @RequestBody MessageSystem resources){ +// messageSystemService.update(resources); +// return new ResponseEntity<>(HttpStatus.NO_CONTENT); +// } + +// @DeleteMapping +// @Log("删除消息_系统") +// @ApiOperation("删除消息_系统") +// @PreAuthorize("@el.check('messageSystem:del')") +// public ResponseEntity<Object> deleteMessageSystem(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) { +// messageSystemService.deleteAll(ids); +// return new ResponseEntity<>(HttpStatus.OK); +// } + + //查询一条系统消息 + @GetMapping("/{id}") + @ApiOperation("查询一条系统消息") + public ResponseEntity<MessageSystem> getMessageSystem(@PathVariable Integer id){ + MessageSystem messageSystem = messageSystemService.getById(id); + return new ResponseEntity<>(messageSystem,HttpStatus.OK); + } + //插入一条系统消息 带两个参数start与end + @PostMapping() + @ApiOperation("插入一条系统消息") + public ResponseEntity<Object> insertMessageSystem( + @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start, + @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) { + + // 创建 MessageSystem 对象 + MessageSystem messageSystem = new MessageSystem(); + messageSystem.setStartTime(new Timestamp(start.getTime())); + messageSystem.setEndTime(new Timestamp(end.getTime())); + + // 调用服务层保存数据 + messageSystemService.save(messageSystem); + + return new ResponseEntity<>(HttpStatus.OK); + } + + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderBuyerService.java b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderBuyerService.java new file mode 100644 index 0000000..788bef2 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderBuyerService.java @@ -0,0 +1,63 @@ +package com.oying.modules.message.service; + +import com.oying.modules.message.domain.MessageOrderBuyer; +import com.oying.modules.message.domain.MessageOrderLeave; +import com.oying.modules.message.domain.dto.MessageOrderBuyerQueryCriteria; +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-05-20 +**/ +public interface MessageOrderBuyerService extends IService<MessageOrderBuyer> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MessageOrderBuyer> queryAll(MessageOrderBuyerQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MessageOrderBuyerDto> + */ + List<MessageOrderBuyer> queryAll(MessageOrderBuyerQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MessageOrderBuyer resources); + + /** + * 编辑 + * @param resources / + */ + void update(MessageOrderBuyer resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Integer> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MessageOrderBuyer> all, HttpServletResponse response) throws IOException; + + public MessageOrderBuyer findByOrderId(Integer orderId) ; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderLeaveService.java b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderLeaveService.java new file mode 100644 index 0000000..f20e46e --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderLeaveService.java @@ -0,0 +1,69 @@ +package com.oying.modules.message.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.oying.modules.message.domain.MessageOrderLeave; +import com.oying.modules.message.domain.dto.MessageOrderLeaveQueryCriteria; +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-05-20 +**/ +public interface MessageOrderLeaveService extends IService<MessageOrderLeave> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MessageOrderLeave> queryAll(MessageOrderLeaveQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MessageOrderLeaveDto> + */ + List<MessageOrderLeave> queryAll(MessageOrderLeaveQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MessageOrderLeave resources); + + /** + * 编辑 + * @param resources / + */ +// void update(MessageOrderLeave resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Integer> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MessageOrderLeave> all, HttpServletResponse response) throws IOException; + + /** + * 根据订单ID查找留言信息 + * @param orderId 订单ID + * @return 匹配的留言记录,若不存在则返回 null + */ + public MessageOrderLeave findByOrderId(Integer orderId) ; + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderSellerService.java b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderSellerService.java new file mode 100644 index 0000000..29d672b --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderSellerService.java @@ -0,0 +1,62 @@ +package com.oying.modules.message.service; + +import com.oying.modules.message.domain.MessageOrderBuyer; +import com.oying.modules.message.domain.MessageOrderSeller; +import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria; +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-05-20 +**/ +public interface MessageOrderSellerService extends IService<MessageOrderSeller> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MessageOrderSeller> queryAll(MessageOrderSellerQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MessageOrderSellerDto> + */ + List<MessageOrderSeller> queryAll(MessageOrderSellerQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MessageOrderSeller resources); + + /** + * 编辑 + * @param resources / + */ + void update(MessageOrderSeller resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Integer> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MessageOrderSeller> all, HttpServletResponse response) throws IOException; + public MessageOrderSeller findByOrderId(Integer orderId) ; +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MessageSystemService.java b/oying-system/src/main/java/com/oying/modules/message/service/MessageSystemService.java new file mode 100644 index 0000000..38c4ccb --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/MessageSystemService.java @@ -0,0 +1,64 @@ +package com.oying.modules.message.service; + +import com.oying.modules.message.domain.MessageSystem; +import com.oying.modules.message.domain.dto.MessageSystemQueryCriteria; + +import java.util.Date; +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-05-20 + **/ +public interface MessageSystemService extends IService<MessageSystem> { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param page 分页参数 + * @return PageResult + */ + PageResult<MessageSystem> queryAll(MessageSystemQueryCriteria criteria, Page<Object> page); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List<MessageSystemDto> + */ + List<MessageSystem> queryAll(MessageSystemQueryCriteria criteria); + + /** + * 创建 + * @param resources / + */ + void create(MessageSystem resources); + + /** + * 编辑 + * @param resources / + */ + void update(MessageSystem resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(List<Integer> ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List<MessageSystem> all, HttpServletResponse response) throws IOException; + + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderBuyerServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderBuyerServiceImpl.java new file mode 100644 index 0000000..212e818 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderBuyerServiceImpl.java @@ -0,0 +1,83 @@ +package com.oying.modules.message.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.oying.modules.message.domain.MessageOrderBuyer; +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.MessageOrderBuyerService; +import com.oying.modules.message.domain.dto.MessageOrderBuyerQueryCriteria; +import com.oying.modules.message.mapper.MessageOrderBuyerMapper; +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-05-20 +**/ +@Service +@RequiredArgsConstructor +public class MessageOrderBuyerServiceImpl extends ServiceImpl<MessageOrderBuyerMapper, MessageOrderBuyer> implements MessageOrderBuyerService { + + private final MessageOrderBuyerMapper messageOrderBuyerMapper; + + @Override + public PageResult<MessageOrderBuyer> queryAll(MessageOrderBuyerQueryCriteria criteria, Page<Object> page){ + return PageUtil.toPage(messageOrderBuyerMapper.findAll(criteria, page)); + } + + @Override + public List<MessageOrderBuyer> queryAll(MessageOrderBuyerQueryCriteria criteria){ + return messageOrderBuyerMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MessageOrderBuyer resources) { + messageOrderBuyerMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MessageOrderBuyer resources) { + MessageOrderBuyer messageOrderBuyer = getById(resources.getId()); + messageOrderBuyer.copy(resources); + messageOrderBuyerMapper.updateById(messageOrderBuyer); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Integer> ids) { + messageOrderBuyerMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MessageOrderBuyer> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MessageOrderBuyer messageOrderBuyer : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("订单ID", messageOrderBuyer.getOrderId()); + map.put("消息类型(订单状态变化、订单送达)", messageOrderBuyer.getMessageType()); + map.put("消息内容", messageOrderBuyer.getMessageContent()); + map.put("跳转链接", messageOrderBuyer.getLink()); + map.put("创建时间", messageOrderBuyer.getCreateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } + + @Override + public MessageOrderBuyer findByOrderId(Integer orderId) { + return baseMapper.selectOne(new QueryWrapper<MessageOrderBuyer>().eq("order_id", orderId)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderLeaveServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderLeaveServiceImpl.java new file mode 100644 index 0000000..9d28813 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderLeaveServiceImpl.java @@ -0,0 +1,89 @@ +package com.oying.modules.message.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.oying.modules.message.domain.MessageOrderLeave; +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.MessageOrderLeaveService; +import com.oying.modules.message.domain.dto.MessageOrderLeaveQueryCriteria; +import com.oying.modules.message.mapper.MessageOrderLeaveMapper; +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-05-20 +**/ +@Service +@RequiredArgsConstructor +public class MessageOrderLeaveServiceImpl extends ServiceImpl<MessageOrderLeaveMapper, MessageOrderLeave> implements MessageOrderLeaveService { + + private final MessageOrderLeaveMapper messageOrderLeaveMapper; + + @Override + public PageResult<MessageOrderLeave> queryAll(MessageOrderLeaveQueryCriteria criteria, Page<Object> page){ + return PageUtil.toPage(messageOrderLeaveMapper.findAll(criteria, page)); + } + + @Override + public List<MessageOrderLeave> queryAll(MessageOrderLeaveQueryCriteria criteria){ + return messageOrderLeaveMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MessageOrderLeave resources) { + messageOrderLeaveMapper.insert(resources); + } + +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void update(MessageOrderLeave resources) { +// MessageOrderLeave messageOrderLeave = getById(resources.getId()); +// messageOrderLeave.copy(resources); +// messageOrderLeaveMapper.updateById(messageOrderLeave); +// } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Integer> ids) { + messageOrderLeaveMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MessageOrderLeave> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MessageOrderLeave messageOrderLeave : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("订单ID", messageOrderLeave.getOrderId()); + map.put("顾客评价内容", messageOrderLeave.getCustomerReview()); + map.put("商家回复内容", messageOrderLeave.getSellerReply()); + map.put("跳转链接", messageOrderLeave.getLink()); + map.put("创建时间", messageOrderLeave.getCreateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } + + /** + * 根据订单ID查找留言信息 + * @param orderId 订单ID + * @return 匹配的留言记录,若不存在则返回 null + */ + public MessageOrderLeave findByOrderId(Integer orderId) { + return baseMapper.selectOne(new QueryWrapper<MessageOrderLeave>() + .eq("order_id", orderId)); + } + +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderSellerServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderSellerServiceImpl.java new file mode 100644 index 0000000..1668632 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderSellerServiceImpl.java @@ -0,0 +1,84 @@ +package com.oying.modules.message.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.oying.modules.message.domain.MessageOrderBuyer; +import com.oying.modules.message.domain.MessageOrderSeller; +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.MessageOrderSellerService; +import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria; +import com.oying.modules.message.mapper.MessageOrderSellerMapper; +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-05-20 +**/ +@Service +@RequiredArgsConstructor +public class MessageOrderSellerServiceImpl extends ServiceImpl<MessageOrderSellerMapper, MessageOrderSeller> implements MessageOrderSellerService { + + private final MessageOrderSellerMapper messageOrderSellerMapper; + + @Override + public PageResult<MessageOrderSeller> queryAll(MessageOrderSellerQueryCriteria criteria, Page<Object> page){ + return PageUtil.toPage(messageOrderSellerMapper.findAll(criteria, page)); + } + + @Override + public List<MessageOrderSeller> queryAll(MessageOrderSellerQueryCriteria criteria){ + return messageOrderSellerMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MessageOrderSeller resources) { + messageOrderSellerMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MessageOrderSeller resources) { + MessageOrderSeller messageOrderSeller = getById(resources.getId()); + messageOrderSeller.copy(resources); + messageOrderSellerMapper.updateById(messageOrderSeller); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Integer> ids) { + messageOrderSellerMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MessageOrderSeller> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MessageOrderSeller messageOrderSeller : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put(" orderId", messageOrderSeller.getOrderId()); + map.put(" messageType", messageOrderSeller.getMessageType()); + map.put(" messageContent", messageOrderSeller.getMessageContent()); + map.put(" link", messageOrderSeller.getLink()); + map.put(" createTime", messageOrderSeller.getCreateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } + + @Override + public MessageOrderSeller findByOrderId(Integer orderId) { + return baseMapper.selectOne(new QueryWrapper<MessageOrderSeller>().eq("order_id", orderId)); + } +} diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageSystemServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageSystemServiceImpl.java new file mode 100644 index 0000000..0fc9845 --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageSystemServiceImpl.java @@ -0,0 +1,79 @@ +package com.oying.modules.message.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.oying.modules.message.domain.MessageOrderLeave; +import com.oying.modules.message.domain.MessageSystem; +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.MessageSystemService; +import com.oying.modules.message.domain.dto.MessageSystemQueryCriteria; +import com.oying.modules.message.mapper.MessageSystemMapper; +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-05-20 + **/ +@Service +@RequiredArgsConstructor +public class MessageSystemServiceImpl extends ServiceImpl<MessageSystemMapper, MessageSystem> implements MessageSystemService { + + private final MessageSystemMapper messageSystemMapper; + + @Override + public PageResult<MessageSystem> queryAll(MessageSystemQueryCriteria criteria, Page<Object> page){ + return PageUtil.toPage(messageSystemMapper.findAll(criteria, page)); + } + + @Override + public List<MessageSystem> queryAll(MessageSystemQueryCriteria criteria){ + return messageSystemMapper.findAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(MessageSystem resources) { + messageSystemMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MessageSystem resources) { + MessageSystem messageSystem = getById(resources.getId()); + messageSystem.copy(resources); + messageSystemMapper.updateById(messageSystem); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Integer> ids) { + messageSystemMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<MessageSystem> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (MessageSystem messageSystem : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("系统维护开始时间", messageSystem.getStartTime()); + map.put("系统维护截至时间", messageSystem.getEndTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } + + + + +} diff --git a/oying-system/src/main/resources/mapper/message/MessageOrderBuyerMapper.xml b/oying-system/src/main/resources/mapper/message/MessageOrderBuyerMapper.xml new file mode 100644 index 0000000..9235ee3 --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MessageOrderBuyerMapper.xml @@ -0,0 +1,25 @@ +<?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.MessageOrderBuyerMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MessageOrderBuyer"> + <id column="id" property="id"/> + <result column="order_id" property="orderId"/> + <result column="message_type" property="messageType"/> + <result column="message_content" property="messageContent"/> + <result column="link" property="link"/> + <result column="create_time" property="createTime"/> + </resultMap> + + <sql id="Base_Column_List"> + id, order_id, message_type, message_content, link, create_time + </sql> + + <select id="findAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from message_order_buyer + <where> + </where> + order by id desc + </select> +</mapper> \ No newline at end of file diff --git a/oying-system/src/main/resources/mapper/message/MessageOrderLeaveMapper.xml b/oying-system/src/main/resources/mapper/message/MessageOrderLeaveMapper.xml new file mode 100644 index 0000000..48b3fbe --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MessageOrderLeaveMapper.xml @@ -0,0 +1,25 @@ +<?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.MessageOrderLeaveMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MessageOrderLeave"> + <id column="id" property="id"/> + <result column="order_id" property="orderId"/> + <result column="customer_review" property="customerReview"/> + <result column="seller_reply" property="sellerReply"/> + <result column="link" property="link"/> + <result column="create_time" property="createTime"/> + </resultMap> + + <sql id="Base_Column_List"> + id, order_id, customer_review, seller_reply, link, create_time + </sql> + + <select id="findAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from message_order_leave + <where> + </where> + order by id desc + </select> +</mapper> \ No newline at end of file diff --git a/oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml b/oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml new file mode 100644 index 0000000..1150b53 --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml @@ -0,0 +1,25 @@ +<?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.MessageOrderSellerMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MessageOrderSeller"> + <id column="id" property="id"/> + <result column="order_id" property="orderId"/> + <result column="message_type" property="messageType"/> + <result column="message_content" property="messageContent"/> + <result column="link" property="link"/> + <result column="create_time" property="createTime"/> + </resultMap> + + <sql id="Base_Column_List"> + id, order_id, message_type, message_content, link, create_time + </sql> + + <select id="findAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from message_order_seller + <where> + </where> + order by id desc + </select> +</mapper> \ No newline at end of file diff --git a/oying-system/src/main/resources/mapper/message/MessageSystemMapper.xml b/oying-system/src/main/resources/mapper/message/MessageSystemMapper.xml new file mode 100644 index 0000000..b03dca7 --- /dev/null +++ b/oying-system/src/main/resources/mapper/message/MessageSystemMapper.xml @@ -0,0 +1,22 @@ +<?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.MessageSystemMapper"> + <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MessageSystem"> + <id column="id" property="id"/> + <result column="start_time" property="startTime"/> + <result column="end_time" property="endTime"/> + </resultMap> + + <sql id="Base_Column_List"> + id, start_time, end_time + </sql> + + <select id="findAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List"/> + from message_system + <where> + </where> + order by id desc + </select> +</mapper> \ No newline at end of file -- Gitblit v1.9.3