Commit 48bea21a46067daa1c35ddff7a57f98661e00527
1 parent
3cf85753
mp:清理冗余代码
Showing
37 changed files
with
149 additions
and
1518 deletions
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/AbstractBuilder.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.builder; | ||
| 2 | - | ||
| 3 | -import me.chanjar.weixin.mp.api.WxMpService; | ||
| 4 | -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; | ||
| 5 | -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; | ||
| 6 | -import org.slf4j.Logger; | ||
| 7 | -import org.slf4j.LoggerFactory; | ||
| 8 | - | ||
| 9 | -// TODO @亚洲:看看是不是可以使用 convert 来做,更符合项目 | ||
| 10 | -public abstract class AbstractBuilder { | ||
| 11 | - protected final Logger logger = LoggerFactory.getLogger(getClass()); | ||
| 12 | - | ||
| 13 | - public abstract WxMpXmlOutMessage build(String content, | ||
| 14 | - WxMpXmlMessage wxMessage, WxMpService service); | ||
| 15 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/ImageBuilder.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.builder; | ||
| 2 | - | ||
| 3 | -import me.chanjar.weixin.mp.api.WxMpService; | ||
| 4 | -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; | ||
| 5 | -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutImageMessage; | ||
| 6 | -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; | ||
| 7 | - | ||
| 8 | -public class ImageBuilder extends AbstractBuilder { | ||
| 9 | - | ||
| 10 | - @Override | ||
| 11 | - public WxMpXmlOutMessage build(String content, WxMpXmlMessage wxMessage, | ||
| 12 | - WxMpService service) { | ||
| 13 | - | ||
| 14 | - WxMpXmlOutImageMessage m = WxMpXmlOutMessage.IMAGE().mediaId(content) | ||
| 15 | - .fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser()) | ||
| 16 | - .build(); | ||
| 17 | - | ||
| 18 | - return m; | ||
| 19 | - } | ||
| 20 | - | ||
| 21 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/builder/TextBuilder.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.builder; | ||
| 2 | - | ||
| 3 | -import me.chanjar.weixin.mp.api.WxMpService; | ||
| 4 | -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; | ||
| 5 | -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; | ||
| 6 | -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutTextMessage; | ||
| 7 | - | ||
| 8 | -public class TextBuilder extends AbstractBuilder { | ||
| 9 | - | ||
| 10 | - @Override | ||
| 11 | - public WxMpXmlOutMessage build(String content, WxMpXmlMessage wxMessage, | ||
| 12 | - WxMpService service) { | ||
| 13 | - WxMpXmlOutTextMessage m = WxMpXmlOutMessage.TEXT().content(content) | ||
| 14 | - .fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser()) | ||
| 15 | - .build(); | ||
| 16 | - return m; | ||
| 17 | - } | ||
| 18 | - | ||
| 19 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/WxNewsArticleItemController.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem; | ||
| 2 | - | ||
| 3 | -import org.springframework.web.bind.annotation.*; | ||
| 4 | - | ||
| 5 | -import javax.annotation.Resource; | ||
| 6 | - | ||
| 7 | -import org.springframework.validation.annotation.Validated; | ||
| 8 | -import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | -import io.swagger.annotations.*; | ||
| 10 | - | ||
| 11 | -import javax.validation.*; | ||
| 12 | -import javax.servlet.http.*; | ||
| 13 | -import java.util.*; | ||
| 14 | -import java.io.IOException; | ||
| 15 | - | ||
| 16 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | -import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | - | ||
| 19 | -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | - | ||
| 21 | -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | - | ||
| 23 | -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | - | ||
| 25 | -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | - | ||
| 27 | -import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; | ||
| 28 | -import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; | ||
| 29 | -import cn.iocoder.yudao.module.mp.convert.newsarticleitem.WxNewsArticleItemConvert; | ||
| 30 | -import cn.iocoder.yudao.module.mp.service.newsarticleitem.WxNewsArticleItemService; | ||
| 31 | - | ||
| 32 | -@Api(tags = "管理后台 - 图文消息文章列表表 ") | ||
| 33 | -@RestController | ||
| 34 | -@RequestMapping("/wechatMp/wx-news-article-item") | ||
| 35 | -@Validated | ||
| 36 | -public class WxNewsArticleItemController { | ||
| 37 | - | ||
| 38 | - @Resource | ||
| 39 | - private WxNewsArticleItemService wxNewsArticleItemService; | ||
| 40 | - | ||
| 41 | - @PostMapping("/create") | ||
| 42 | - @ApiOperation("创建图文消息文章列表表 ") | ||
| 43 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:create')") | ||
| 44 | - public CommonResult<Integer> createWxNewsArticleItem(@Valid @RequestBody WxNewsArticleItemCreateReqVO createReqVO) { | ||
| 45 | - return success(wxNewsArticleItemService.createWxNewsArticleItem(createReqVO)); | ||
| 46 | - } | ||
| 47 | - | ||
| 48 | - @PutMapping("/update") | ||
| 49 | - @ApiOperation("更新图文消息文章列表表 ") | ||
| 50 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:update')") | ||
| 51 | - public CommonResult<Boolean> updateWxNewsArticleItem(@Valid @RequestBody WxNewsArticleItemUpdateReqVO updateReqVO) { | ||
| 52 | - wxNewsArticleItemService.updateWxNewsArticleItem(updateReqVO); | ||
| 53 | - return success(true); | ||
| 54 | - } | ||
| 55 | - | ||
| 56 | - @DeleteMapping("/delete") | ||
| 57 | - @ApiOperation("删除图文消息文章列表表 ") | ||
| 58 | - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:delete')") | ||
| 60 | - public CommonResult<Boolean> deleteWxNewsArticleItem(@RequestParam("id") Integer id) { | ||
| 61 | - wxNewsArticleItemService.deleteWxNewsArticleItem(id); | ||
| 62 | - return success(true); | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | - @GetMapping("/get") | ||
| 66 | - @ApiOperation("获得图文消息文章列表表 ") | ||
| 67 | - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") | ||
| 69 | - public CommonResult<WxNewsArticleItemRespVO> getWxNewsArticleItem(@RequestParam("id") Integer id) { | ||
| 70 | - WxNewsArticleItemDO wxNewsArticleItem = wxNewsArticleItemService.getWxNewsArticleItem(id); | ||
| 71 | - return success(WxNewsArticleItemConvert.INSTANCE.convert(wxNewsArticleItem)); | ||
| 72 | - } | ||
| 73 | - | ||
| 74 | - @GetMapping("/list") | ||
| 75 | - @ApiOperation("获得图文消息文章列表表 列表") | ||
| 76 | - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") | ||
| 78 | - public CommonResult<List<WxNewsArticleItemRespVO>> getWxNewsArticleItemList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | - List<WxNewsArticleItemDO> list = wxNewsArticleItemService.getWxNewsArticleItemList(ids); | ||
| 80 | - return success(WxNewsArticleItemConvert.INSTANCE.convertList(list)); | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | - @GetMapping("/page") | ||
| 84 | - @ApiOperation("获得图文消息文章列表表 分页") | ||
| 85 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:query')") | ||
| 86 | - public CommonResult<PageResult<WxNewsArticleItemRespVO>> getWxNewsArticleItemPage(@Valid WxNewsArticleItemPageReqVO pageVO) { | ||
| 87 | - PageResult<WxNewsArticleItemDO> pageResult = wxNewsArticleItemService.getWxNewsArticleItemPage(pageVO); | ||
| 88 | - return success(WxNewsArticleItemConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | - } | ||
| 90 | - | ||
| 91 | - @GetMapping("/export-excel") | ||
| 92 | - @ApiOperation("导出图文消息文章列表表 Excel") | ||
| 93 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-article-item:export')") | ||
| 94 | - @OperateLog(type = EXPORT) | ||
| 95 | - public void exportWxNewsArticleItemExcel(@Valid WxNewsArticleItemExportReqVO exportReqVO, | ||
| 96 | - HttpServletResponse response) throws IOException { | ||
| 97 | - List<WxNewsArticleItemDO> list = wxNewsArticleItemService.getWxNewsArticleItemList(exportReqVO); | ||
| 98 | - // 导出 Excel | ||
| 99 | - List<WxNewsArticleItemExcelVO> datas = WxNewsArticleItemConvert.INSTANCE.convertList02(list); | ||
| 100 | - ExcelUtils.write(response, "图文消息文章列表表 .xls", "数据", WxNewsArticleItemExcelVO.class, datas); | ||
| 101 | - } | ||
| 102 | - | ||
| 103 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemBaseVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | -import io.swagger.annotations.*; | ||
| 5 | - | ||
| 6 | -/** | ||
| 7 | - * 图文消息文章列表表 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | - */ | ||
| 10 | -@Data | ||
| 11 | -public class WxNewsArticleItemBaseVO { | ||
| 12 | - | ||
| 13 | - @ApiModelProperty(value = "标题") | ||
| 14 | - private String title; | ||
| 15 | - | ||
| 16 | - @ApiModelProperty(value = "摘要") | ||
| 17 | - private String digest; | ||
| 18 | - | ||
| 19 | - @ApiModelProperty(value = "作者") | ||
| 20 | - private String author; | ||
| 21 | - | ||
| 22 | - @ApiModelProperty(value = "是否展示封面图片(0/1)") | ||
| 23 | - private String showCoverPic; | ||
| 24 | - | ||
| 25 | - @ApiModelProperty(value = "上传微信,封面图片标识") | ||
| 26 | - private String thumbMediaId; | ||
| 27 | - | ||
| 28 | - @ApiModelProperty(value = "内容") | ||
| 29 | - private String content; | ||
| 30 | - | ||
| 31 | - @ApiModelProperty(value = "内容链接") | ||
| 32 | - private String contentSourceUrl; | ||
| 33 | - | ||
| 34 | - @ApiModelProperty(value = "文章排序") | ||
| 35 | - private Integer orderNo; | ||
| 36 | - | ||
| 37 | - @ApiModelProperty(value = "图片路径") | ||
| 38 | - private String picPath; | ||
| 39 | - | ||
| 40 | - @ApiModelProperty(value = "是否可以留言") | ||
| 41 | - private String needOpenComment; | ||
| 42 | - | ||
| 43 | - @ApiModelProperty(value = "是否仅粉丝可以留言") | ||
| 44 | - private String onlyFansCanComment; | ||
| 45 | - | ||
| 46 | - @ApiModelProperty(value = "图文ID") | ||
| 47 | - private String newsId; | ||
| 48 | - | ||
| 49 | - @ApiModelProperty(value = "微信账号ID") | ||
| 50 | - private String wxAccountId; | ||
| 51 | - | ||
| 52 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemCreateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | -import io.swagger.annotations.*; | ||
| 5 | - | ||
| 6 | -@ApiModel("管理后台 - 图文消息文章列表表 创建 Request VO") | ||
| 7 | -@Data | ||
| 8 | -@EqualsAndHashCode(callSuper = true) | ||
| 9 | -@ToString(callSuper = true) | ||
| 10 | -public class WxNewsArticleItemCreateReqVO extends WxNewsArticleItemBaseVO { | ||
| 11 | - | ||
| 12 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExcelVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | - | ||
| 5 | -import java.util.*; | ||
| 6 | - | ||
| 7 | -import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | - | ||
| 9 | -/** | ||
| 10 | - * 图文消息文章列表表 Excel VO | ||
| 11 | - * | ||
| 12 | - * @author 芋道源码 | ||
| 13 | - */ | ||
| 14 | -@Data | ||
| 15 | -public class WxNewsArticleItemExcelVO { | ||
| 16 | - | ||
| 17 | - @ExcelProperty("主键") | ||
| 18 | - private Integer id; | ||
| 19 | - | ||
| 20 | - @ExcelProperty("标题") | ||
| 21 | - private String title; | ||
| 22 | - | ||
| 23 | - @ExcelProperty("摘要") | ||
| 24 | - private String digest; | ||
| 25 | - | ||
| 26 | - @ExcelProperty("作者") | ||
| 27 | - private String author; | ||
| 28 | - | ||
| 29 | - @ExcelProperty("是否展示封面图片(0/1)") | ||
| 30 | - private String showCoverPic; | ||
| 31 | - | ||
| 32 | - @ExcelProperty("上传微信,封面图片标识") | ||
| 33 | - private String thumbMediaId; | ||
| 34 | - | ||
| 35 | - @ExcelProperty("内容") | ||
| 36 | - private String content; | ||
| 37 | - | ||
| 38 | - @ExcelProperty("内容链接") | ||
| 39 | - private String contentSourceUrl; | ||
| 40 | - | ||
| 41 | - @ExcelProperty("文章排序") | ||
| 42 | - private Integer orderNo; | ||
| 43 | - | ||
| 44 | - @ExcelProperty("图片路径") | ||
| 45 | - private String picPath; | ||
| 46 | - | ||
| 47 | - @ExcelProperty("是否可以留言") | ||
| 48 | - private String needOpenComment; | ||
| 49 | - | ||
| 50 | - @ExcelProperty("是否仅粉丝可以留言") | ||
| 51 | - private String onlyFansCanComment; | ||
| 52 | - | ||
| 53 | - @ExcelProperty("图文ID") | ||
| 54 | - private String newsId; | ||
| 55 | - | ||
| 56 | - @ExcelProperty("微信账号ID") | ||
| 57 | - private String wxAccountId; | ||
| 58 | - | ||
| 59 | - @ExcelProperty("创建时间") | ||
| 60 | - private Date createTime; | ||
| 61 | - | ||
| 62 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemExportReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | - | ||
| 5 | -import java.util.*; | ||
| 6 | - | ||
| 7 | -import io.swagger.annotations.*; | ||
| 8 | -import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | - | ||
| 10 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | - | ||
| 12 | -@ApiModel(value = "管理后台 - 图文消息文章列表表 Excel 导出 Request VO", description = "参数和 WxNewsArticleItemPageReqVO 是一致的") | ||
| 13 | -@Data | ||
| 14 | -public class WxNewsArticleItemExportReqVO { | ||
| 15 | - | ||
| 16 | - @ApiModelProperty(value = "标题") | ||
| 17 | - private String title; | ||
| 18 | - | ||
| 19 | - @ApiModelProperty(value = "摘要") | ||
| 20 | - private String digest; | ||
| 21 | - | ||
| 22 | - @ApiModelProperty(value = "作者") | ||
| 23 | - private String author; | ||
| 24 | - | ||
| 25 | - @ApiModelProperty(value = "是否展示封面图片(0/1)") | ||
| 26 | - private String showCoverPic; | ||
| 27 | - | ||
| 28 | - @ApiModelProperty(value = "上传微信,封面图片标识") | ||
| 29 | - private String thumbMediaId; | ||
| 30 | - | ||
| 31 | - @ApiModelProperty(value = "内容") | ||
| 32 | - private String content; | ||
| 33 | - | ||
| 34 | - @ApiModelProperty(value = "内容链接") | ||
| 35 | - private String contentSourceUrl; | ||
| 36 | - | ||
| 37 | - @ApiModelProperty(value = "文章排序") | ||
| 38 | - private Integer orderNo; | ||
| 39 | - | ||
| 40 | - @ApiModelProperty(value = "图片路径") | ||
| 41 | - private String picPath; | ||
| 42 | - | ||
| 43 | - @ApiModelProperty(value = "是否可以留言") | ||
| 44 | - private String needOpenComment; | ||
| 45 | - | ||
| 46 | - @ApiModelProperty(value = "是否仅粉丝可以留言") | ||
| 47 | - private String onlyFansCanComment; | ||
| 48 | - | ||
| 49 | - @ApiModelProperty(value = "图文ID") | ||
| 50 | - private String newsId; | ||
| 51 | - | ||
| 52 | - @ApiModelProperty(value = "微信账号ID") | ||
| 53 | - private String wxAccountId; | ||
| 54 | - | ||
| 55 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 56 | - @ApiModelProperty(value = "开始创建时间") | ||
| 57 | - private Date beginCreateTime; | ||
| 58 | - | ||
| 59 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 60 | - @ApiModelProperty(value = "结束创建时间") | ||
| 61 | - private Date endCreateTime; | ||
| 62 | - | ||
| 63 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemPageReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | - | ||
| 5 | -import java.util.*; | ||
| 6 | - | ||
| 7 | -import io.swagger.annotations.*; | ||
| 8 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | -import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | - | ||
| 11 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | - | ||
| 13 | -@ApiModel("管理后台 - 图文消息文章列表表 分页 Request VO") | ||
| 14 | -@Data | ||
| 15 | -@EqualsAndHashCode(callSuper = true) | ||
| 16 | -@ToString(callSuper = true) | ||
| 17 | -public class WxNewsArticleItemPageReqVO extends PageParam { | ||
| 18 | - | ||
| 19 | - @ApiModelProperty(value = "标题") | ||
| 20 | - private String title; | ||
| 21 | - | ||
| 22 | - @ApiModelProperty(value = "摘要") | ||
| 23 | - private String digest; | ||
| 24 | - | ||
| 25 | - @ApiModelProperty(value = "作者") | ||
| 26 | - private String author; | ||
| 27 | - | ||
| 28 | - @ApiModelProperty(value = "是否展示封面图片(0/1)") | ||
| 29 | - private String showCoverPic; | ||
| 30 | - | ||
| 31 | - @ApiModelProperty(value = "上传微信,封面图片标识") | ||
| 32 | - private String thumbMediaId; | ||
| 33 | - | ||
| 34 | - @ApiModelProperty(value = "内容") | ||
| 35 | - private String content; | ||
| 36 | - | ||
| 37 | - @ApiModelProperty(value = "内容链接") | ||
| 38 | - private String contentSourceUrl; | ||
| 39 | - | ||
| 40 | - @ApiModelProperty(value = "文章排序") | ||
| 41 | - private Integer orderNo; | ||
| 42 | - | ||
| 43 | - @ApiModelProperty(value = "图片路径") | ||
| 44 | - private String picPath; | ||
| 45 | - | ||
| 46 | - @ApiModelProperty(value = "是否可以留言") | ||
| 47 | - private String needOpenComment; | ||
| 48 | - | ||
| 49 | - @ApiModelProperty(value = "是否仅粉丝可以留言") | ||
| 50 | - private String onlyFansCanComment; | ||
| 51 | - | ||
| 52 | - @ApiModelProperty(value = "图文ID") | ||
| 53 | - private String newsId; | ||
| 54 | - | ||
| 55 | - @ApiModelProperty(value = "微信账号ID") | ||
| 56 | - private String wxAccountId; | ||
| 57 | - | ||
| 58 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 59 | - @ApiModelProperty(value = "开始创建时间") | ||
| 60 | - private Date beginCreateTime; | ||
| 61 | - | ||
| 62 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 63 | - @ApiModelProperty(value = "结束创建时间") | ||
| 64 | - private Date endCreateTime; | ||
| 65 | - | ||
| 66 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemRespVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | - | ||
| 5 | -import java.util.*; | ||
| 6 | - | ||
| 7 | -import io.swagger.annotations.*; | ||
| 8 | - | ||
| 9 | -@ApiModel("管理后台 - 图文消息文章列表表 Response VO") | ||
| 10 | -@Data | ||
| 11 | -@EqualsAndHashCode(callSuper = true) | ||
| 12 | -@ToString(callSuper = true) | ||
| 13 | -public class WxNewsArticleItemRespVO extends WxNewsArticleItemBaseVO { | ||
| 14 | - | ||
| 15 | - @ApiModelProperty(value = "主键", required = true) | ||
| 16 | - private Integer id; | ||
| 17 | - | ||
| 18 | - @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | - private Date createTime; | ||
| 20 | - | ||
| 21 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newsarticleitem/vo/WxNewsArticleItemUpdateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | -import io.swagger.annotations.*; | ||
| 5 | - | ||
| 6 | -import javax.validation.constraints.*; | ||
| 7 | - | ||
| 8 | -@ApiModel("管理后台 - 图文消息文章列表表 更新 Request VO") | ||
| 9 | -@Data | ||
| 10 | -@EqualsAndHashCode(callSuper = true) | ||
| 11 | -@ToString(callSuper = true) | ||
| 12 | -public class WxNewsArticleItemUpdateReqVO extends WxNewsArticleItemBaseVO { | ||
| 13 | - | ||
| 14 | - @ApiModelProperty(value = "主键", required = true) | ||
| 15 | - @NotNull(message = "主键不能为空") | ||
| 16 | - private Integer id; | ||
| 17 | - | ||
| 18 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/WxNewsTemplateController.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate; | ||
| 2 | - | ||
| 3 | -import org.springframework.web.bind.annotation.*; | ||
| 4 | - | ||
| 5 | -import javax.annotation.Resource; | ||
| 6 | - | ||
| 7 | -import org.springframework.validation.annotation.Validated; | ||
| 8 | -import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | -import io.swagger.annotations.*; | ||
| 10 | - | ||
| 11 | -import javax.validation.*; | ||
| 12 | -import javax.servlet.http.*; | ||
| 13 | -import java.util.*; | ||
| 14 | -import java.io.IOException; | ||
| 15 | - | ||
| 16 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 17 | -import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 18 | - | ||
| 19 | -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 20 | - | ||
| 21 | -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 22 | - | ||
| 23 | -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 24 | - | ||
| 25 | -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; | ||
| 26 | - | ||
| 27 | -import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; | ||
| 28 | -import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; | ||
| 29 | -import cn.iocoder.yudao.module.mp.convert.newstemplate.WxNewsTemplateConvert; | ||
| 30 | -import cn.iocoder.yudao.module.mp.service.newstemplate.WxNewsTemplateService; | ||
| 31 | - | ||
| 32 | -@Api(tags = "管理后台 - 图文消息模板") | ||
| 33 | -@RestController | ||
| 34 | -@RequestMapping("/wechatMp/wx-news-template") | ||
| 35 | -@Validated | ||
| 36 | -public class WxNewsTemplateController { | ||
| 37 | - | ||
| 38 | - @Resource | ||
| 39 | - private WxNewsTemplateService wxNewsTemplateService; | ||
| 40 | - | ||
| 41 | - @PostMapping("/create") | ||
| 42 | - @ApiOperation("创建图文消息模板") | ||
| 43 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:create')") | ||
| 44 | - public CommonResult<Integer> createWxNewsTemplate(@Valid @RequestBody WxNewsTemplateCreateReqVO createReqVO) { | ||
| 45 | - return success(wxNewsTemplateService.createWxNewsTemplate(createReqVO)); | ||
| 46 | - } | ||
| 47 | - | ||
| 48 | - @PutMapping("/update") | ||
| 49 | - @ApiOperation("更新图文消息模板") | ||
| 50 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:update')") | ||
| 51 | - public CommonResult<Boolean> updateWxNewsTemplate(@Valid @RequestBody WxNewsTemplateUpdateReqVO updateReqVO) { | ||
| 52 | - wxNewsTemplateService.updateWxNewsTemplate(updateReqVO); | ||
| 53 | - return success(true); | ||
| 54 | - } | ||
| 55 | - | ||
| 56 | - @DeleteMapping("/delete") | ||
| 57 | - @ApiOperation("删除图文消息模板") | ||
| 58 | - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||
| 59 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:delete')") | ||
| 60 | - public CommonResult<Boolean> deleteWxNewsTemplate(@RequestParam("id") Integer id) { | ||
| 61 | - wxNewsTemplateService.deleteWxNewsTemplate(id); | ||
| 62 | - return success(true); | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | - @GetMapping("/get") | ||
| 66 | - @ApiOperation("获得图文消息模板") | ||
| 67 | - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||
| 68 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") | ||
| 69 | - public CommonResult<WxNewsTemplateRespVO> getWxNewsTemplate(@RequestParam("id") Integer id) { | ||
| 70 | - WxNewsTemplateDO wxNewsTemplate = wxNewsTemplateService.getWxNewsTemplate(id); | ||
| 71 | - return success(WxNewsTemplateConvert.INSTANCE.convert(wxNewsTemplate)); | ||
| 72 | - } | ||
| 73 | - | ||
| 74 | - @GetMapping("/list") | ||
| 75 | - @ApiOperation("获得图文消息模板列表") | ||
| 76 | - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||
| 77 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") | ||
| 78 | - public CommonResult<List<WxNewsTemplateRespVO>> getWxNewsTemplateList(@RequestParam("ids") Collection<Integer> ids) { | ||
| 79 | - List<WxNewsTemplateDO> list = wxNewsTemplateService.getWxNewsTemplateList(ids); | ||
| 80 | - return success(WxNewsTemplateConvert.INSTANCE.convertList(list)); | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | - @GetMapping("/page") | ||
| 84 | - @ApiOperation("获得图文消息模板分页") | ||
| 85 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:query')") | ||
| 86 | - public CommonResult<PageResult<WxNewsTemplateRespVO>> getWxNewsTemplatePage(@Valid WxNewsTemplatePageReqVO pageVO) { | ||
| 87 | - PageResult<WxNewsTemplateDO> pageResult = wxNewsTemplateService.getWxNewsTemplatePage(pageVO); | ||
| 88 | - return success(WxNewsTemplateConvert.INSTANCE.convertPage(pageResult)); | ||
| 89 | - } | ||
| 90 | - | ||
| 91 | - @GetMapping("/export-excel") | ||
| 92 | - @ApiOperation("导出图文消息模板 Excel") | ||
| 93 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-news-template:export')") | ||
| 94 | - @OperateLog(type = EXPORT) | ||
| 95 | - public void exportWxNewsTemplateExcel(@Valid WxNewsTemplateExportReqVO exportReqVO, | ||
| 96 | - HttpServletResponse response) throws IOException { | ||
| 97 | - List<WxNewsTemplateDO> list = wxNewsTemplateService.getWxNewsTemplateList(exportReqVO); | ||
| 98 | - // 导出 Excel | ||
| 99 | - List<WxNewsTemplateExcelVO> datas = WxNewsTemplateConvert.INSTANCE.convertList02(list); | ||
| 100 | - ExcelUtils.write(response, "图文消息模板.xls", "数据", WxNewsTemplateExcelVO.class, datas); | ||
| 101 | - } | ||
| 102 | - | ||
| 103 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateBaseVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | -import io.swagger.annotations.*; | ||
| 5 | - | ||
| 6 | -/** | ||
| 7 | - * 图文消息模板 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 8 | - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 9 | - */ | ||
| 10 | -@Data | ||
| 11 | -public class WxNewsTemplateBaseVO { | ||
| 12 | - | ||
| 13 | - @ApiModelProperty(value = "模板名称") | ||
| 14 | - private String tplName; | ||
| 15 | - | ||
| 16 | - @ApiModelProperty(value = "是否已上传微信") | ||
| 17 | - private String isUpload; | ||
| 18 | - | ||
| 19 | - @ApiModelProperty(value = "素材ID") | ||
| 20 | - private String mediaId; | ||
| 21 | - | ||
| 22 | - @ApiModelProperty(value = "微信账号ID") | ||
| 23 | - private String wxAccountId; | ||
| 24 | - | ||
| 25 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateCreateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | -import io.swagger.annotations.*; | ||
| 5 | - | ||
| 6 | -@ApiModel("管理后台 - 图文消息模板创建 Request VO") | ||
| 7 | -@Data | ||
| 8 | -@EqualsAndHashCode(callSuper = true) | ||
| 9 | -@ToString(callSuper = true) | ||
| 10 | -public class WxNewsTemplateCreateReqVO extends WxNewsTemplateBaseVO { | ||
| 11 | - | ||
| 12 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExcelVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | - | ||
| 5 | -import java.util.*; | ||
| 6 | - | ||
| 7 | -import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | - | ||
| 9 | -/** | ||
| 10 | - * 图文消息模板 Excel VO | ||
| 11 | - * | ||
| 12 | - * @author 芋道源码 | ||
| 13 | - */ | ||
| 14 | -@Data | ||
| 15 | -public class WxNewsTemplateExcelVO { | ||
| 16 | - | ||
| 17 | - @ExcelProperty("主键 主键ID") | ||
| 18 | - private Integer id; | ||
| 19 | - | ||
| 20 | - @ExcelProperty("模板名称") | ||
| 21 | - private String tplName; | ||
| 22 | - | ||
| 23 | - @ExcelProperty("是否已上传微信") | ||
| 24 | - private String isUpload; | ||
| 25 | - | ||
| 26 | - @ExcelProperty("素材ID") | ||
| 27 | - private String mediaId; | ||
| 28 | - | ||
| 29 | - @ExcelProperty("微信账号ID") | ||
| 30 | - private String wxAccountId; | ||
| 31 | - | ||
| 32 | - @ExcelProperty("创建时间") | ||
| 33 | - private Date createTime; | ||
| 34 | - | ||
| 35 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateExportReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | - | ||
| 5 | -import java.util.*; | ||
| 6 | - | ||
| 7 | -import io.swagger.annotations.*; | ||
| 8 | -import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | - | ||
| 10 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | - | ||
| 12 | -@ApiModel(value = "管理后台 - 图文消息模板 Excel 导出 Request VO", description = "参数和 WxNewsTemplatePageReqVO 是一致的") | ||
| 13 | -@Data | ||
| 14 | -public class WxNewsTemplateExportReqVO { | ||
| 15 | - | ||
| 16 | - @ApiModelProperty(value = "模板名称") | ||
| 17 | - private String tplName; | ||
| 18 | - | ||
| 19 | - @ApiModelProperty(value = "是否已上传微信") | ||
| 20 | - private String isUpload; | ||
| 21 | - | ||
| 22 | - @ApiModelProperty(value = "素材ID") | ||
| 23 | - private String mediaId; | ||
| 24 | - | ||
| 25 | - @ApiModelProperty(value = "微信账号ID") | ||
| 26 | - private String wxAccountId; | ||
| 27 | - | ||
| 28 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 29 | - @ApiModelProperty(value = "开始创建时间") | ||
| 30 | - private Date beginCreateTime; | ||
| 31 | - | ||
| 32 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 33 | - @ApiModelProperty(value = "结束创建时间") | ||
| 34 | - private Date endCreateTime; | ||
| 35 | - | ||
| 36 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplatePageReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | - | ||
| 5 | -import java.util.*; | ||
| 6 | - | ||
| 7 | -import io.swagger.annotations.*; | ||
| 8 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 9 | -import org.springframework.format.annotation.DateTimeFormat; | ||
| 10 | - | ||
| 11 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | - | ||
| 13 | -@ApiModel("管理后台 - 图文消息模板分页 Request VO") | ||
| 14 | -@Data | ||
| 15 | -@EqualsAndHashCode(callSuper = true) | ||
| 16 | -@ToString(callSuper = true) | ||
| 17 | -public class WxNewsTemplatePageReqVO extends PageParam { | ||
| 18 | - | ||
| 19 | - @ApiModelProperty(value = "模板名称") | ||
| 20 | - private String tplName; | ||
| 21 | - | ||
| 22 | - @ApiModelProperty(value = "是否已上传微信") | ||
| 23 | - private String isUpload; | ||
| 24 | - | ||
| 25 | - @ApiModelProperty(value = "素材ID") | ||
| 26 | - private String mediaId; | ||
| 27 | - | ||
| 28 | - @ApiModelProperty(value = "微信账号ID") | ||
| 29 | - private String wxAccountId; | ||
| 30 | - | ||
| 31 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 32 | - @ApiModelProperty(value = "开始创建时间") | ||
| 33 | - private Date beginCreateTime; | ||
| 34 | - | ||
| 35 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 36 | - @ApiModelProperty(value = "结束创建时间") | ||
| 37 | - private Date endCreateTime; | ||
| 38 | - | ||
| 39 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateRespVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | - | ||
| 5 | -import java.util.*; | ||
| 6 | - | ||
| 7 | -import io.swagger.annotations.*; | ||
| 8 | - | ||
| 9 | -@ApiModel("管理后台 - 图文消息模板 Response VO") | ||
| 10 | -@Data | ||
| 11 | -@EqualsAndHashCode(callSuper = true) | ||
| 12 | -@ToString(callSuper = true) | ||
| 13 | -public class WxNewsTemplateRespVO extends WxNewsTemplateBaseVO { | ||
| 14 | - | ||
| 15 | - @ApiModelProperty(value = "主键 主键ID", required = true) | ||
| 16 | - private Integer id; | ||
| 17 | - | ||
| 18 | - @ApiModelProperty(value = "创建时间", required = true) | ||
| 19 | - private Date createTime; | ||
| 20 | - | ||
| 21 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/newstemplate/vo/WxNewsTemplateUpdateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | -import io.swagger.annotations.*; | ||
| 5 | - | ||
| 6 | -import javax.validation.constraints.*; | ||
| 7 | - | ||
| 8 | -@ApiModel("管理后台 - 图文消息模板更新 Request VO") | ||
| 9 | -@Data | ||
| 10 | -@EqualsAndHashCode(callSuper = true) | ||
| 11 | -@ToString(callSuper = true) | ||
| 12 | -public class WxNewsTemplateUpdateReqVO extends WxNewsTemplateBaseVO { | ||
| 13 | - | ||
| 14 | - @ApiModelProperty(value = "主键 主键ID", required = true) | ||
| 15 | - @NotNull(message = "主键 主键ID不能为空") | ||
| 16 | - private Integer id; | ||
| 17 | - | ||
| 18 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/message/MpMessageConvert.java
| @@ -27,6 +27,7 @@ public interface MpMessageConvert { | @@ -27,6 +27,7 @@ public interface MpMessageConvert { | ||
| 27 | 27 | ||
| 28 | @Mappings(value = { | 28 | @Mappings(value = { |
| 29 | @Mapping(source = "msgType", target = "type"), | 29 | @Mapping(source = "msgType", target = "type"), |
| 30 | + @Mapping(target = "createTime", ignore = true), | ||
| 30 | }) | 31 | }) |
| 31 | MpMessageDO convert(WxMpXmlMessage wxMessage); | 32 | MpMessageDO convert(WxMpXmlMessage wxMessage); |
| 32 | 33 |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newsarticleitem/WxNewsArticleItemConvert.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.convert.newsarticleitem; | ||
| 2 | - | ||
| 3 | -import java.util.*; | ||
| 4 | - | ||
| 5 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 6 | - | ||
| 7 | -import org.mapstruct.Mapper; | ||
| 8 | -import org.mapstruct.factory.Mappers; | ||
| 9 | -import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; | ||
| 10 | -import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; | ||
| 11 | - | ||
| 12 | -/** | ||
| 13 | - * 图文消息文章列表表 Convert | ||
| 14 | - * | ||
| 15 | - * @author 芋道源码 | ||
| 16 | - */ | ||
| 17 | -@Mapper | ||
| 18 | -public interface WxNewsArticleItemConvert { | ||
| 19 | - | ||
| 20 | - WxNewsArticleItemConvert INSTANCE = Mappers.getMapper(WxNewsArticleItemConvert.class); | ||
| 21 | - | ||
| 22 | - WxNewsArticleItemDO convert(WxNewsArticleItemCreateReqVO bean); | ||
| 23 | - | ||
| 24 | - WxNewsArticleItemDO convert(WxNewsArticleItemUpdateReqVO bean); | ||
| 25 | - | ||
| 26 | - WxNewsArticleItemRespVO convert(WxNewsArticleItemDO bean); | ||
| 27 | - | ||
| 28 | - List<WxNewsArticleItemRespVO> convertList(List<WxNewsArticleItemDO> list); | ||
| 29 | - | ||
| 30 | - PageResult<WxNewsArticleItemRespVO> convertPage(PageResult<WxNewsArticleItemDO> page); | ||
| 31 | - | ||
| 32 | - List<WxNewsArticleItemExcelVO> convertList02(List<WxNewsArticleItemDO> list); | ||
| 33 | - | ||
| 34 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/newstemplate/WxNewsTemplateConvert.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.convert.newstemplate; | ||
| 2 | - | ||
| 3 | -import java.util.*; | ||
| 4 | - | ||
| 5 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 6 | - | ||
| 7 | -import org.mapstruct.Mapper; | ||
| 8 | -import org.mapstruct.factory.Mappers; | ||
| 9 | -import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; | ||
| 10 | -import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; | ||
| 11 | - | ||
| 12 | -/** | ||
| 13 | - * 图文消息模板 Convert | ||
| 14 | - * | ||
| 15 | - * @author 芋道源码 | ||
| 16 | - */ | ||
| 17 | -@Mapper | ||
| 18 | -public interface WxNewsTemplateConvert { | ||
| 19 | - | ||
| 20 | - WxNewsTemplateConvert INSTANCE = Mappers.getMapper(WxNewsTemplateConvert.class); | ||
| 21 | - | ||
| 22 | - WxNewsTemplateDO convert(WxNewsTemplateCreateReqVO bean); | ||
| 23 | - | ||
| 24 | - WxNewsTemplateDO convert(WxNewsTemplateUpdateReqVO bean); | ||
| 25 | - | ||
| 26 | - WxNewsTemplateRespVO convert(WxNewsTemplateDO bean); | ||
| 27 | - | ||
| 28 | - List<WxNewsTemplateRespVO> convertList(List<WxNewsTemplateDO> list); | ||
| 29 | - | ||
| 30 | - PageResult<WxNewsTemplateRespVO> convertPage(PageResult<WxNewsTemplateDO> page); | ||
| 31 | - | ||
| 32 | - List<WxNewsTemplateExcelVO> convertList02(List<WxNewsTemplateDO> list); | ||
| 33 | - | ||
| 34 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/message/MpAutoReplyDO.java
| 1 | package cn.iocoder.yudao.module.mp.dal.dataobject.message; | 1 | package cn.iocoder.yudao.module.mp.dal.dataobject.message; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.util.collection.SetUtils; | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; | 5 | import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; |
| 5 | import cn.iocoder.yudao.module.mp.enums.message.MpAutoReplyMatchEnum; | 6 | import cn.iocoder.yudao.module.mp.enums.message.MpAutoReplyMatchEnum; |
| @@ -13,6 +14,8 @@ import lombok.ToString; | @@ -13,6 +14,8 @@ import lombok.ToString; | ||
| 13 | import me.chanjar.weixin.common.api.WxConsts; | 14 | import me.chanjar.weixin.common.api.WxConsts; |
| 14 | import me.chanjar.weixin.common.api.WxConsts.XmlMsgType; | 15 | import me.chanjar.weixin.common.api.WxConsts.XmlMsgType; |
| 15 | 16 | ||
| 17 | +import java.util.Set; | ||
| 18 | + | ||
| 16 | /** | 19 | /** |
| 17 | * 微信消息自动回复 DO | 20 | * 微信消息自动回复 DO |
| 18 | * | 21 | * |
| @@ -25,6 +28,10 @@ import me.chanjar.weixin.common.api.WxConsts.XmlMsgType; | @@ -25,6 +28,10 @@ import me.chanjar.weixin.common.api.WxConsts.XmlMsgType; | ||
| 25 | @ToString(callSuper = true) | 28 | @ToString(callSuper = true) |
| 26 | public class MpAutoReplyDO extends BaseDO { | 29 | public class MpAutoReplyDO extends BaseDO { |
| 27 | 30 | ||
| 31 | + public static Set<String> REQUEST_MESSAGE_TYPE = SetUtils.asSet(WxConsts.XmlMsgType.TEXT, WxConsts.XmlMsgType.IMAGE, | ||
| 32 | + WxConsts.XmlMsgType.VOICE, WxConsts.XmlMsgType.VIDEO, WxConsts.XmlMsgType.SHORTVIDEO, | ||
| 33 | + WxConsts.XmlMsgType.LOCATION, WxConsts.XmlMsgType.LINK); | ||
| 34 | + | ||
| 28 | /** | 35 | /** |
| 29 | * 主键 | 36 | * 主键 |
| 30 | */ | 37 | */ |
| @@ -72,7 +79,7 @@ public class MpAutoReplyDO extends BaseDO { | @@ -72,7 +79,7 @@ public class MpAutoReplyDO extends BaseDO { | ||
| 72 | * | 79 | * |
| 73 | * 当 {@link #type} 为 {@link MpAutoReplyTypeEnum#MESSAGE} | 80 | * 当 {@link #type} 为 {@link MpAutoReplyTypeEnum#MESSAGE} |
| 74 | * | 81 | * |
| 75 | - * 枚举 {@link XmlMsgType} 中的 TEXT、IMAGE、VOICE、VIDEO、SHORTVIDEO、LOCATION、LINK | 82 | + * 枚举 {@link XmlMsgType} 中的 {@link #REQUEST_MESSAGE_TYPE} |
| 76 | */ | 83 | */ |
| 77 | private String requestMessageType; | 84 | private String requestMessageType; |
| 78 | 85 |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newsarticleitem/WxNewsArticleItemDO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | - | ||
| 5 | -import java.util.*; | ||
| 6 | - | ||
| 7 | -import com.baomidou.mybatisplus.annotation.*; | ||
| 8 | -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | ||
| 9 | - | ||
| 10 | -/** | ||
| 11 | - * 图文消息文章列表表 DO | ||
| 12 | - * | ||
| 13 | - * @author 芋道源码 | ||
| 14 | - */ | ||
| 15 | -@TableName("wx_news_article_item") | ||
| 16 | -@KeySequence("wx_news_article_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 17 | -@Data | ||
| 18 | -@EqualsAndHashCode(callSuper = true) | ||
| 19 | -@ToString(callSuper = true) | ||
| 20 | -@Builder | ||
| 21 | -@NoArgsConstructor | ||
| 22 | -@AllArgsConstructor | ||
| 23 | -public class WxNewsArticleItemDO extends BaseDO { | ||
| 24 | - | ||
| 25 | - /** | ||
| 26 | - * 主键 | ||
| 27 | - */ | ||
| 28 | - @TableId | ||
| 29 | - private Integer id; | ||
| 30 | - /** | ||
| 31 | - * 标题 | ||
| 32 | - */ | ||
| 33 | - private String title; | ||
| 34 | - /** | ||
| 35 | - * 摘要 | ||
| 36 | - */ | ||
| 37 | - private String digest; | ||
| 38 | - /** | ||
| 39 | - * 作者 | ||
| 40 | - */ | ||
| 41 | - private String author; | ||
| 42 | - /** | ||
| 43 | - * 是否展示封面图片(0/1) | ||
| 44 | - */ | ||
| 45 | - private String showCoverPic; | ||
| 46 | - /** | ||
| 47 | - * 上传微信,封面图片标识 | ||
| 48 | - */ | ||
| 49 | - private String thumbMediaId; | ||
| 50 | - /** | ||
| 51 | - * 内容 | ||
| 52 | - */ | ||
| 53 | - private String content; | ||
| 54 | - /** | ||
| 55 | - * 内容链接 | ||
| 56 | - */ | ||
| 57 | - private String contentSourceUrl; | ||
| 58 | - /** | ||
| 59 | - * 文章排序 | ||
| 60 | - */ | ||
| 61 | - private Integer orderNo; | ||
| 62 | - /** | ||
| 63 | - * 图片路径 | ||
| 64 | - */ | ||
| 65 | - private String picPath; | ||
| 66 | - /** | ||
| 67 | - * 是否可以留言 | ||
| 68 | - */ | ||
| 69 | - private String needOpenComment; | ||
| 70 | - /** | ||
| 71 | - * 是否仅粉丝可以留言 | ||
| 72 | - */ | ||
| 73 | - private String onlyFansCanComment; | ||
| 74 | - /** | ||
| 75 | - * 图文ID | ||
| 76 | - */ | ||
| 77 | - private String newsId; | ||
| 78 | - /** | ||
| 79 | - * 微信账号ID | ||
| 80 | - */ | ||
| 81 | - private String wxAccountId; | ||
| 82 | - | ||
| 83 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/newstemplate/WxNewsTemplateDO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate; | ||
| 2 | - | ||
| 3 | -import lombok.*; | ||
| 4 | - | ||
| 5 | -import java.util.*; | ||
| 6 | - | ||
| 7 | -import com.baomidou.mybatisplus.annotation.*; | ||
| 8 | -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | ||
| 9 | - | ||
| 10 | -/** | ||
| 11 | - * 图文消息模板 DO | ||
| 12 | - * | ||
| 13 | - * @author 芋道源码 | ||
| 14 | - */ | ||
| 15 | -@TableName("wx_news_template") | ||
| 16 | -@KeySequence("wx_news_template_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 17 | -@Data | ||
| 18 | -@EqualsAndHashCode(callSuper = true) | ||
| 19 | -@ToString(callSuper = true) | ||
| 20 | -@Builder | ||
| 21 | -@NoArgsConstructor | ||
| 22 | -@AllArgsConstructor | ||
| 23 | -public class WxNewsTemplateDO extends BaseDO { | ||
| 24 | - | ||
| 25 | - /** | ||
| 26 | - * 主键 主键ID | ||
| 27 | - */ | ||
| 28 | - @TableId | ||
| 29 | - private Integer id; | ||
| 30 | - /** | ||
| 31 | - * 模板名称 | ||
| 32 | - */ | ||
| 33 | - private String tplName; | ||
| 34 | - /** | ||
| 35 | - * 是否已上传微信 | ||
| 36 | - */ | ||
| 37 | - private String isUpload; | ||
| 38 | - /** | ||
| 39 | - * 素材ID | ||
| 40 | - */ | ||
| 41 | - private String mediaId; | ||
| 42 | - /** | ||
| 43 | - * 微信账号ID | ||
| 44 | - */ | ||
| 45 | - private String wxAccountId; | ||
| 46 | - | ||
| 47 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/message/MpAutoReplyMapper.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.dal.mysql.message; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | ||
| 4 | +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 5 | +import cn.iocoder.yudao.module.mp.dal.dataobject.message.MpAutoReplyDO; | ||
| 6 | +import cn.iocoder.yudao.module.mp.enums.message.MpAutoReplyMatchEnum; | ||
| 7 | +import cn.iocoder.yudao.module.mp.enums.message.MpAutoReplyTypeEnum; | ||
| 8 | + | ||
| 9 | +import java.util.List; | ||
| 10 | + | ||
| 11 | +public interface MpAutoReplyMapper extends BaseMapperX<MpAutoReplyDO> { | ||
| 12 | + | ||
| 13 | + default List<MpAutoReplyDO> selectListByAppIdAndKeywordAll(String appId, String requestKeyword) { | ||
| 14 | + return selectList(new LambdaQueryWrapperX<MpAutoReplyDO>() | ||
| 15 | + .eq(MpAutoReplyDO::getAppId, appId) | ||
| 16 | + .eq(MpAutoReplyDO::getType, MpAutoReplyTypeEnum.KEYWORD.getType()) | ||
| 17 | + .eq(MpAutoReplyDO::getRequestMatch, MpAutoReplyMatchEnum.ALL.getMatch()) | ||
| 18 | + .eq(MpAutoReplyDO::getRequestKeyword, requestKeyword)); | ||
| 19 | + } | ||
| 20 | + | ||
| 21 | + default List<MpAutoReplyDO> selectListByAppIdAndKeywordLike(String appId, String requestKeyword) { | ||
| 22 | + return selectList(new LambdaQueryWrapperX<MpAutoReplyDO>() | ||
| 23 | + .eq(MpAutoReplyDO::getAppId, appId) | ||
| 24 | + .eq(MpAutoReplyDO::getType, MpAutoReplyTypeEnum.KEYWORD.getType()) | ||
| 25 | + .eq(MpAutoReplyDO::getRequestMatch, MpAutoReplyMatchEnum.LIKE.getMatch()) | ||
| 26 | + .like(MpAutoReplyDO::getRequestKeyword, requestKeyword)); | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + default List<MpAutoReplyDO> selectListByAppIdAndMessage(String appId, String requestMessageType) { | ||
| 30 | + return selectList(new LambdaQueryWrapperX<MpAutoReplyDO>() | ||
| 31 | + .eq(MpAutoReplyDO::getAppId, appId) | ||
| 32 | + .eq(MpAutoReplyDO::getType, MpAutoReplyTypeEnum.MESSAGE.getType()) | ||
| 33 | + .eq(MpAutoReplyDO::getRequestMessageType, requestMessageType)); | ||
| 34 | + } | ||
| 35 | +} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newsarticleitem/WxNewsArticleItemMapper.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.dal.mysql.newsarticleitem; | ||
| 2 | - | ||
| 3 | -import java.util.*; | ||
| 4 | - | ||
| 5 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 6 | -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 7 | -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | ||
| 8 | -import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; | ||
| 9 | -import org.apache.ibatis.annotations.Mapper; | ||
| 10 | -import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; | ||
| 11 | - | ||
| 12 | -/** | ||
| 13 | - * 图文消息文章列表表 Mapper | ||
| 14 | - * | ||
| 15 | - * @author 芋道源码 | ||
| 16 | - */ | ||
| 17 | -@Mapper | ||
| 18 | -public interface WxNewsArticleItemMapper extends BaseMapperX<WxNewsArticleItemDO> { | ||
| 19 | - | ||
| 20 | - default PageResult<WxNewsArticleItemDO> selectPage(WxNewsArticleItemPageReqVO reqVO) { | ||
| 21 | - return selectPage(reqVO, new LambdaQueryWrapperX<WxNewsArticleItemDO>() | ||
| 22 | - .eqIfPresent(WxNewsArticleItemDO::getTitle, reqVO.getTitle()) | ||
| 23 | - .eqIfPresent(WxNewsArticleItemDO::getDigest, reqVO.getDigest()) | ||
| 24 | - .eqIfPresent(WxNewsArticleItemDO::getAuthor, reqVO.getAuthor()) | ||
| 25 | - .eqIfPresent(WxNewsArticleItemDO::getShowCoverPic, reqVO.getShowCoverPic()) | ||
| 26 | - .eqIfPresent(WxNewsArticleItemDO::getThumbMediaId, reqVO.getThumbMediaId()) | ||
| 27 | - .eqIfPresent(WxNewsArticleItemDO::getContent, reqVO.getContent()) | ||
| 28 | - .eqIfPresent(WxNewsArticleItemDO::getContentSourceUrl, reqVO.getContentSourceUrl()) | ||
| 29 | - .eqIfPresent(WxNewsArticleItemDO::getOrderNo, reqVO.getOrderNo()) | ||
| 30 | - .eqIfPresent(WxNewsArticleItemDO::getPicPath, reqVO.getPicPath()) | ||
| 31 | - .eqIfPresent(WxNewsArticleItemDO::getNeedOpenComment, reqVO.getNeedOpenComment()) | ||
| 32 | - .eqIfPresent(WxNewsArticleItemDO::getOnlyFansCanComment, reqVO.getOnlyFansCanComment()) | ||
| 33 | - .eqIfPresent(WxNewsArticleItemDO::getNewsId, reqVO.getNewsId()) | ||
| 34 | - .eqIfPresent(WxNewsArticleItemDO::getWxAccountId, reqVO.getWxAccountId()) | ||
| 35 | - .betweenIfPresent(WxNewsArticleItemDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) | ||
| 36 | - .orderByDesc(WxNewsArticleItemDO::getId)); | ||
| 37 | - } | ||
| 38 | - | ||
| 39 | - default List<WxNewsArticleItemDO> selectList(WxNewsArticleItemExportReqVO reqVO) { | ||
| 40 | - return selectList(new LambdaQueryWrapperX<WxNewsArticleItemDO>() | ||
| 41 | - .eqIfPresent(WxNewsArticleItemDO::getTitle, reqVO.getTitle()) | ||
| 42 | - .eqIfPresent(WxNewsArticleItemDO::getDigest, reqVO.getDigest()) | ||
| 43 | - .eqIfPresent(WxNewsArticleItemDO::getAuthor, reqVO.getAuthor()) | ||
| 44 | - .eqIfPresent(WxNewsArticleItemDO::getShowCoverPic, reqVO.getShowCoverPic()) | ||
| 45 | - .eqIfPresent(WxNewsArticleItemDO::getThumbMediaId, reqVO.getThumbMediaId()) | ||
| 46 | - .eqIfPresent(WxNewsArticleItemDO::getContent, reqVO.getContent()) | ||
| 47 | - .eqIfPresent(WxNewsArticleItemDO::getContentSourceUrl, reqVO.getContentSourceUrl()) | ||
| 48 | - .eqIfPresent(WxNewsArticleItemDO::getOrderNo, reqVO.getOrderNo()) | ||
| 49 | - .eqIfPresent(WxNewsArticleItemDO::getPicPath, reqVO.getPicPath()) | ||
| 50 | - .eqIfPresent(WxNewsArticleItemDO::getNeedOpenComment, reqVO.getNeedOpenComment()) | ||
| 51 | - .eqIfPresent(WxNewsArticleItemDO::getOnlyFansCanComment, reqVO.getOnlyFansCanComment()) | ||
| 52 | - .eqIfPresent(WxNewsArticleItemDO::getNewsId, reqVO.getNewsId()) | ||
| 53 | - .eqIfPresent(WxNewsArticleItemDO::getWxAccountId, reqVO.getWxAccountId()) | ||
| 54 | - .betweenIfPresent(WxNewsArticleItemDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) | ||
| 55 | - .orderByDesc(WxNewsArticleItemDO::getId)); | ||
| 56 | - } | ||
| 57 | - | ||
| 58 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/newstemplate/WxNewsTemplateMapper.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.dal.mysql.newstemplate; | ||
| 2 | - | ||
| 3 | -import java.util.*; | ||
| 4 | - | ||
| 5 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 6 | -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 7 | -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | ||
| 8 | -import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; | ||
| 9 | -import org.apache.ibatis.annotations.Mapper; | ||
| 10 | -import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; | ||
| 11 | - | ||
| 12 | -/** | ||
| 13 | - * 图文消息模板 Mapper | ||
| 14 | - * | ||
| 15 | - * @author 芋道源码 | ||
| 16 | - */ | ||
| 17 | -@Mapper | ||
| 18 | -public interface WxNewsTemplateMapper extends BaseMapperX<WxNewsTemplateDO> { | ||
| 19 | - | ||
| 20 | - default PageResult<WxNewsTemplateDO> selectPage(WxNewsTemplatePageReqVO reqVO) { | ||
| 21 | - return selectPage(reqVO, new LambdaQueryWrapperX<WxNewsTemplateDO>() | ||
| 22 | - .likeIfPresent(WxNewsTemplateDO::getTplName, reqVO.getTplName()) | ||
| 23 | - .eqIfPresent(WxNewsTemplateDO::getIsUpload, reqVO.getIsUpload()) | ||
| 24 | - .eqIfPresent(WxNewsTemplateDO::getMediaId, reqVO.getMediaId()) | ||
| 25 | - .eqIfPresent(WxNewsTemplateDO::getWxAccountId, reqVO.getWxAccountId()) | ||
| 26 | - .betweenIfPresent(WxNewsTemplateDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) | ||
| 27 | - .orderByDesc(WxNewsTemplateDO::getId)); | ||
| 28 | - } | ||
| 29 | - | ||
| 30 | - default List<WxNewsTemplateDO> selectList(WxNewsTemplateExportReqVO reqVO) { | ||
| 31 | - return selectList(new LambdaQueryWrapperX<WxNewsTemplateDO>() | ||
| 32 | - .likeIfPresent(WxNewsTemplateDO::getTplName, reqVO.getTplName()) | ||
| 33 | - .eqIfPresent(WxNewsTemplateDO::getIsUpload, reqVO.getIsUpload()) | ||
| 34 | - .eqIfPresent(WxNewsTemplateDO::getMediaId, reqVO.getMediaId()) | ||
| 35 | - .eqIfPresent(WxNewsTemplateDO::getWxAccountId, reqVO.getWxAccountId()) | ||
| 36 | - .betweenIfPresent(WxNewsTemplateDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) | ||
| 37 | - .orderByDesc(WxNewsTemplateDO::getId)); | ||
| 38 | - } | ||
| 39 | - | ||
| 40 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/message/MessageAutoReplyHandler.java
| 1 | package cn.iocoder.yudao.module.mp.service.handler.message; | 1 | package cn.iocoder.yudao.module.mp.service.handler.message; |
| 2 | 2 | ||
| 3 | -import cn.hutool.core.io.FileUtil; | ||
| 4 | -import cn.hutool.http.HtmlUtil; | ||
| 5 | -import cn.hutool.http.HttpUtil; | ||
| 6 | -import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | ||
| 7 | -import cn.iocoder.yudao.module.infra.api.file.FileApi; | ||
| 8 | -import cn.iocoder.yudao.module.mp.builder.TextBuilder; | ||
| 9 | -import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; | ||
| 10 | -import cn.iocoder.yudao.module.mp.service.account.MpAccountService; | ||
| 11 | -import cn.iocoder.yudao.module.mp.service.message.MpMessageService; | 3 | +import cn.iocoder.yudao.module.mp.dal.dataobject.message.MpAutoReplyDO; |
| 4 | +import cn.iocoder.yudao.module.mp.framework.mp.core.context.MpContextHolder; | ||
| 5 | +import cn.iocoder.yudao.module.mp.service.message.MpAutoReplyService; | ||
| 12 | import lombok.extern.slf4j.Slf4j; | 6 | import lombok.extern.slf4j.Slf4j; |
| 13 | -import me.chanjar.weixin.common.api.WxConsts; | ||
| 14 | -import me.chanjar.weixin.common.error.WxErrorException; | ||
| 15 | import me.chanjar.weixin.common.session.WxSessionManager; | 7 | import me.chanjar.weixin.common.session.WxSessionManager; |
| 16 | import me.chanjar.weixin.mp.api.WxMpMessageHandler; | 8 | import me.chanjar.weixin.mp.api.WxMpMessageHandler; |
| 17 | import me.chanjar.weixin.mp.api.WxMpService; | 9 | import me.chanjar.weixin.mp.api.WxMpService; |
| 18 | import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; | 10 | import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; |
| 19 | import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; | 11 | import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; |
| 20 | -import me.chanjar.weixin.mp.bean.result.WxMpUser; | ||
| 21 | -import org.apache.commons.lang3.StringUtils; | ||
| 22 | -import org.springframework.context.annotation.Lazy; | ||
| 23 | import org.springframework.stereotype.Component; | 12 | import org.springframework.stereotype.Component; |
| 24 | 13 | ||
| 25 | import javax.annotation.Resource; | 14 | import javax.annotation.Resource; |
| 26 | -import java.io.File; | ||
| 27 | -import java.io.UnsupportedEncodingException; | ||
| 28 | import java.util.Map; | 15 | import java.util.Map; |
| 29 | 16 | ||
| 30 | /** | 17 | /** |
| @@ -37,145 +24,18 @@ import java.util.Map; | @@ -37,145 +24,18 @@ import java.util.Map; | ||
| 37 | public class MessageAutoReplyHandler implements WxMpMessageHandler { | 24 | public class MessageAutoReplyHandler implements WxMpMessageHandler { |
| 38 | 25 | ||
| 39 | @Resource | 26 | @Resource |
| 40 | - @Lazy // 延迟加载,解决循环依赖的问题 | ||
| 41 | - private MpAccountService mpAccountService; | ||
| 42 | - | ||
| 43 | - @Resource | ||
| 44 | - private MpMessageService mpMessageService; | ||
| 45 | - | ||
| 46 | - @Resource | ||
| 47 | - private FileApi fileApi; | ||
| 48 | - | ||
| 49 | - // auto reply | ||
| 50 | - // createMessage | ||
| 51 | - // outmessage | 27 | + private MpAutoReplyService mpAutoReplyService; |
| 52 | 28 | ||
| 53 | @Override | 29 | @Override |
| 54 | public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, | 30 | public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, |
| 55 | WxMpService weixinService, WxSessionManager sessionManager) { | 31 | WxMpService weixinService, WxSessionManager sessionManager) { |
| 56 | - log.info("收到信息内容:{}", JsonUtils.toJsonString(wxMessage)); | ||
| 57 | - log.info("关键字:{}", wxMessage.getContent()); | ||
| 58 | - | ||
| 59 | -// if (!wxMessage.getMsgType().equals(WxConsts.XmlMsgType.EVENT)) { | ||
| 60 | -// //可以选择将消息保存到本地 | ||
| 61 | -// | ||
| 62 | -// // 获取微信用户基本信息 | ||
| 63 | -// try { | ||
| 64 | -// WxMpUser wxmpUser = weixinService.getUserService() | ||
| 65 | -// .userInfo(wxMessage.getFromUser(), null); | ||
| 66 | -// if (wxmpUser != null) { | ||
| 67 | -// MpAccountDO wxAccount = mpAccountService.findBy(MpAccountDO::getAccount, wxMessage.getToUser()); | ||
| 68 | -// if (wxAccount != null) { | ||
| 69 | -// | ||
| 70 | -// if (wxMessage.getMsgType().equals(WxConsts.XmlMsgType.TEXT)) { | ||
| 71 | -// WxFansMsgCreateReqVO wxFansMsg = new WxFansMsgCreateReqVO(); | ||
| 72 | -// wxFansMsg.setOpenid(wxmpUser.getOpenId()); | ||
| 73 | -// try { | ||
| 74 | -// wxFansMsg.setNickname(wxmpUser.getNickname().getBytes("UTF-8")); | ||
| 75 | -// } catch (UnsupportedEncodingException e) { | ||
| 76 | -// e.printStackTrace(); | ||
| 77 | -// } | ||
| 78 | -// wxFansMsg.setHeadimgUrl(wxmpUser.getHeadImgUrl()); | ||
| 79 | -// wxFansMsg.setWxAccountId(String.valueOf(wxAccount.getId())); | ||
| 80 | -// wxFansMsg.setMsgType(wxMessage.getMsgType()); | ||
| 81 | -// wxFansMsg.setContent(wxMessage.getContent()); | ||
| 82 | -// wxFansMsg.setIsRes("1"); | ||
| 83 | -// | ||
| 84 | -// //组装回复消息 | ||
| 85 | -// String content = processContent(wxMessage); | ||
| 86 | -// content = HtmlUtil.escape(content); | ||
| 87 | -// wxFansMsg.setResContent(content); | ||
| 88 | -// | ||
| 89 | -// mpMessageService.createWxFansMsg(wxFansMsg); | ||
| 90 | -// return new TextBuilder().build(content, wxMessage, weixinService); | ||
| 91 | -// | ||
| 92 | -// } | ||
| 93 | -// if (wxMessage.getMsgType().equals(WxConsts.XmlMsgType.IMAGE)) { | ||
| 94 | -// WxFansMsgCreateReqVO wxFansMsg = new WxFansMsgCreateReqVO(); | ||
| 95 | -// wxFansMsg.setOpenid(wxmpUser.getOpenId()); | ||
| 96 | -// try { | ||
| 97 | -// wxFansMsg.setNickname(wxmpUser.getNickname().getBytes("UTF-8")); | ||
| 98 | -// } catch (UnsupportedEncodingException e) { | ||
| 99 | -// e.printStackTrace(); | ||
| 100 | -// } | ||
| 101 | -// wxFansMsg.setHeadimgUrl(wxmpUser.getHeadImgUrl()); | ||
| 102 | -// wxFansMsg.setWxAccountId(String.valueOf(wxAccount.getId())); | ||
| 103 | -// wxFansMsg.setMsgType(wxMessage.getMsgType()); | ||
| 104 | -// wxFansMsg.setMediaId(wxMessage.getMediaId()); | ||
| 105 | -// wxFansMsg.setPicUrl(wxMessage.getPicUrl()); | ||
| 106 | -// String downloadDirStr = fileApi.createFile(HttpUtil.downloadBytes(wxMessage.getPicUrl())); | ||
| 107 | -// File downloadDir = new File(downloadDirStr); | ||
| 108 | -// if (!downloadDir.exists()) { | ||
| 109 | -// downloadDir.mkdirs(); | ||
| 110 | -// } | ||
| 111 | -// String filepath = downloadDirStr + System.currentTimeMillis() + ".png"; | ||
| 112 | -// //微信pic url下载到本地,防止失效 | ||
| 113 | -// long size = HttpUtil.downloadFile(wxMessage.getPicUrl(), FileUtil.file(filepath)); | ||
| 114 | -// log.info("download pic size : {}", size); | ||
| 115 | -// wxFansMsg.setPicPath(filepath); | ||
| 116 | -// wxFansMsg.setIsRes("0"); | ||
| 117 | -// mpMessageService.createWxFansMsg(wxFansMsg); | ||
| 118 | -// } | ||
| 119 | -// | ||
| 120 | -// } | ||
| 121 | -// } | ||
| 122 | -// } catch (WxErrorException e) { | ||
| 123 | -// if (e.getError().getErrorCode() == 48001) { | ||
| 124 | -// log.info("该公众号没有获取用户信息权限!"); | ||
| 125 | -// } | ||
| 126 | -// } catch (Exception e) { | ||
| 127 | -// e.printStackTrace(); | ||
| 128 | -// } | ||
| 129 | -// | ||
| 130 | -// } | ||
| 131 | -// | ||
| 132 | -// //当用户输入关键词如“你好”,“客服”等,并且有客服在线时,把消息转发给在线客服 | ||
| 133 | -// try { | ||
| 134 | -// if (StringUtils.startsWithAny(wxMessage.getContent(), "你好", "客服") | ||
| 135 | -// && weixinService.getKefuService().kfOnlineList() | ||
| 136 | -// .getKfOnlineList().size() > 0) { | ||
| 137 | -// return WxMpXmlOutMessage.TRANSFER_CUSTOMER_SERVICE() | ||
| 138 | -// .fromUser(wxMessage.getToUser()) | ||
| 139 | -// .toUser(wxMessage.getFromUser()).build(); | ||
| 140 | -// } | ||
| 141 | -// } catch (WxErrorException e) { | ||
| 142 | -// e.printStackTrace(); | ||
| 143 | -// } | ||
| 144 | - | ||
| 145 | - //组装默认回复消息 | ||
| 146 | - return new TextBuilder().build("测试", wxMessage, weixinService); | ||
| 147 | - } | ||
| 148 | - | ||
| 149 | - | ||
| 150 | - //处理回复信息,优先级,关键字、智能机器人、默认值 | ||
| 151 | - String processContent(WxMpXmlMessage wxMessage) { | ||
| 152 | - String content = "你猜"; | ||
| 153 | - /* content = processReceiveTextContent(wxMessage); | ||
| 154 | - if(StringUtils.isNotBlank( content )){ | ||
| 155 | - return content; | 32 | + // 只处理指定类型的消息 |
| 33 | + if (!MpAutoReplyDO.REQUEST_MESSAGE_TYPE.contains(wxMessage.getMsgType())) { | ||
| 34 | + return null; | ||
| 156 | } | 35 | } |
| 157 | 36 | ||
| 158 | - content = defaultResponseContent;*/ | ||
| 159 | - return content; | 37 | + // 自动回复 |
| 38 | + return mpAutoReplyService.replyForMessage(MpContextHolder.getAppId(), wxMessage); | ||
| 160 | } | 39 | } |
| 161 | 40 | ||
| 162 | - //处理关键字 | ||
| 163 | - String processReceiveTextContent(WxMpXmlMessage wxMessage) { | ||
| 164 | - String content = ""; | ||
| 165 | - /* WxAccountDO wxAccount = wxAccountService.findBy( WxAccountDO::getAccount,wxMessage.getToUser()); | ||
| 166 | - if(wxAccount != null){ | ||
| 167 | - WxReceiveText wxReceiveTextTpl = new WxReceiveText(); | ||
| 168 | - wxReceiveTextTpl.setWxAccountId( String.valueOf( wxAccount.getId() ) ); | ||
| 169 | - wxReceiveTextTpl.setReceiveText( wxMessage.getContent() ); | ||
| 170 | - List<WxReceiveText> wxReceiveTextList = wxReceiveTextService.findListByReceiveTest( wxReceiveTextTpl ); | ||
| 171 | - if(wxReceiveTextList != null && wxReceiveTextList.size() > 0){ | ||
| 172 | - WxReceiveText wxReceiveText = wxReceiveTextList.get( 0 ); | ||
| 173 | - WxTextTemplate wxTextTemplate = wxTextTemplateService.findById( Integer.parseInt( wxReceiveText.getTplId() ) ); | ||
| 174 | - content = wxTextTemplate.getContent(); | ||
| 175 | - } | ||
| 176 | - }*/ | ||
| 177 | - return content; | ||
| 178 | - } | ||
| 179 | - | ||
| 180 | - | ||
| 181 | } | 41 | } |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/user/LocationHandler.java
| 1 | package cn.iocoder.yudao.module.mp.service.handler.user; | 1 | package cn.iocoder.yudao.module.mp.service.handler.user; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.module.mp.builder.TextBuilder; | ||
| 4 | import lombok.extern.slf4j.Slf4j; | 3 | import lombok.extern.slf4j.Slf4j; |
| 5 | import me.chanjar.weixin.common.session.WxSessionManager; | 4 | import me.chanjar.weixin.common.session.WxSessionManager; |
| 6 | import me.chanjar.weixin.mp.api.WxMpMessageHandler; | 5 | import me.chanjar.weixin.mp.api.WxMpMessageHandler; |
| @@ -11,8 +10,6 @@ import org.springframework.stereotype.Component; | @@ -11,8 +10,6 @@ import org.springframework.stereotype.Component; | ||
| 11 | 10 | ||
| 12 | import java.util.Map; | 11 | import java.util.Map; |
| 13 | 12 | ||
| 14 | -import static me.chanjar.weixin.common.api.WxConsts.XmlMsgType; | ||
| 15 | - | ||
| 16 | /** | 13 | /** |
| 17 | * 上报地理位置的事件处理器 | 14 | * 上报地理位置的事件处理器 |
| 18 | * | 15 | * |
| @@ -25,20 +22,20 @@ public class LocationHandler implements WxMpMessageHandler { | @@ -25,20 +22,20 @@ public class LocationHandler implements WxMpMessageHandler { | ||
| 25 | @Override | 22 | @Override |
| 26 | public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, | 23 | public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, |
| 27 | WxMpService wxMpService, WxSessionManager sessionManager) { | 24 | WxMpService wxMpService, WxSessionManager sessionManager) { |
| 28 | - if (wxMessage.getMsgType().equals(XmlMsgType.LOCATION)) { | ||
| 29 | - //TODO 接收处理用户发送的地理位置消息 | ||
| 30 | - try { | ||
| 31 | - String content = "感谢反馈,您的的地理位置已收到!"; | ||
| 32 | - return new TextBuilder().build(content, wxMessage, null); | ||
| 33 | - } catch (Exception e) { | ||
| 34 | - log.error("位置消息接收处理失败", e); | ||
| 35 | - return null; | ||
| 36 | - } | ||
| 37 | - } | ||
| 38 | - | ||
| 39 | - //上报地理位置事件 | ||
| 40 | - log.info("上报地理位置,纬度 : {},经度 : {},精度 : {}", | ||
| 41 | - wxMessage.getLatitude(), wxMessage.getLongitude(), String.valueOf(wxMessage.getPrecision())); | 25 | +// if (wxMessage.getMsgType().equals(XmlMsgType.LOCATION)) { |
| 26 | +// //TODO 接收处理用户发送的地理位置消息 | ||
| 27 | +// try { | ||
| 28 | +// String content = "感谢反馈,您的的地理位置已收到!"; | ||
| 29 | +// return new TextBuilder().build(content, wxMessage, null); | ||
| 30 | +// } catch (Exception e) { | ||
| 31 | +// log.error("位置消息接收处理失败", e); | ||
| 32 | +// return null; | ||
| 33 | +// } | ||
| 34 | +// } | ||
| 35 | +// | ||
| 36 | +// //上报地理位置事件 | ||
| 37 | +// log.info("上报地理位置,纬度 : {},经度 : {},精度 : {}", | ||
| 38 | +// wxMessage.getLatitude(), wxMessage.getLongitude(), String.valueOf(wxMessage.getPrecision())); | ||
| 42 | 39 | ||
| 43 | //TODO 可以将用户地理位置信息保存到本地数据库,以便以后使用 | 40 | //TODO 可以将用户地理位置信息保存到本地数据库,以便以后使用 |
| 44 | 41 |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/user/SubscribeHandler.java
| 1 | package cn.iocoder.yudao.module.mp.service.handler.user; | 1 | package cn.iocoder.yudao.module.mp.service.handler.user; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.module.mp.builder.TextBuilder; | ||
| 4 | import cn.iocoder.yudao.module.mp.dal.dataobject.user.MpUserDO; | 3 | import cn.iocoder.yudao.module.mp.dal.dataobject.user.MpUserDO; |
| 5 | import cn.iocoder.yudao.module.mp.framework.mp.core.context.MpContextHolder; | 4 | import cn.iocoder.yudao.module.mp.framework.mp.core.context.MpContextHolder; |
| 6 | import cn.iocoder.yudao.module.mp.service.account.MpAccountService; | 5 | import cn.iocoder.yudao.module.mp.service.account.MpAccountService; |
| @@ -56,7 +55,8 @@ public class SubscribeHandler implements WxMpMessageHandler { | @@ -56,7 +55,8 @@ public class SubscribeHandler implements WxMpMessageHandler { | ||
| 56 | } | 55 | } |
| 57 | 56 | ||
| 58 | // 第三步,回复关注的欢迎语 TODO 芋艿:关注的欢迎语 | 57 | // 第三步,回复关注的欢迎语 TODO 芋艿:关注的欢迎语 |
| 59 | - return new TextBuilder().build("感谢关注", wxMessage, weixinService); | 58 | +// return new TextBuilder().build("感谢关注", wxMessage, weixinService); |
| 59 | + return null; | ||
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | /** | 62 | /** |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/message/MpAutoReplyService.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.service.message; | ||
| 2 | + | ||
| 3 | +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; | ||
| 4 | +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * 公众号的自动回复 Service 接口 | ||
| 8 | + * | ||
| 9 | + * @author 芋道源码 | ||
| 10 | + */ | ||
| 11 | +public interface MpAutoReplyService { | ||
| 12 | + | ||
| 13 | + /** | ||
| 14 | + * 当收到消息时,自动回复 | ||
| 15 | + * | ||
| 16 | + * @param appId 微信公众号 appId | ||
| 17 | + * @param wxMessage 消息 | ||
| 18 | + * @return 回复的消息 | ||
| 19 | + */ | ||
| 20 | + WxMpXmlOutMessage replyForMessage(String appId, WxMpXmlMessage wxMessage); | ||
| 21 | + | ||
| 22 | +} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/message/MpAutoReplyServiceImpl.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.service.message; | ||
| 2 | + | ||
| 3 | +import cn.hutool.core.collection.CollUtil; | ||
| 4 | +import cn.iocoder.yudao.module.mp.dal.dataobject.message.MpAutoReplyDO; | ||
| 5 | +import cn.iocoder.yudao.module.mp.dal.mysql.message.MpAutoReplyMapper; | ||
| 6 | +import cn.iocoder.yudao.module.mp.enums.message.MpAutoReplyMatchEnum; | ||
| 7 | +import me.chanjar.weixin.common.api.WxConsts; | ||
| 8 | +import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; | ||
| 9 | +import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; | ||
| 10 | +import org.springframework.validation.annotation.Validated; | ||
| 11 | + | ||
| 12 | +import javax.annotation.Resource; | ||
| 13 | +import java.util.List; | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * 公众号的自动回复 Service 实现类 | ||
| 17 | + * | ||
| 18 | + * @author 芋道源码 | ||
| 19 | + */ | ||
| 20 | +@Resource | ||
| 21 | +@Validated | ||
| 22 | +public class MpAutoReplyServiceImpl implements MpAutoReplyService { | ||
| 23 | + | ||
| 24 | + @Resource | ||
| 25 | + private MpAutoReplyService mpAutoReplyService; | ||
| 26 | + | ||
| 27 | + @Resource | ||
| 28 | + private MpAutoReplyMapper mpAutoReplyMapper; | ||
| 29 | + | ||
| 30 | + @Override | ||
| 31 | + public WxMpXmlOutMessage replyForMessage(String appId, WxMpXmlMessage wxMessage) { | ||
| 32 | + // 第一步,匹配自动回复 | ||
| 33 | + List<MpAutoReplyDO> replies = null; | ||
| 34 | + // 1.1 关键字 | ||
| 35 | + if (wxMessage.getMsgType().equals(WxConsts.XmlMsgType.TEXT)) { | ||
| 36 | + // 完全匹配 | ||
| 37 | + replies = mpAutoReplyMapper.selectListByAppIdAndKeywordAll(appId, wxMessage.getContent()); | ||
| 38 | + if (CollUtil.isEmpty(replies)) { | ||
| 39 | + // 模糊匹配 | ||
| 40 | + replies = mpAutoReplyMapper.selectListByAppIdAndKeywordLike(appId, wxMessage.getContent()); | ||
| 41 | + } | ||
| 42 | + } | ||
| 43 | + // 1.2 消息类型 | ||
| 44 | + if (CollUtil.isEmpty(replies)) { | ||
| 45 | + replies = mpAutoReplyMapper.selectListByAppIdAndMessage(appId, wxMessage.getMsgType()); | ||
| 46 | + } | ||
| 47 | + if (CollUtil.isEmpty(replies)) { | ||
| 48 | + return null; | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + // 第二步,基于自动回复,创建消息 | ||
| 52 | + | ||
| 53 | + | ||
| 54 | + // 第三步,将消息转换成 WxMpXmlOutMessage 返回 | ||
| 55 | + return null; | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | +} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemService.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.service.newsarticleitem; | ||
| 2 | - | ||
| 3 | -import java.util.*; | ||
| 4 | -import javax.validation.*; | ||
| 5 | - | ||
| 6 | -import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; | ||
| 7 | -import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; | ||
| 8 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 9 | - | ||
| 10 | -/** | ||
| 11 | - * 图文消息文章列表表 Service 接口 | ||
| 12 | - * | ||
| 13 | - * @author 芋道源码 | ||
| 14 | - */ | ||
| 15 | -public interface WxNewsArticleItemService { | ||
| 16 | - | ||
| 17 | - /** | ||
| 18 | - * 创建图文消息文章列表表 | ||
| 19 | - * | ||
| 20 | - * @param createReqVO 创建信息 | ||
| 21 | - * @return 编号 | ||
| 22 | - */ | ||
| 23 | - Integer createWxNewsArticleItem(@Valid WxNewsArticleItemCreateReqVO createReqVO); | ||
| 24 | - | ||
| 25 | - /** | ||
| 26 | - * 更新图文消息文章列表表 | ||
| 27 | - * | ||
| 28 | - * @param updateReqVO 更新信息 | ||
| 29 | - */ | ||
| 30 | - void updateWxNewsArticleItem(@Valid WxNewsArticleItemUpdateReqVO updateReqVO); | ||
| 31 | - | ||
| 32 | - /** | ||
| 33 | - * 删除图文消息文章列表表 | ||
| 34 | - * | ||
| 35 | - * @param id 编号 | ||
| 36 | - */ | ||
| 37 | - void deleteWxNewsArticleItem(Integer id); | ||
| 38 | - | ||
| 39 | - /** | ||
| 40 | - * 获得图文消息文章列表表 | ||
| 41 | - * | ||
| 42 | - * @param id 编号 | ||
| 43 | - * @return 图文消息文章列表表 | ||
| 44 | - */ | ||
| 45 | - WxNewsArticleItemDO getWxNewsArticleItem(Integer id); | ||
| 46 | - | ||
| 47 | - /** | ||
| 48 | - * 获得图文消息文章列表表 列表 | ||
| 49 | - * | ||
| 50 | - * @param ids 编号 | ||
| 51 | - * @return 图文消息文章列表表 列表 | ||
| 52 | - */ | ||
| 53 | - List<WxNewsArticleItemDO> getWxNewsArticleItemList(Collection<Integer> ids); | ||
| 54 | - | ||
| 55 | - /** | ||
| 56 | - * 获得图文消息文章列表表 分页 | ||
| 57 | - * | ||
| 58 | - * @param pageReqVO 分页查询 | ||
| 59 | - * @return 图文消息文章列表表 分页 | ||
| 60 | - */ | ||
| 61 | - PageResult<WxNewsArticleItemDO> getWxNewsArticleItemPage(WxNewsArticleItemPageReqVO pageReqVO); | ||
| 62 | - | ||
| 63 | - /** | ||
| 64 | - * 获得图文消息文章列表表 列表, 用于 Excel 导出 | ||
| 65 | - * | ||
| 66 | - * @param exportReqVO 查询条件 | ||
| 67 | - * @return 图文消息文章列表表 列表 | ||
| 68 | - */ | ||
| 69 | - List<WxNewsArticleItemDO> getWxNewsArticleItemList(WxNewsArticleItemExportReqVO exportReqVO); | ||
| 70 | - | ||
| 71 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newsarticleitem/WxNewsArticleItemServiceImpl.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.service.newsarticleitem; | ||
| 2 | - | ||
| 3 | -import org.springframework.stereotype.Service; | ||
| 4 | - | ||
| 5 | -import javax.annotation.Resource; | ||
| 6 | - | ||
| 7 | -import org.springframework.validation.annotation.Validated; | ||
| 8 | - | ||
| 9 | -import java.util.*; | ||
| 10 | - | ||
| 11 | -import cn.iocoder.yudao.module.mp.controller.admin.newsarticleitem.vo.*; | ||
| 12 | -import cn.iocoder.yudao.module.mp.dal.dataobject.newsarticleitem.WxNewsArticleItemDO; | ||
| 13 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 14 | - | ||
| 15 | -import cn.iocoder.yudao.module.mp.convert.newsarticleitem.WxNewsArticleItemConvert; | ||
| 16 | -import cn.iocoder.yudao.module.mp.dal.mysql.newsarticleitem.WxNewsArticleItemMapper; | ||
| 17 | - | ||
| 18 | -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | ||
| 19 | -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; | ||
| 20 | - | ||
| 21 | -/** | ||
| 22 | - * 图文消息文章列表表 Service 实现类 | ||
| 23 | - * | ||
| 24 | - * @author 芋道源码 | ||
| 25 | - */ | ||
| 26 | -@Service | ||
| 27 | -@Validated | ||
| 28 | -public class WxNewsArticleItemServiceImpl implements WxNewsArticleItemService { | ||
| 29 | - | ||
| 30 | - @Resource | ||
| 31 | - private WxNewsArticleItemMapper wxNewsArticleItemMapper; | ||
| 32 | - | ||
| 33 | - @Override | ||
| 34 | - public Integer createWxNewsArticleItem(WxNewsArticleItemCreateReqVO createReqVO) { | ||
| 35 | - // 插入 | ||
| 36 | - WxNewsArticleItemDO wxNewsArticleItem = WxNewsArticleItemConvert.INSTANCE.convert(createReqVO); | ||
| 37 | - wxNewsArticleItemMapper.insert(wxNewsArticleItem); | ||
| 38 | - // 返回 | ||
| 39 | - return wxNewsArticleItem.getId(); | ||
| 40 | - } | ||
| 41 | - | ||
| 42 | - @Override | ||
| 43 | - public void updateWxNewsArticleItem(WxNewsArticleItemUpdateReqVO updateReqVO) { | ||
| 44 | - // 校验存在 | ||
| 45 | - this.validateWxNewsArticleItemExists(updateReqVO.getId()); | ||
| 46 | - // 更新 | ||
| 47 | - WxNewsArticleItemDO updateObj = WxNewsArticleItemConvert.INSTANCE.convert(updateReqVO); | ||
| 48 | - wxNewsArticleItemMapper.updateById(updateObj); | ||
| 49 | - } | ||
| 50 | - | ||
| 51 | - @Override | ||
| 52 | - public void deleteWxNewsArticleItem(Integer id) { | ||
| 53 | - // 校验存在 | ||
| 54 | - this.validateWxNewsArticleItemExists(id); | ||
| 55 | - // 删除 | ||
| 56 | - wxNewsArticleItemMapper.deleteById(id); | ||
| 57 | - } | ||
| 58 | - | ||
| 59 | - private void validateWxNewsArticleItemExists(Integer id) { | ||
| 60 | - if (wxNewsArticleItemMapper.selectById(id) == null) { | ||
| 61 | - throw exception(COMMON_NOT_EXISTS); | ||
| 62 | - } | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | - @Override | ||
| 66 | - public WxNewsArticleItemDO getWxNewsArticleItem(Integer id) { | ||
| 67 | - return wxNewsArticleItemMapper.selectById(id); | ||
| 68 | - } | ||
| 69 | - | ||
| 70 | - @Override | ||
| 71 | - public List<WxNewsArticleItemDO> getWxNewsArticleItemList(Collection<Integer> ids) { | ||
| 72 | - return wxNewsArticleItemMapper.selectBatchIds(ids); | ||
| 73 | - } | ||
| 74 | - | ||
| 75 | - @Override | ||
| 76 | - public PageResult<WxNewsArticleItemDO> getWxNewsArticleItemPage(WxNewsArticleItemPageReqVO pageReqVO) { | ||
| 77 | - return wxNewsArticleItemMapper.selectPage(pageReqVO); | ||
| 78 | - } | ||
| 79 | - | ||
| 80 | - @Override | ||
| 81 | - public List<WxNewsArticleItemDO> getWxNewsArticleItemList(WxNewsArticleItemExportReqVO exportReqVO) { | ||
| 82 | - return wxNewsArticleItemMapper.selectList(exportReqVO); | ||
| 83 | - } | ||
| 84 | - | ||
| 85 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateService.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.service.newstemplate; | ||
| 2 | - | ||
| 3 | -import java.util.*; | ||
| 4 | -import javax.validation.*; | ||
| 5 | - | ||
| 6 | -import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; | ||
| 7 | -import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; | ||
| 8 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 9 | - | ||
| 10 | -/** | ||
| 11 | - * 图文消息模板 Service 接口 | ||
| 12 | - * | ||
| 13 | - * @author 芋道源码 | ||
| 14 | - */ | ||
| 15 | -public interface WxNewsTemplateService { | ||
| 16 | - | ||
| 17 | - /** | ||
| 18 | - * 创建图文消息模板 | ||
| 19 | - * | ||
| 20 | - * @param createReqVO 创建信息 | ||
| 21 | - * @return 编号 | ||
| 22 | - */ | ||
| 23 | - Integer createWxNewsTemplate(@Valid WxNewsTemplateCreateReqVO createReqVO); | ||
| 24 | - | ||
| 25 | - /** | ||
| 26 | - * 更新图文消息模板 | ||
| 27 | - * | ||
| 28 | - * @param updateReqVO 更新信息 | ||
| 29 | - */ | ||
| 30 | - void updateWxNewsTemplate(@Valid WxNewsTemplateUpdateReqVO updateReqVO); | ||
| 31 | - | ||
| 32 | - /** | ||
| 33 | - * 删除图文消息模板 | ||
| 34 | - * | ||
| 35 | - * @param id 编号 | ||
| 36 | - */ | ||
| 37 | - void deleteWxNewsTemplate(Integer id); | ||
| 38 | - | ||
| 39 | - /** | ||
| 40 | - * 获得图文消息模板 | ||
| 41 | - * | ||
| 42 | - * @param id 编号 | ||
| 43 | - * @return 图文消息模板 | ||
| 44 | - */ | ||
| 45 | - WxNewsTemplateDO getWxNewsTemplate(Integer id); | ||
| 46 | - | ||
| 47 | - /** | ||
| 48 | - * 获得图文消息模板列表 | ||
| 49 | - * | ||
| 50 | - * @param ids 编号 | ||
| 51 | - * @return 图文消息模板列表 | ||
| 52 | - */ | ||
| 53 | - List<WxNewsTemplateDO> getWxNewsTemplateList(Collection<Integer> ids); | ||
| 54 | - | ||
| 55 | - /** | ||
| 56 | - * 获得图文消息模板分页 | ||
| 57 | - * | ||
| 58 | - * @param pageReqVO 分页查询 | ||
| 59 | - * @return 图文消息模板分页 | ||
| 60 | - */ | ||
| 61 | - PageResult<WxNewsTemplateDO> getWxNewsTemplatePage(WxNewsTemplatePageReqVO pageReqVO); | ||
| 62 | - | ||
| 63 | - /** | ||
| 64 | - * 获得图文消息模板列表, 用于 Excel 导出 | ||
| 65 | - * | ||
| 66 | - * @param exportReqVO 查询条件 | ||
| 67 | - * @return 图文消息模板列表 | ||
| 68 | - */ | ||
| 69 | - List<WxNewsTemplateDO> getWxNewsTemplateList(WxNewsTemplateExportReqVO exportReqVO); | ||
| 70 | - | ||
| 71 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/newstemplate/WxNewsTemplateServiceImpl.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.service.newstemplate; | ||
| 2 | - | ||
| 3 | -import org.springframework.stereotype.Service; | ||
| 4 | - | ||
| 5 | -import javax.annotation.Resource; | ||
| 6 | - | ||
| 7 | -import org.springframework.validation.annotation.Validated; | ||
| 8 | - | ||
| 9 | -import java.util.*; | ||
| 10 | - | ||
| 11 | -import cn.iocoder.yudao.module.mp.controller.admin.newstemplate.vo.*; | ||
| 12 | -import cn.iocoder.yudao.module.mp.dal.dataobject.newstemplate.WxNewsTemplateDO; | ||
| 13 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 14 | - | ||
| 15 | -import cn.iocoder.yudao.module.mp.convert.newstemplate.WxNewsTemplateConvert; | ||
| 16 | -import cn.iocoder.yudao.module.mp.dal.mysql.newstemplate.WxNewsTemplateMapper; | ||
| 17 | - | ||
| 18 | -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | ||
| 19 | -import static cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants.*; | ||
| 20 | - | ||
| 21 | -/** | ||
| 22 | - * 图文消息模板 Service 实现类 | ||
| 23 | - * | ||
| 24 | - * @author 芋道源码 | ||
| 25 | - */ | ||
| 26 | -@Service | ||
| 27 | -@Validated | ||
| 28 | -public class WxNewsTemplateServiceImpl implements WxNewsTemplateService { | ||
| 29 | - | ||
| 30 | - @Resource | ||
| 31 | - private WxNewsTemplateMapper wxNewsTemplateMapper; | ||
| 32 | - | ||
| 33 | - @Override | ||
| 34 | - public Integer createWxNewsTemplate(WxNewsTemplateCreateReqVO createReqVO) { | ||
| 35 | - // 插入 | ||
| 36 | - WxNewsTemplateDO wxNewsTemplate = WxNewsTemplateConvert.INSTANCE.convert(createReqVO); | ||
| 37 | - wxNewsTemplateMapper.insert(wxNewsTemplate); | ||
| 38 | - // 返回 | ||
| 39 | - return wxNewsTemplate.getId(); | ||
| 40 | - } | ||
| 41 | - | ||
| 42 | - @Override | ||
| 43 | - public void updateWxNewsTemplate(WxNewsTemplateUpdateReqVO updateReqVO) { | ||
| 44 | - // 校验存在 | ||
| 45 | - this.validateWxNewsTemplateExists(updateReqVO.getId()); | ||
| 46 | - // 更新 | ||
| 47 | - WxNewsTemplateDO updateObj = WxNewsTemplateConvert.INSTANCE.convert(updateReqVO); | ||
| 48 | - wxNewsTemplateMapper.updateById(updateObj); | ||
| 49 | - } | ||
| 50 | - | ||
| 51 | - @Override | ||
| 52 | - public void deleteWxNewsTemplate(Integer id) { | ||
| 53 | - // 校验存在 | ||
| 54 | - this.validateWxNewsTemplateExists(id); | ||
| 55 | - // 删除 | ||
| 56 | - wxNewsTemplateMapper.deleteById(id); | ||
| 57 | - } | ||
| 58 | - | ||
| 59 | - private void validateWxNewsTemplateExists(Integer id) { | ||
| 60 | - if (wxNewsTemplateMapper.selectById(id) == null) { | ||
| 61 | - throw exception(COMMON_NOT_EXISTS); | ||
| 62 | - } | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | - @Override | ||
| 66 | - public WxNewsTemplateDO getWxNewsTemplate(Integer id) { | ||
| 67 | - return wxNewsTemplateMapper.selectById(id); | ||
| 68 | - } | ||
| 69 | - | ||
| 70 | - @Override | ||
| 71 | - public List<WxNewsTemplateDO> getWxNewsTemplateList(Collection<Integer> ids) { | ||
| 72 | - return wxNewsTemplateMapper.selectBatchIds(ids); | ||
| 73 | - } | ||
| 74 | - | ||
| 75 | - @Override | ||
| 76 | - public PageResult<WxNewsTemplateDO> getWxNewsTemplatePage(WxNewsTemplatePageReqVO pageReqVO) { | ||
| 77 | - return wxNewsTemplateMapper.selectPage(pageReqVO); | ||
| 78 | - } | ||
| 79 | - | ||
| 80 | - @Override | ||
| 81 | - public List<WxNewsTemplateDO> getWxNewsTemplateList(WxNewsTemplateExportReqVO exportReqVO) { | ||
| 82 | - return wxNewsTemplateMapper.selectList(exportReqVO); | ||
| 83 | - } | ||
| 84 | - | ||
| 85 | -} |