From fefad029ad062c4ad9a022504d2c7268cf0fdc54 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Mon, 2 Jan 2023 22:15:04 +0800 Subject: [PATCH] =?UTF-8?q?mp=EF=BC=9A=E9=87=8D=E6=9E=84=E9=83=A8=E5=88=86?= =?UTF-8?q?=20message=20=E7=9A=84=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mp/enums/message/MpMessageSendFrom.java | 28 +++ .../admin/fansmsg/WxFansMsgController.java | 103 --------- .../fansmsg/vo/WxFansMsgCreateReqVO.java | 12 - .../admin/fansmsg/vo/WxFansMsgExcelVO.java | 56 ----- .../fansmsg/vo/WxFansMsgExportReqVO.java | 57 ----- .../admin/fansmsg/vo/WxFansMsgPageReqVO.java | 60 ----- .../fansmsg/vo/WxFansMsgUpdateReqVO.java | 18 -- .../fansmsgres/WxFansMsgResController.java | 103 --------- .../fansmsgres/vo/WxFansMsgResBaseVO.java | 19 -- .../vo/WxFansMsgResCreateReqVO.java | 12 - .../fansmsgres/vo/WxFansMsgResExcelVO.java | 29 --- .../vo/WxFansMsgResExportReqVO.java | 30 --- .../fansmsgres/vo/WxFansMsgResPageReqVO.java | 33 --- .../fansmsgres/vo/WxFansMsgResRespVO.java | 21 -- .../vo/WxFansMsgResUpdateReqVO.java | 18 -- .../admin/message/MpMessageController.java | 40 ++++ .../vo/MpMessageBaseVO.java} | 4 +- .../admin/message/vo/MpMessagePageReqVO.java | 26 +++ .../vo/MpMessageRespVO.java} | 4 +- .../mp/convert/fansmsg/WxFansMsgConvert.java | 34 --- .../fansmsgres/WxFansMsgResConvert.java | 34 --- .../mp/convert/message/MpMessageConvert.java | 23 ++ .../dal/dataobject/fansmsg/WxFansMsgDO.java | 75 ------- .../dataobject/fansmsgres/WxFansMsgResDO.java | 39 ---- .../dal/dataobject/message/MpMessageDO.java | 206 ++++++++++++++++++ .../mp/dal/dataobject/user/MpUserDO.java | 2 +- .../mp/dal/mysql/fansmsg/MpMessageMapper.java | 22 ++ .../mp/dal/mysql/fansmsg/WxFansMsgMapper.java | 54 ----- .../mysql/fansmsgres/WxFansMsgResMapper.java | 36 --- .../framework/mp/config/MpConfiguration.java | 14 +- .../mp/core/DefaultMpServiceFactory.java | 14 +- .../mp/service/fansmsg/WxFansMsgService.java | 71 ------ .../service/fansmsg/WxFansMsgServiceImpl.java | 85 -------- .../fansmsgres/WxFansMsgResService.java | 71 ------ .../fansmsgres/WxFansMsgResServiceImpl.java | 85 -------- .../handler/{ => menu}/MenuHandler.java | 2 +- .../MessageAutoReplyHandler.java} | 20 +- .../MessageLogHandler.java} | 4 +- .../handler/{ => other}/KfSessionHandler.java | 2 +- .../other}/NullHandler.java | 2 +- .../handler/{ => other}/ScanHandler.java | 2 +- .../{ => other}/StoreCheckNotifyHandler.java | 2 +- .../service/handler/other/package-info.java | 4 + .../handler/{ => user}/LocationHandler.java | 2 +- .../mp/service/message/MpMessageService.java | 22 ++ .../service/message/MpMessageServiceImpl.java | 34 +++ 46 files changed, 447 insertions(+), 1187 deletions(-) create mode 100644 yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/message/MpMessageSendFrom.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/MpMessageController.java rename yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/{fansmsg/vo/WxFansMsgBaseVO.java => message/vo/MpMessageBaseVO.java} (91%) create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/MpMessagePageReqVO.java rename yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/{fansmsg/vo/WxFansMsgRespVO.java => message/vo/MpMessageRespVO.java} (76%) delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/message/MpMessageConvert.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/message/MpMessageDO.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/MpMessageMapper.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java delete mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java rename yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/{ => menu}/MenuHandler.java (95%) rename yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/{DefaultMessageHandler.java => message/MessageAutoReplyHandler.java} (92%) rename yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/{LogHandler.java => message/MessageLogHandler.java} (87%) rename yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/{ => other}/KfSessionHandler.java (92%) rename yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/{fansmsgres => handler/other}/NullHandler.java (92%) rename yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/{ => other}/ScanHandler.java (93%) rename yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/{ => other}/StoreCheckNotifyHandler.java (93%) create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/package-info.java rename yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/{ => user}/LocationHandler.java (96%) create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/message/MpMessageService.java create mode 100644 yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/message/MpMessageServiceImpl.java diff --git a/yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/message/MpMessageSendFrom.java b/yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/message/MpMessageSendFrom.java new file mode 100644 index 000000000..f07b35d9a --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/message/MpMessageSendFrom.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.mp.enums.message; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 微信公众号消息的发送来源 + * + * @author 芋道源码 + */ +@Getter +@AllArgsConstructor +public enum MpMessageSendFrom { + + USER_TO_MP(1, "用户发送给公众号"), + MP_TO_USER(2, "公众号发给用户"), + ; + + /** + * 来源 + */ + private final Integer from; + /** + * 来源的名字 + */ + private final String name; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java deleted file mode 100644 index ff3466c2f..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/WxFansMsgController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; -import cn.iocoder.yudao.module.mp.convert.fansmsg.WxFansMsgConvert; -import cn.iocoder.yudao.module.mp.service.fansmsg.WxFansMsgService; - -@Api(tags = "管理后台 - 粉丝消息表 ") -@RestController -@RequestMapping("/wechatMp/wx-fans-msg") -@Validated -public class WxFansMsgController { - - @Resource - private WxFansMsgService wxFansMsgService; - - @PostMapping("/create") - @ApiOperation("创建粉丝消息表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:create')") - public CommonResult createWxFansMsg(@Valid @RequestBody WxFansMsgCreateReqVO createReqVO) { - return success(wxFansMsgService.createWxFansMsg(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新粉丝消息表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:update')") - public CommonResult updateWxFansMsg(@Valid @RequestBody WxFansMsgUpdateReqVO updateReqVO) { - wxFansMsgService.updateWxFansMsg(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除粉丝消息表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:delete')") - public CommonResult deleteWxFansMsg(@RequestParam("id") Integer id) { - wxFansMsgService.deleteWxFansMsg(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得粉丝消息表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") - public CommonResult getWxFansMsg(@RequestParam("id") Integer id) { - WxFansMsgDO wxFansMsg = wxFansMsgService.getWxFansMsg(id); - return success(WxFansMsgConvert.INSTANCE.convert(wxFansMsg)); - } - - @GetMapping("/list") - @ApiOperation("获得粉丝消息表 列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") - public CommonResult> getWxFansMsgList(@RequestParam("ids") Collection ids) { - List list = wxFansMsgService.getWxFansMsgList(ids); - return success(WxFansMsgConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得粉丝消息表 分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") - public CommonResult> getWxFansMsgPage(@Valid WxFansMsgPageReqVO pageVO) { - PageResult pageResult = wxFansMsgService.getWxFansMsgPage(pageVO); - return success(WxFansMsgConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出粉丝消息表 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:export')") - @OperateLog(type = EXPORT) - public void exportWxFansMsgExcel(@Valid WxFansMsgExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxFansMsgService.getWxFansMsgList(exportReqVO); - // 导出 Excel - List datas = WxFansMsgConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "粉丝消息表 .xls", "数据", WxFansMsgExcelVO.class, datas); - } - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java deleted file mode 100644 index 22b293b4a..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 粉丝消息表 创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgCreateReqVO extends WxFansMsgBaseVO { - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java deleted file mode 100644 index 2d35d3788..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExcelVO.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 粉丝消息表 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxFansMsgExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("用户标识") - private String openid; - - @ExcelProperty("昵称") - private byte[] nickname; - - @ExcelProperty("头像地址") - private String headimgUrl; - - @ExcelProperty("微信账号ID") - private String wxAccountId; - - @ExcelProperty("消息类型") - private String msgType; - - @ExcelProperty("内容") - private String content; - - @ExcelProperty("最近一条回复内容") - private String resContent; - - @ExcelProperty("是否已回复") - private String isRes; - - @ExcelProperty("微信素材ID") - private String mediaId; - - @ExcelProperty("微信图片URL") - private String picUrl; - - @ExcelProperty("本地图片路径") - private String picPath; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java deleted file mode 100644 index dba5d407e..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgExportReqVO.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 粉丝消息表 Excel 导出 Request VO", description = "参数和 WxFansMsgPageReqVO 是一致的") -@Data -public class WxFansMsgExportReqVO { - - @ApiModelProperty(value = "用户标识") - private String openid; - - @ApiModelProperty(value = "昵称") - private String nickname; - - @ApiModelProperty(value = "头像地址") - private String headimgUrl; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @ApiModelProperty(value = "消息类型") - private String msgType; - - @ApiModelProperty(value = "内容") - private String content; - - @ApiModelProperty(value = "最近一条回复内容") - private String resContent; - - @ApiModelProperty(value = "是否已回复") - private String isRes; - - @ApiModelProperty(value = "微信素材ID") - private String mediaId; - - @ApiModelProperty(value = "微信图片URL") - private String picUrl; - - @ApiModelProperty(value = "本地图片路径") - private String picPath; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java deleted file mode 100644 index d80a883d0..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgPageReqVO.java +++ /dev/null @@ -1,60 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 粉丝消息表 分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgPageReqVO extends PageParam { - - @ApiModelProperty(value = "用户标识") - private String openid; - - @ApiModelProperty(value = "昵称") - private String nickname; - - @ApiModelProperty(value = "头像地址") - private String headimgUrl; - - @ApiModelProperty(value = "微信账号ID") - private String wxAccountId; - - @ApiModelProperty(value = "消息类型") - private String msgType; - - @ApiModelProperty(value = "内容") - private String content; - - @ApiModelProperty(value = "最近一条回复内容") - private String resContent; - - @ApiModelProperty(value = "是否已回复") - private String isRes; - - @ApiModelProperty(value = "微信素材ID") - private String mediaId; - - @ApiModelProperty(value = "微信图片URL") - private String picUrl; - - @ApiModelProperty(value = "本地图片路径") - private String picPath; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java deleted file mode 100644 index eedad7899..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 粉丝消息表 更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgUpdateReqVO extends WxFansMsgBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java deleted file mode 100644 index 19a9140f0..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/WxFansMsgResController.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres; - -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; - -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; -import cn.iocoder.yudao.module.mp.convert.fansmsgres.WxFansMsgResConvert; -import cn.iocoder.yudao.module.mp.service.fansmsgres.WxFansMsgResService; - -@Api(tags = "管理后台 - 回复粉丝消息历史表 ") -@RestController -@RequestMapping("/wechatMp/wx-fans-msg-res") -@Validated -public class WxFansMsgResController { - - @Resource - private WxFansMsgResService wxFansMsgResService; - - @PostMapping("/create") - @ApiOperation("创建回复粉丝消息历史表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:create')") - public CommonResult createWxFansMsgRes(@Valid @RequestBody WxFansMsgResCreateReqVO createReqVO) { - return success(wxFansMsgResService.createWxFansMsgRes(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新回复粉丝消息历史表 ") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:update')") - public CommonResult updateWxFansMsgRes(@Valid @RequestBody WxFansMsgResUpdateReqVO updateReqVO) { - wxFansMsgResService.updateWxFansMsgRes(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除回复粉丝消息历史表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:delete')") - public CommonResult deleteWxFansMsgRes(@RequestParam("id") Integer id) { - wxFansMsgResService.deleteWxFansMsgRes(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得回复粉丝消息历史表 ") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") - public CommonResult getWxFansMsgRes(@RequestParam("id") Integer id) { - WxFansMsgResDO wxFansMsgRes = wxFansMsgResService.getWxFansMsgRes(id); - return success(WxFansMsgResConvert.INSTANCE.convert(wxFansMsgRes)); - } - - @GetMapping("/list") - @ApiOperation("获得回复粉丝消息历史表 列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") - public CommonResult> getWxFansMsgResList(@RequestParam("ids") Collection ids) { - List list = wxFansMsgResService.getWxFansMsgResList(ids); - return success(WxFansMsgResConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得回复粉丝消息历史表 分页") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:query')") - public CommonResult> getWxFansMsgResPage(@Valid WxFansMsgResPageReqVO pageVO) { - PageResult pageResult = wxFansMsgResService.getWxFansMsgResPage(pageVO); - return success(WxFansMsgResConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出回复粉丝消息历史表 Excel") - @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg-res:export')") - @OperateLog(type = EXPORT) - public void exportWxFansMsgResExcel(@Valid WxFansMsgResExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = wxFansMsgResService.getWxFansMsgResList(exportReqVO); - // 导出 Excel - List datas = WxFansMsgResConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "回复粉丝消息历史表 .xls", "数据", WxFansMsgResExcelVO.class, datas); - } - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java deleted file mode 100644 index 0f02b0bf4..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResBaseVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; -import io.swagger.annotations.*; - -/** - * 回复粉丝消息历史表 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 - */ -@Data -public class WxFansMsgResBaseVO { - - @ApiModelProperty(value = "粉丝消息ID") - private String fansMsgId; - - @ApiModelProperty(value = "回复内容") - private String resContent; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java deleted file mode 100644 index 8016f555e..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResCreateReqVO.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 回复粉丝消息历史表 创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgResCreateReqVO extends WxFansMsgResBaseVO { - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java deleted file mode 100644 index 067e95b32..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExcelVO.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; - -import java.util.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 回复粉丝消息历史表 Excel VO - * - * @author 芋道源码 - */ -@Data -public class WxFansMsgResExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("粉丝消息ID") - private String fansMsgId; - - @ExcelProperty("回复内容") - private String resContent; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java deleted file mode 100644 index 741aa6996..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResExportReqVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 回复粉丝消息历史表 Excel 导出 Request VO", description = "参数和 WxFansMsgResPageReqVO 是一致的") -@Data -public class WxFansMsgResExportReqVO { - - @ApiModelProperty(value = "粉丝消息ID") - private String fansMsgId; - - @ApiModelProperty(value = "回复内容") - private String resContent; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java deleted file mode 100644 index c888bc4b6..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResPageReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 回复粉丝消息历史表 分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgResPageReqVO extends PageParam { - - @ApiModelProperty(value = "粉丝消息ID") - private String fansMsgId; - - @ApiModelProperty(value = "回复内容") - private String resContent; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java deleted file mode 100644 index 3fc4b0700..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResRespVO.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; - -import java.util.*; - -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 回复粉丝消息历史表 Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgResRespVO extends WxFansMsgResBaseVO { - - @ApiModelProperty(value = "主键", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间", required = true) - private Date createTime; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java deleted file mode 100644 index 71ac11cd6..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsgres/vo/WxFansMsgResUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo; - -import lombok.*; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 回复粉丝消息历史表 更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WxFansMsgResUpdateReqVO extends WxFansMsgResBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/MpMessageController.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/MpMessageController.java new file mode 100644 index 000000000..413d2621f --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/MpMessageController.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.mp.controller.admin.message; + +import cn.iocoder.yudao.module.mp.dal.dataobject.message.MpMessageDO; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.module.mp.controller.admin.message.vo.*; +import cn.iocoder.yudao.module.mp.convert.message.MpMessageConvert; +import cn.iocoder.yudao.module.mp.service.message.MpMessageService; + +@Api(tags = "管理后台 - 粉丝消息表") +@RestController +@RequestMapping("/mp/message") +@Validated +public class MpMessageController { + + @Resource + private MpMessageService mpMessageService; + + @GetMapping("/page") + @ApiOperation("获得粉丝消息表分页") + @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-msg:query')") + public CommonResult> getWxFansMsgPage(@Valid MpMessagePageReqVO pageVO) { + PageResult pageResult = mpMessageService.getWxFansMsgPage(pageVO); + return success(MpMessageConvert.INSTANCE.convertPage(pageResult)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/MpMessageBaseVO.java similarity index 91% rename from yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java rename to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/MpMessageBaseVO.java index 8527d4124..a30de6c52 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgBaseVO.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/MpMessageBaseVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; +package cn.iocoder.yudao.module.mp.controller.admin.message.vo; import lombok.*; import io.swagger.annotations.*; @@ -8,7 +8,7 @@ import io.swagger.annotations.*; * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 */ @Data -public class WxFansMsgBaseVO { +public class MpMessageBaseVO { @ApiModelProperty(value = "用户标识") private String openid; diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/MpMessagePageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/MpMessagePageReqVO.java new file mode 100644 index 000000000..4bdeee02f --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/MpMessagePageReqVO.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.mp.controller.admin.message.vo; + +import lombok.*; + +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +@ApiModel("管理后台 - 粉丝消息表分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MpMessagePageReqVO extends PageParam { + + @ApiModelProperty(value = "用户标识") + private String openId; + + @ApiModelProperty(value = "昵称") + private String nickname; + + @ApiModelProperty(value = "微信账号ID") + private Long accountId; + + @ApiModelProperty(value = "消息类型") + private String type; + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/MpMessageRespVO.java similarity index 76% rename from yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java rename to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/MpMessageRespVO.java index 62845b489..62c63e70f 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/fansmsg/vo/WxFansMsgRespVO.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/MpMessageRespVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo; +package cn.iocoder.yudao.module.mp.controller.admin.message.vo; import lombok.*; @@ -10,7 +10,7 @@ import io.swagger.annotations.*; @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) -public class WxFansMsgRespVO extends WxFansMsgBaseVO { +public class MpMessageRespVO extends MpMessageBaseVO { @ApiModelProperty(value = "主键", required = true) private Integer id; diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java deleted file mode 100644 index 8848bf927..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsg/WxFansMsgConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.fansmsg; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; - -/** - * 粉丝消息表 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxFansMsgConvert { - - WxFansMsgConvert INSTANCE = Mappers.getMapper(WxFansMsgConvert.class); - - WxFansMsgDO convert(WxFansMsgCreateReqVO bean); - - WxFansMsgDO convert(WxFansMsgUpdateReqVO bean); - - WxFansMsgRespVO convert(WxFansMsgDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java deleted file mode 100644 index fab15bf77..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/fansmsgres/WxFansMsgResConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.mp.convert.fansmsgres; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; - -/** - * 回复粉丝消息历史表 Convert - * - * @author 芋道源码 - */ -@Mapper -public interface WxFansMsgResConvert { - - WxFansMsgResConvert INSTANCE = Mappers.getMapper(WxFansMsgResConvert.class); - - WxFansMsgResDO convert(WxFansMsgResCreateReqVO bean); - - WxFansMsgResDO convert(WxFansMsgResUpdateReqVO bean); - - WxFansMsgResRespVO convert(WxFansMsgResDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/message/MpMessageConvert.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/message/MpMessageConvert.java new file mode 100644 index 000000000..fc504a75f --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/message/MpMessageConvert.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.mp.convert.message; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.dal.dataobject.message.MpMessageDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.mp.controller.admin.message.vo.*; + +@Mapper +public interface MpMessageConvert { + + MpMessageConvert INSTANCE = Mappers.getMapper(MpMessageConvert.class); + + MpMessageRespVO convert(MpMessageDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java deleted file mode 100644 index 2427a4f48..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsg/WxFansMsgDO.java +++ /dev/null @@ -1,75 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 粉丝消息表 DO - * - * @author 芋道源码 - */ -@TableName("wx_fans_msg") -@KeySequence("wx_fans_msg_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxFansMsgDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 用户标识 - */ - private String openid; - /** - * 昵称 - */ - private byte[] nickname; - /** - * 头像地址 - */ - private String headimgUrl; - /** - * 微信账号ID - */ - private String wxAccountId; - /** - * 消息类型 - */ - private String msgType; - /** - * 内容 - */ - private String content; - /** - * 最近一条回复内容 - */ - private String resContent; - /** - * 是否已回复 - */ - private String isRes; - /** - * 微信素材ID - */ - private String mediaId; - /** - * 微信图片URL - */ - private String picUrl; - /** - * 本地图片路径 - */ - private String picPath; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java deleted file mode 100644 index 2a5ffc45c..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/fansmsgres/WxFansMsgResDO.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres; - -import lombok.*; - -import java.util.*; - -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 回复粉丝消息历史表 DO - * - * @author 芋道源码 - */ -@TableName("wx_fans_msg_res") -@KeySequence("wx_fans_msg_res_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WxFansMsgResDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 粉丝消息ID - */ - private String fansMsgId; - /** - * 回复内容 - */ - private String resContent; - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/message/MpMessageDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/message/MpMessageDO.java new file mode 100644 index 000000000..c6d073f4b --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/message/MpMessageDO.java @@ -0,0 +1,206 @@ +package cn.iocoder.yudao.module.mp.dal.dataobject.message; + +import cn.iocoder.yudao.framework.common.util.json.JsonUtils; +import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; +import cn.iocoder.yudao.module.mp.dal.dataobject.user.MpUserDO; +import cn.iocoder.yudao.module.mp.enums.message.MpMessageSendFrom; +import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler; +import lombok.*; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import me.chanjar.weixin.common.api.WxConsts; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + +/** + * 微信消息 DO + * + * @author 芋道源码 + */ +@TableName(value = "mp_message", autoResultMap = true) +@KeySequence("mp_message_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MpMessageDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Long id; + /** + * 微信公众号 ID + * + * 关联 {@link MpAccountDO#getId()} + */ + private Long accountId; + /** + * 微信公众号 appid + * + * 冗余 {@link MpAccountDO#getAppId()} + */ + private String appId; + /** + * 微信用户编号 + * + * 关联 {@link MpUserDO#getId()} + */ + private Long userId; + /** + * 用户标识 + * + * 冗余 {@link MpUserDO#getId()} + */ + private String openId; +// /** +// * 昵称 +// */ +// private String nickname; +// /** +// * 头像 +// */ +// private String headImageUrl; + + /** + * 消息类型 + * + * 枚举 {@link WxConsts.XmlMsgType} + */ + private String type; + /** + * 消息来源 + * + * 枚举 {@link MpMessageSendFrom} + */ + private Integer sendFrom; + + // ========= 消息内容 ========== + + /** + * 消息内容 + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 TEXT + */ + private String content; + + /** + * 通过素材管理中的接口上传多媒体文件,得到的 id + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 IMAGE、VOICE、VIDEO + */ + private String mediaId; + /** + * 标题 + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 VIDEO、MUSIC + */ + private String title; + /** + * 描述 + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 VIDEO、MUSIC + */ + private String description; + + /** + * 音乐链接 + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 MUSIC + */ + private String musicURL; + /** + * 高质量音乐链接,WIFI 环境优先使用该链接播放音乐 + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 MUSIC + */ + private String hqMusicUrl; + /** + * 缩略图的媒体 id,通过素材管理中的接口上传多媒体文件,得到的 id + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 MUSIC + */ + private String thumbMediaId; + + /** + * 图文消息个数,限制为 10 条以内 + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 NEWS + */ + private Integer articleCount; + /** + * 图文消息数组 + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 NEWS + */ + @TableField(typeHandler = ArticleTypeHandler.class) + private List
articles; + + /** + * 地理位置维度 + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 LOCATION + */ + private Double locationX; + /** + * 地理位置经度 + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 LOCATION + */ + private Double locationY; + /** + * 地图缩放大小 + * + * 消息类型为 {@link WxConsts.XmlMsgType} 的 LOCATION + */ + private Double scale; + + /** + * 文章 + */ + @Data + public static class Article implements Serializable { + + /** + * 图文消息标题 + */ + private String title; + /** + * 图文消息描述 + */ + private String description; + /** + * 图片链接 + * + * 支持JPG、PNG格式,较好的效果为大图 360*200,小图 200*200 + */ + private String picUrl; + /** + * 点击图文消息跳转链接 + */ + private String url; + + } + + // TODO @芋艿:可以找一些新的思路 + public static class ArticleTypeHandler extends AbstractJsonTypeHandler> { + + @Override + protected List
parse(String json) { + return JsonUtils.parseArray(json, Article.class); + } + + @Override + protected String toJson(List
obj) { + return JsonUtils.toJsonString(obj); + } + + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/user/MpUserDO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/user/MpUserDO.java index d5fe5efdb..c83c85810 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/user/MpUserDO.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/user/MpUserDO.java @@ -92,7 +92,7 @@ public class MpUserDO extends BaseDO { /** * 微信公众号 appid * - * 冗余{@link MpAccountDO#getAppId()} + * 冗余 {@link MpAccountDO#getAppId()} */ private String appId; diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/MpMessageMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/MpMessageMapper.java new file mode 100644 index 000000000..95c46510f --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/MpMessageMapper.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.mp.dal.mysql.fansmsg; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mp.controller.admin.message.vo.MpMessagePageReqVO; +import cn.iocoder.yudao.module.mp.dal.dataobject.message.MpMessageDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface MpMessageMapper extends BaseMapperX { + + default PageResult selectPage(MpMessagePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MpMessageDO::getAccountId, reqVO.getAccountId()) + .eqIfPresent(MpMessageDO::getOpenId, reqVO.getOpenId()) +// .likeIfPresent(MpMessageDO::getNickname, reqVO.getNickname()) + .eqIfPresent(MpMessageDO::getType, reqVO.getType()) + .orderByDesc(MpMessageDO::getId)); + } + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java deleted file mode 100644 index 7e5db276d..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsg/WxFansMsgMapper.java +++ /dev/null @@ -1,54 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.fansmsg; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; - -/** - * 粉丝消息表 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxFansMsgMapper extends BaseMapperX { - - default PageResult selectPage(WxFansMsgPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WxFansMsgDO::getOpenid, reqVO.getOpenid()) - .likeIfPresent(WxFansMsgDO::getNickname, reqVO.getNickname()) - .eqIfPresent(WxFansMsgDO::getHeadimgUrl, reqVO.getHeadimgUrl()) - .eqIfPresent(WxFansMsgDO::getWxAccountId, reqVO.getWxAccountId()) - .eqIfPresent(WxFansMsgDO::getMsgType, reqVO.getMsgType()) - .eqIfPresent(WxFansMsgDO::getContent, reqVO.getContent()) - .eqIfPresent(WxFansMsgDO::getResContent, reqVO.getResContent()) - .eqIfPresent(WxFansMsgDO::getIsRes, reqVO.getIsRes()) - .eqIfPresent(WxFansMsgDO::getMediaId, reqVO.getMediaId()) - .eqIfPresent(WxFansMsgDO::getPicUrl, reqVO.getPicUrl()) - .eqIfPresent(WxFansMsgDO::getPicPath, reqVO.getPicPath()) - .betweenIfPresent(WxFansMsgDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxFansMsgDO::getId)); - } - - default List selectList(WxFansMsgExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WxFansMsgDO::getOpenid, reqVO.getOpenid()) - .likeIfPresent(WxFansMsgDO::getNickname, reqVO.getNickname()) - .eqIfPresent(WxFansMsgDO::getHeadimgUrl, reqVO.getHeadimgUrl()) - .eqIfPresent(WxFansMsgDO::getWxAccountId, reqVO.getWxAccountId()) - .eqIfPresent(WxFansMsgDO::getMsgType, reqVO.getMsgType()) - .eqIfPresent(WxFansMsgDO::getContent, reqVO.getContent()) - .eqIfPresent(WxFansMsgDO::getResContent, reqVO.getResContent()) - .eqIfPresent(WxFansMsgDO::getIsRes, reqVO.getIsRes()) - .eqIfPresent(WxFansMsgDO::getMediaId, reqVO.getMediaId()) - .eqIfPresent(WxFansMsgDO::getPicUrl, reqVO.getPicUrl()) - .eqIfPresent(WxFansMsgDO::getPicPath, reqVO.getPicPath()) - .betweenIfPresent(WxFansMsgDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxFansMsgDO::getId)); - } - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java deleted file mode 100644 index 86423a119..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/fansmsgres/WxFansMsgResMapper.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.module.mp.dal.mysql.fansmsgres; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; - -/** - * 回复粉丝消息历史表 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WxFansMsgResMapper extends BaseMapperX { - - default PageResult selectPage(WxFansMsgResPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WxFansMsgResDO::getFansMsgId, reqVO.getFansMsgId()) - .eqIfPresent(WxFansMsgResDO::getResContent, reqVO.getResContent()) - .betweenIfPresent(WxFansMsgResDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxFansMsgResDO::getId)); - } - - default List selectList(WxFansMsgResExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WxFansMsgResDO::getFansMsgId, reqVO.getFansMsgId()) - .eqIfPresent(WxFansMsgResDO::getResContent, reqVO.getResContent()) - .betweenIfPresent(WxFansMsgResDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(WxFansMsgResDO::getId)); - } - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/mp/config/MpConfiguration.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/mp/config/MpConfiguration.java index 1e97fad1c..e168c4196 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/mp/config/MpConfiguration.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/mp/config/MpConfiguration.java @@ -2,8 +2,14 @@ package cn.iocoder.yudao.module.mp.framework.mp.config; import cn.iocoder.yudao.module.mp.framework.mp.core.DefaultMpServiceFactory; import cn.iocoder.yudao.module.mp.framework.mp.core.MpServiceFactory; -import cn.iocoder.yudao.module.mp.service.fansmsgres.NullHandler; -import cn.iocoder.yudao.module.mp.service.handler.*; +import cn.iocoder.yudao.module.mp.service.handler.menu.MenuHandler; +import cn.iocoder.yudao.module.mp.service.handler.message.MessageLogHandler; +import cn.iocoder.yudao.module.mp.service.handler.message.MessageAutoReplyHandler; +import cn.iocoder.yudao.module.mp.service.handler.other.KfSessionHandler; +import cn.iocoder.yudao.module.mp.service.handler.other.NullHandler; +import cn.iocoder.yudao.module.mp.service.handler.other.ScanHandler; +import cn.iocoder.yudao.module.mp.service.handler.other.StoreCheckNotifyHandler; +import cn.iocoder.yudao.module.mp.service.handler.user.LocationHandler; import cn.iocoder.yudao.module.mp.service.handler.user.SubscribeHandler; import cn.iocoder.yudao.module.mp.service.handler.user.UnsubscribeHandler; import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties; @@ -30,7 +36,7 @@ public class MpConfiguration { @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") public MpServiceFactory mpServiceFactory(RedisTemplateWxRedisOps redisTemplateWxRedisOps, WxMpProperties wxMpProperties, - LogHandler logHandler, + MessageLogHandler logHandler, KfSessionHandler kfSessionHandler, StoreCheckNotifyHandler storeCheckNotifyHandler, MenuHandler menuHandler, @@ -39,7 +45,7 @@ public class MpConfiguration { UnsubscribeHandler unsubscribeHandler, LocationHandler locationHandler, ScanHandler scanHandler, - DefaultMessageHandler msgHandler) { + MessageAutoReplyHandler msgHandler) { return new DefaultMpServiceFactory(redisTemplateWxRedisOps, wxMpProperties, logHandler, kfSessionHandler, storeCheckNotifyHandler, menuHandler, nullHandler, subscribeHandler, unsubscribeHandler, locationHandler, scanHandler, msgHandler); diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/mp/core/DefaultMpServiceFactory.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/mp/core/DefaultMpServiceFactory.java index 28c377c6e..c5f4802cb 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/mp/core/DefaultMpServiceFactory.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/mp/core/DefaultMpServiceFactory.java @@ -1,8 +1,14 @@ package cn.iocoder.yudao.module.mp.framework.mp.core; import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; -import cn.iocoder.yudao.module.mp.service.fansmsgres.NullHandler; -import cn.iocoder.yudao.module.mp.service.handler.*; +import cn.iocoder.yudao.module.mp.service.handler.menu.MenuHandler; +import cn.iocoder.yudao.module.mp.service.handler.message.MessageLogHandler; +import cn.iocoder.yudao.module.mp.service.handler.message.MessageAutoReplyHandler; +import cn.iocoder.yudao.module.mp.service.handler.other.KfSessionHandler; +import cn.iocoder.yudao.module.mp.service.handler.other.NullHandler; +import cn.iocoder.yudao.module.mp.service.handler.other.ScanHandler; +import cn.iocoder.yudao.module.mp.service.handler.other.StoreCheckNotifyHandler; +import cn.iocoder.yudao.module.mp.service.handler.user.LocationHandler; import cn.iocoder.yudao.module.mp.service.handler.user.SubscribeHandler; import cn.iocoder.yudao.module.mp.service.handler.user.UnsubscribeHandler; import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties; @@ -43,7 +49,7 @@ public class DefaultMpServiceFactory implements MpServiceFactory { // ========== 各种 Handler ========== - private final LogHandler logHandler; + private final MessageLogHandler logHandler; private final KfSessionHandler kfSessionHandler; private final StoreCheckNotifyHandler storeCheckNotifyHandler; private final MenuHandler menuHandler; @@ -52,7 +58,7 @@ public class DefaultMpServiceFactory implements MpServiceFactory { private final UnsubscribeHandler unsubscribeHandler; private final LocationHandler locationHandler; private final ScanHandler scanHandler; - private final DefaultMessageHandler msgHandler; + private final MessageAutoReplyHandler msgHandler; @Override public void init(List list) { diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java deleted file mode 100644 index 658a89a64..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.fansmsg; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 粉丝消息表 Service 接口 - * - * @author 芋道源码 - */ -public interface WxFansMsgService { - - /** - * 创建粉丝消息表 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxFansMsg(@Valid WxFansMsgCreateReqVO createReqVO); - - /** - * 更新粉丝消息表 - * - * @param updateReqVO 更新信息 - */ - void updateWxFansMsg(@Valid WxFansMsgUpdateReqVO updateReqVO); - - /** - * 删除粉丝消息表 - * - * @param id 编号 - */ - void deleteWxFansMsg(Integer id); - - /** - * 获得粉丝消息表 - * - * @param id 编号 - * @return 粉丝消息表 - */ - WxFansMsgDO getWxFansMsg(Integer id); - - /** - * 获得粉丝消息表 列表 - * - * @param ids 编号 - * @return 粉丝消息表 列表 - */ - List getWxFansMsgList(Collection ids); - - /** - * 获得粉丝消息表 分页 - * - * @param pageReqVO 分页查询 - * @return 粉丝消息表 分页 - */ - PageResult getWxFansMsgPage(WxFansMsgPageReqVO pageReqVO); - - /** - * 获得粉丝消息表 列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 粉丝消息表 列表 - */ - List getWxFansMsgList(WxFansMsgExportReqVO exportReqVO); - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java deleted file mode 100644 index 3c533c305..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsg/WxFansMsgServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.fansmsg; - -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsg.WxFansMsgDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.fansmsg.WxFansMsgConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.fansmsg.WxFansMsgMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 粉丝消息表 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxFansMsgServiceImpl implements WxFansMsgService { - - @Resource - private WxFansMsgMapper wxFansMsgMapper; - - @Override - public Integer createWxFansMsg(WxFansMsgCreateReqVO createReqVO) { - // 插入 - WxFansMsgDO wxFansMsg = WxFansMsgConvert.INSTANCE.convert(createReqVO); - wxFansMsgMapper.insert(wxFansMsg); - // 返回 - return wxFansMsg.getId(); - } - - @Override - public void updateWxFansMsg(WxFansMsgUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxFansMsgExists(updateReqVO.getId()); - // 更新 - WxFansMsgDO updateObj = WxFansMsgConvert.INSTANCE.convert(updateReqVO); - wxFansMsgMapper.updateById(updateObj); - } - - @Override - public void deleteWxFansMsg(Integer id) { - // 校验存在 - this.validateWxFansMsgExists(id); - // 删除 - wxFansMsgMapper.deleteById(id); - } - - private void validateWxFansMsgExists(Integer id) { - if (wxFansMsgMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxFansMsgDO getWxFansMsg(Integer id) { - return wxFansMsgMapper.selectById(id); - } - - @Override - public List getWxFansMsgList(Collection ids) { - return wxFansMsgMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxFansMsgPage(WxFansMsgPageReqVO pageReqVO) { - return wxFansMsgMapper.selectPage(pageReqVO); - } - - @Override - public List getWxFansMsgList(WxFansMsgExportReqVO exportReqVO) { - return wxFansMsgMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java deleted file mode 100644 index 203c362e3..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.fansmsgres; - -import java.util.*; -import javax.validation.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 回复粉丝消息历史表 Service 接口 - * - * @author 芋道源码 - */ -public interface WxFansMsgResService { - - /** - * 创建回复粉丝消息历史表 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createWxFansMsgRes(@Valid WxFansMsgResCreateReqVO createReqVO); - - /** - * 更新回复粉丝消息历史表 - * - * @param updateReqVO 更新信息 - */ - void updateWxFansMsgRes(@Valid WxFansMsgResUpdateReqVO updateReqVO); - - /** - * 删除回复粉丝消息历史表 - * - * @param id 编号 - */ - void deleteWxFansMsgRes(Integer id); - - /** - * 获得回复粉丝消息历史表 - * - * @param id 编号 - * @return 回复粉丝消息历史表 - */ - WxFansMsgResDO getWxFansMsgRes(Integer id); - - /** - * 获得回复粉丝消息历史表 列表 - * - * @param ids 编号 - * @return 回复粉丝消息历史表 列表 - */ - List getWxFansMsgResList(Collection ids); - - /** - * 获得回复粉丝消息历史表 分页 - * - * @param pageReqVO 分页查询 - * @return 回复粉丝消息历史表 分页 - */ - PageResult getWxFansMsgResPage(WxFansMsgResPageReqVO pageReqVO); - - /** - * 获得回复粉丝消息历史表 列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 回复粉丝消息历史表 列表 - */ - List getWxFansMsgResList(WxFansMsgResExportReqVO exportReqVO); - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java deleted file mode 100644 index 964c0ed4b..000000000 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/WxFansMsgResServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mp.service.fansmsgres; - -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import cn.iocoder.yudao.module.mp.controller.admin.fansmsgres.vo.*; -import cn.iocoder.yudao.module.mp.dal.dataobject.fansmsgres.WxFansMsgResDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.mp.convert.fansmsgres.WxFansMsgResConvert; -import cn.iocoder.yudao.module.mp.dal.mysql.fansmsgres.WxFansMsgResMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; - -/** - * 回复粉丝消息历史表 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WxFansMsgResServiceImpl implements WxFansMsgResService { - - @Resource - private WxFansMsgResMapper wxFansMsgResMapper; - - @Override - public Integer createWxFansMsgRes(WxFansMsgResCreateReqVO createReqVO) { - // 插入 - WxFansMsgResDO wxFansMsgRes = WxFansMsgResConvert.INSTANCE.convert(createReqVO); - wxFansMsgResMapper.insert(wxFansMsgRes); - // 返回 - return wxFansMsgRes.getId(); - } - - @Override - public void updateWxFansMsgRes(WxFansMsgResUpdateReqVO updateReqVO) { - // 校验存在 - this.validateWxFansMsgResExists(updateReqVO.getId()); - // 更新 - WxFansMsgResDO updateObj = WxFansMsgResConvert.INSTANCE.convert(updateReqVO); - wxFansMsgResMapper.updateById(updateObj); - } - - @Override - public void deleteWxFansMsgRes(Integer id) { - // 校验存在 - this.validateWxFansMsgResExists(id); - // 删除 - wxFansMsgResMapper.deleteById(id); - } - - private void validateWxFansMsgResExists(Integer id) { - if (wxFansMsgResMapper.selectById(id) == null) { - throw exception(COMMON_NOT_EXISTS); - } - } - - @Override - public WxFansMsgResDO getWxFansMsgRes(Integer id) { - return wxFansMsgResMapper.selectById(id); - } - - @Override - public List getWxFansMsgResList(Collection ids) { - return wxFansMsgResMapper.selectBatchIds(ids); - } - - @Override - public PageResult getWxFansMsgResPage(WxFansMsgResPageReqVO pageReqVO) { - return wxFansMsgResMapper.selectPage(pageReqVO); - } - - @Override - public List getWxFansMsgResList(WxFansMsgResExportReqVO exportReqVO) { - return wxFansMsgResMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/MenuHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/menu/MenuHandler.java similarity index 95% rename from yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/MenuHandler.java rename to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/menu/MenuHandler.java index 9146b7f23..f04efedcb 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/MenuHandler.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/menu/MenuHandler.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mp.service.handler; +package cn.iocoder.yudao.module.mp.service.handler.menu; import me.chanjar.weixin.common.session.WxSessionManager; import me.chanjar.weixin.mp.api.WxMpMessageHandler; diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/DefaultMessageHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/message/MessageAutoReplyHandler.java similarity index 92% rename from yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/DefaultMessageHandler.java rename to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/message/MessageAutoReplyHandler.java index 998433d7b..4d4486509 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/DefaultMessageHandler.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/message/MessageAutoReplyHandler.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mp.service.handler; +package cn.iocoder.yudao.module.mp.service.handler.message; import cn.hutool.core.io.FileUtil; import cn.hutool.http.HtmlUtil; @@ -6,10 +6,9 @@ import cn.hutool.http.HttpUtil; import cn.iocoder.yudao.framework.common.util.json.JsonUtils; import cn.iocoder.yudao.module.infra.api.file.FileApi; import cn.iocoder.yudao.module.mp.builder.TextBuilder; -import cn.iocoder.yudao.module.mp.controller.admin.fansmsg.vo.WxFansMsgCreateReqVO; import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; import cn.iocoder.yudao.module.mp.service.account.MpAccountService; -import cn.iocoder.yudao.module.mp.service.fansmsg.WxFansMsgService; +import cn.iocoder.yudao.module.mp.service.message.MpMessageService; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.api.WxConsts; import me.chanjar.weixin.common.error.WxErrorException; @@ -20,7 +19,6 @@ import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; import me.chanjar.weixin.mp.bean.result.WxMpUser; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; @@ -30,20 +28,20 @@ import java.io.UnsupportedEncodingException; import java.util.Map; /** - * 默认所有消息的事件处理器 + * 自动回复消息的事件处理器 * - * // TODO 芋艿:待实现 + * @author 芋道源码 */ @Component @Slf4j -public class DefaultMessageHandler implements WxMpMessageHandler { +public class MessageAutoReplyHandler implements WxMpMessageHandler { @Resource @Lazy // 延迟加载,解决循环依赖的问题 private MpAccountService mpAccountService; - @Autowired - private WxFansMsgService wxFansMsgService; + @Resource + private MpMessageService mpMessageService; @Resource private FileApi fileApi; @@ -84,7 +82,7 @@ public class DefaultMessageHandler implements WxMpMessageHandler { content = HtmlUtil.escape(content); wxFansMsg.setResContent(content); - wxFansMsgService.createWxFansMsg(wxFansMsg); + mpMessageService.createWxFansMsg(wxFansMsg); return new TextBuilder().build(content, wxMessage, weixinService); } @@ -112,7 +110,7 @@ public class DefaultMessageHandler implements WxMpMessageHandler { log.info("download pic size : {}", size); wxFansMsg.setPicPath(filepath); wxFansMsg.setIsRes("0"); - wxFansMsgService.createWxFansMsg(wxFansMsg); + mpMessageService.createWxFansMsg(wxFansMsg); } } diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/LogHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/message/MessageLogHandler.java similarity index 87% rename from yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/LogHandler.java rename to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/message/MessageLogHandler.java index 4e08f3c5b..b952038df 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/LogHandler.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/message/MessageLogHandler.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mp.service.handler; +package cn.iocoder.yudao.module.mp.service.handler.message; import cn.iocoder.yudao.framework.common.util.json.JsonUtils; import lombok.extern.slf4j.Slf4j; @@ -18,7 +18,7 @@ import java.util.Map; */ @Component @Slf4j -public class LogHandler implements WxMpMessageHandler { +public class MessageLogHandler implements WxMpMessageHandler { @Override public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map context, diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/KfSessionHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/KfSessionHandler.java similarity index 92% rename from yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/KfSessionHandler.java rename to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/KfSessionHandler.java index a432fcb00..5339cbe50 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/KfSessionHandler.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/KfSessionHandler.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mp.service.handler; +package cn.iocoder.yudao.module.mp.service.handler.other; import me.chanjar.weixin.common.session.WxSessionManager; import me.chanjar.weixin.mp.api.WxMpMessageHandler; diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/NullHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/NullHandler.java similarity index 92% rename from yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/NullHandler.java rename to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/NullHandler.java index 82e9b8913..1d2ef493c 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/fansmsgres/NullHandler.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/NullHandler.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mp.service.fansmsgres; +package cn.iocoder.yudao.module.mp.service.handler.other; import me.chanjar.weixin.common.session.WxSessionManager; import me.chanjar.weixin.mp.api.WxMpMessageHandler; diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/ScanHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/ScanHandler.java similarity index 93% rename from yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/ScanHandler.java rename to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/ScanHandler.java index 030e8578c..a145ee844 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/ScanHandler.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/ScanHandler.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mp.service.handler; +package cn.iocoder.yudao.module.mp.service.handler.other; import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.session.WxSessionManager; diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/StoreCheckNotifyHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/StoreCheckNotifyHandler.java similarity index 93% rename from yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/StoreCheckNotifyHandler.java rename to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/StoreCheckNotifyHandler.java index 9eb838ef2..125ff7dda 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/StoreCheckNotifyHandler.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/StoreCheckNotifyHandler.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mp.service.handler; +package cn.iocoder.yudao.module.mp.service.handler.other; import me.chanjar.weixin.common.session.WxSessionManager; import me.chanjar.weixin.mp.api.WxMpMessageHandler; diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/package-info.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/package-info.java new file mode 100644 index 000000000..7fd662260 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/other/package-info.java @@ -0,0 +1,4 @@ +/** + * 本包内的 handler 都是一些不重要的,所以放在 other 其它里 + */ +package cn.iocoder.yudao.module.mp.service.handler.other; diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/LocationHandler.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/user/LocationHandler.java similarity index 96% rename from yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/LocationHandler.java rename to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/user/LocationHandler.java index 3cfefbb56..4ad37be81 100644 --- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/LocationHandler.java +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/user/LocationHandler.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mp.service.handler; +package cn.iocoder.yudao.module.mp.service.handler.user; import cn.iocoder.yudao.module.mp.builder.TextBuilder; import lombok.extern.slf4j.Slf4j; diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/message/MpMessageService.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/message/MpMessageService.java new file mode 100644 index 000000000..d55958a44 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/message/MpMessageService.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.mp.service.message; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mp.controller.admin.message.vo.MpMessagePageReqVO; +import cn.iocoder.yudao.module.mp.dal.dataobject.message.MpMessageDO; + +/** + * 粉丝消息表 Service 接口 + * + * @author 芋道源码 + */ +public interface MpMessageService { + + /** + * 获得粉丝消息表 分页 + * + * @param pageReqVO 分页查询 + * @return 粉丝消息表 分页 + */ + PageResult getWxFansMsgPage(MpMessagePageReqVO pageReqVO); + +} diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/message/MpMessageServiceImpl.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/message/MpMessageServiceImpl.java new file mode 100644 index 000000000..d9ac4bd97 --- /dev/null +++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/message/MpMessageServiceImpl.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.mp.service.message; + +import cn.iocoder.yudao.module.mp.dal.dataobject.message.MpMessageDO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; + +import cn.iocoder.yudao.module.mp.controller.admin.message.vo.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.mp.dal.mysql.fansmsg.MpMessageMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; + +/** + * 粉丝消息表 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class MpMessageServiceImpl implements MpMessageService { + + @Resource + private MpMessageMapper mpMessageMapper; + + @Override + public PageResult getWxFansMsgPage(MpMessagePageReqVO pageReqVO) { + return mpMessageMapper.selectPage(pageReqVO); + } + +}