Commit cdb7348b0872102d462db3d4edad7cb34f47e185
1 parent
a7e4ff0d
mp:重构 mp user 的表结构,以及相关的 service
Showing
25 changed files
with
255 additions
and
642 deletions
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/WxAccountFansController.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.accountfans; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 4 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 5 | -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | |
| 6 | -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | |
| 7 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.*; | |
| 8 | -import cn.iocoder.yudao.module.mp.convert.accountfans.WxAccountFansConvert; | |
| 9 | -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; | |
| 10 | -import cn.iocoder.yudao.module.mp.service.accountfans.WxAccountFansService; | |
| 11 | -import io.swagger.annotations.Api; | |
| 12 | -import io.swagger.annotations.ApiImplicitParam; | |
| 13 | -import io.swagger.annotations.ApiOperation; | |
| 14 | -import org.springframework.security.access.prepost.PreAuthorize; | |
| 15 | -import org.springframework.validation.annotation.Validated; | |
| 16 | -import org.springframework.web.bind.annotation.*; | |
| 17 | - | |
| 18 | -import javax.annotation.Resource; | |
| 19 | -import javax.servlet.http.HttpServletResponse; | |
| 20 | -import javax.validation.Valid; | |
| 21 | -import java.io.IOException; | |
| 22 | -import java.util.Collection; | |
| 23 | -import java.util.List; | |
| 24 | - | |
| 25 | -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 26 | -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | |
| 27 | - | |
| 28 | -@Api(tags = "管理后台 - 微信公众号粉丝") | |
| 29 | -@RestController | |
| 30 | -@RequestMapping("/wechatMp/wx-account-fans") | |
| 31 | -@Validated | |
| 32 | -public class WxAccountFansController { | |
| 33 | - | |
| 34 | - @Resource | |
| 35 | - private WxAccountFansService wxAccountFansService; | |
| 36 | - | |
| 37 | - @PostMapping("/create") | |
| 38 | - @ApiOperation("创建微信公众号粉丝") | |
| 39 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:create')") | |
| 40 | - public CommonResult<Long> createWxAccountFans(@Valid @RequestBody WxAccountFansCreateReqVO createReqVO) { | |
| 41 | - return success(wxAccountFansService.createWxAccountFans(createReqVO)); | |
| 42 | - } | |
| 43 | - | |
| 44 | - @PutMapping("/update") | |
| 45 | - @ApiOperation("更新微信公众号粉丝") | |
| 46 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:update')") | |
| 47 | - public CommonResult<Boolean> updateWxAccountFans(@Valid @RequestBody WxAccountFansUpdateReqVO updateReqVO) { | |
| 48 | - wxAccountFansService.updateWxAccountFans(updateReqVO); | |
| 49 | - return success(true); | |
| 50 | - } | |
| 51 | - | |
| 52 | - @DeleteMapping("/delete") | |
| 53 | - @ApiOperation("删除微信公众号粉丝") | |
| 54 | - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class) | |
| 55 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:delete')") | |
| 56 | - public CommonResult<Boolean> deleteWxAccountFans(@RequestParam("id") Long id) { | |
| 57 | - wxAccountFansService.deleteWxAccountFans(id); | |
| 58 | - return success(true); | |
| 59 | - } | |
| 60 | - | |
| 61 | - @GetMapping("/get") | |
| 62 | - @ApiOperation("获得微信公众号粉丝") | |
| 63 | - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) | |
| 64 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:query')") | |
| 65 | - public CommonResult<WxAccountFansRespVO> getWxAccountFans(@RequestParam("id") Long id) { | |
| 66 | - WxAccountFansDO wxAccountFans = wxAccountFansService.getWxAccountFans(id); | |
| 67 | - return success(WxAccountFansConvert.INSTANCE.convert(wxAccountFans)); | |
| 68 | - } | |
| 69 | - | |
| 70 | - @GetMapping("/list") | |
| 71 | - @ApiOperation("获得微信公众号粉丝列表") | |
| 72 | - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | |
| 73 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:query')") | |
| 74 | - public CommonResult<List<WxAccountFansRespVO>> getWxAccountFansList(@RequestParam("ids") Collection<Long> ids) { | |
| 75 | - List<WxAccountFansDO> list = wxAccountFansService.getWxAccountFansList(ids); | |
| 76 | - return success(WxAccountFansConvert.INSTANCE.convertList(list)); | |
| 77 | - } | |
| 78 | - | |
| 79 | - @GetMapping("/page") | |
| 80 | - @ApiOperation("获得微信公众号粉丝分页") | |
| 81 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:query')") | |
| 82 | - public CommonResult<PageResult<WxAccountFansRespVO>> getWxAccountFansPage(@Valid WxAccountFansPageReqVO pageVO) { | |
| 83 | - PageResult<WxAccountFansDO> pageResult = wxAccountFansService.getWxAccountFansPage(pageVO); | |
| 84 | - return success(WxAccountFansConvert.INSTANCE.convertPage(pageResult)); | |
| 85 | - } | |
| 86 | - | |
| 87 | - @GetMapping("/export-excel") | |
| 88 | - @ApiOperation("导出微信公众号粉丝 Excel") | |
| 89 | - @PreAuthorize("@ss.hasPermission('wechatMp:wx-account-fans:export')") | |
| 90 | - @OperateLog(type = EXPORT) | |
| 91 | - public void exportWxAccountFansExcel(@Valid WxAccountFansExportReqVO exportReqVO, | |
| 92 | - HttpServletResponse response) throws IOException { | |
| 93 | - List<WxAccountFansDO> list = wxAccountFansService.getWxAccountFansList(exportReqVO); | |
| 94 | - // 导出 Excel | |
| 95 | - List<WxAccountFansExcelVO> datas = WxAccountFansConvert.INSTANCE.convertList02(list); | |
| 96 | - ExcelUtils.write(response, "微信公众号粉丝.xls", "数据", WxAccountFansExcelVO.class, datas); | |
| 97 | - } | |
| 98 | - | |
| 99 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansCreateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.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 WxAccountFansCreateReqVO extends WxAccountFansBaseVO { | |
| 11 | - | |
| 12 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExcelVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import java.util.*; | |
| 5 | - | |
| 6 | -import com.alibaba.excel.annotation.ExcelProperty; | |
| 7 | - | |
| 8 | -/** | |
| 9 | - * 微信公众号粉丝 Excel VO | |
| 10 | - * | |
| 11 | - * @author 芋道源码 | |
| 12 | - */ | |
| 13 | -@Data | |
| 14 | -public class WxAccountFansExcelVO { | |
| 15 | - | |
| 16 | - @ExcelProperty("编号") | |
| 17 | - private Long id; | |
| 18 | - | |
| 19 | - @ExcelProperty("用户标识") | |
| 20 | - private String openid; | |
| 21 | - | |
| 22 | - @ExcelProperty("订阅状态,0未关注,1已关注") | |
| 23 | - private String subscribeStatus; | |
| 24 | - | |
| 25 | - @ExcelProperty("订阅时间") | |
| 26 | - private Date subscribeTime; | |
| 27 | - | |
| 28 | - @ExcelProperty("昵称") | |
| 29 | - private byte[] nickname; | |
| 30 | - | |
| 31 | - @ExcelProperty("性别,1男,2女,0未知") | |
| 32 | - private String gender; | |
| 33 | - | |
| 34 | - @ExcelProperty("语言") | |
| 35 | - private String language; | |
| 36 | - | |
| 37 | - @ExcelProperty("国家") | |
| 38 | - private String country; | |
| 39 | - | |
| 40 | - @ExcelProperty("省份") | |
| 41 | - private String province; | |
| 42 | - | |
| 43 | - @ExcelProperty("城市") | |
| 44 | - private String city; | |
| 45 | - | |
| 46 | - @ExcelProperty("头像地址") | |
| 47 | - private String headimgUrl; | |
| 48 | - | |
| 49 | - @ExcelProperty("备注") | |
| 50 | - private String remark; | |
| 51 | - | |
| 52 | - @ExcelProperty("微信公众号ID") | |
| 53 | - private String wxAccountId; | |
| 54 | - | |
| 55 | - @ExcelProperty("微信公众号appid") | |
| 56 | - private String wxAccountAppid; | |
| 57 | - | |
| 58 | - @ExcelProperty("创建时间") | |
| 59 | - private Date createTime; | |
| 60 | - | |
| 61 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansExportReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import java.util.*; | |
| 5 | -import io.swagger.annotations.*; | |
| 6 | -import org.springframework.format.annotation.DateTimeFormat; | |
| 7 | - | |
| 8 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | |
| 9 | - | |
| 10 | -@ApiModel(value = "管理后台 - 微信公众号粉丝 Excel 导出 Request VO", description = "参数和 WxAccountFansPageReqVO 是一致的") | |
| 11 | -@Data | |
| 12 | -public class WxAccountFansExportReqVO { | |
| 13 | - | |
| 14 | - @ApiModelProperty(value = "用户标识") | |
| 15 | - private String openid; | |
| 16 | - | |
| 17 | - @ApiModelProperty(value = "订阅状态,0未关注,1已关注") | |
| 18 | - private String subscribeStatus; | |
| 19 | - | |
| 20 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 21 | - @ApiModelProperty(value = "开始订阅时间") | |
| 22 | - private Date beginSubscribeTime; | |
| 23 | - | |
| 24 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 25 | - @ApiModelProperty(value = "结束订阅时间") | |
| 26 | - private Date endSubscribeTime; | |
| 27 | - | |
| 28 | - @ApiModelProperty(value = "昵称") | |
| 29 | - private String nickname; | |
| 30 | - | |
| 31 | - @ApiModelProperty(value = "性别,1男,2女,0未知") | |
| 32 | - private String gender; | |
| 33 | - | |
| 34 | - @ApiModelProperty(value = "语言") | |
| 35 | - private String language; | |
| 36 | - | |
| 37 | - @ApiModelProperty(value = "国家") | |
| 38 | - private String country; | |
| 39 | - | |
| 40 | - @ApiModelProperty(value = "省份") | |
| 41 | - private String province; | |
| 42 | - | |
| 43 | - @ApiModelProperty(value = "城市") | |
| 44 | - private String city; | |
| 45 | - | |
| 46 | - @ApiModelProperty(value = "头像地址") | |
| 47 | - private String headimgUrl; | |
| 48 | - | |
| 49 | - @ApiModelProperty(value = "备注") | |
| 50 | - private String remark; | |
| 51 | - | |
| 52 | - @ApiModelProperty(value = "微信公众号ID") | |
| 53 | - private String wxAccountId; | |
| 54 | - | |
| 55 | - @ApiModelProperty(value = "微信公众号appid") | |
| 56 | - private String wxAccountAppid; | |
| 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/accountfans/vo/WxAccountFansPageReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import java.util.*; | |
| 5 | -import io.swagger.annotations.*; | |
| 6 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | |
| 7 | -import org.springframework.format.annotation.DateTimeFormat; | |
| 8 | - | |
| 9 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | |
| 10 | - | |
| 11 | -@ApiModel("管理后台 - 微信公众号粉丝分页 Request VO") | |
| 12 | -@Data | |
| 13 | -@EqualsAndHashCode(callSuper = true) | |
| 14 | -@ToString(callSuper = true) | |
| 15 | -public class WxAccountFansPageReqVO extends PageParam { | |
| 16 | - | |
| 17 | - @ApiModelProperty(value = "用户标识") | |
| 18 | - private String openid; | |
| 19 | - | |
| 20 | - @ApiModelProperty(value = "订阅状态,0未关注,1已关注") | |
| 21 | - private String subscribeStatus; | |
| 22 | - | |
| 23 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 24 | - @ApiModelProperty(value = "开始订阅时间") | |
| 25 | - private Date beginSubscribeTime; | |
| 26 | - | |
| 27 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 28 | - @ApiModelProperty(value = "结束订阅时间") | |
| 29 | - private Date endSubscribeTime; | |
| 30 | - | |
| 31 | - @ApiModelProperty(value = "昵称") | |
| 32 | - private String nickname; | |
| 33 | - | |
| 34 | - @ApiModelProperty(value = "性别,1男,2女,0未知") | |
| 35 | - private String gender; | |
| 36 | - | |
| 37 | - @ApiModelProperty(value = "语言") | |
| 38 | - private String language; | |
| 39 | - | |
| 40 | - @ApiModelProperty(value = "国家") | |
| 41 | - private String country; | |
| 42 | - | |
| 43 | - @ApiModelProperty(value = "省份") | |
| 44 | - private String province; | |
| 45 | - | |
| 46 | - @ApiModelProperty(value = "城市") | |
| 47 | - private String city; | |
| 48 | - | |
| 49 | - @ApiModelProperty(value = "头像地址") | |
| 50 | - private String headimgUrl; | |
| 51 | - | |
| 52 | - @ApiModelProperty(value = "备注") | |
| 53 | - private String remark; | |
| 54 | - | |
| 55 | - @ApiModelProperty(value = "微信公众号ID") | |
| 56 | - private String wxAccountId; | |
| 57 | - | |
| 58 | - @ApiModelProperty(value = "微信公众号appid") | |
| 59 | - private String wxAccountAppid; | |
| 60 | - | |
| 61 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 62 | - @ApiModelProperty(value = "开始创建时间") | |
| 63 | - private Date beginCreateTime; | |
| 64 | - | |
| 65 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 66 | - @ApiModelProperty(value = "结束创建时间") | |
| 67 | - private Date endCreateTime; | |
| 68 | - | |
| 69 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansUpdateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import io.swagger.annotations.*; | |
| 5 | -import javax.validation.constraints.*; | |
| 6 | - | |
| 7 | -@ApiModel("管理后台 - 微信公众号粉丝更新 Request VO") | |
| 8 | -@Data | |
| 9 | -@EqualsAndHashCode(callSuper = true) | |
| 10 | -@ToString(callSuper = true) | |
| 11 | -public class WxAccountFansUpdateReqVO extends WxAccountFansBaseVO { | |
| 12 | - | |
| 13 | - @ApiModelProperty(value = "编号", required = true) | |
| 14 | - @NotNull(message = "编号不能为空") | |
| 15 | - private Long id; | |
| 16 | - | |
| 17 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/MpUserController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.user; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 4 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 5 | +import cn.iocoder.yudao.module.mp.controller.admin.user.vo.*; | |
| 6 | +import cn.iocoder.yudao.module.mp.convert.user.MpUserConvert; | |
| 7 | +import cn.iocoder.yudao.module.mp.dal.dataobject.user.MpUserDO; | |
| 8 | +import cn.iocoder.yudao.module.mp.service.user.MpUserService; | |
| 9 | +import io.swagger.annotations.Api; | |
| 10 | +import io.swagger.annotations.ApiOperation; | |
| 11 | +import org.springframework.security.access.prepost.PreAuthorize; | |
| 12 | +import org.springframework.validation.annotation.Validated; | |
| 13 | +import org.springframework.web.bind.annotation.*; | |
| 14 | + | |
| 15 | +import javax.annotation.Resource; | |
| 16 | +import javax.validation.Valid; | |
| 17 | + | |
| 18 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 19 | + | |
| 20 | +@Api(tags = "管理后台 - 微信公众号粉丝") | |
| 21 | +@RestController | |
| 22 | +@RequestMapping("/mp/user") | |
| 23 | +@Validated | |
| 24 | +public class MpUserController { | |
| 25 | + | |
| 26 | + @Resource | |
| 27 | + private MpUserService mpUserService; | |
| 28 | + | |
| 29 | + @GetMapping("/page") | |
| 30 | + @ApiOperation("获得微信公众号粉丝分页") | |
| 31 | + @PreAuthorize("@ss.hasPermission('mp:user:query')") | |
| 32 | + public CommonResult<PageResult<MpUserRespVO>> getUserPage(@Valid MpUserPageReqVO pageVO) { | |
| 33 | + PageResult<MpUserDO> pageResult = mpUserService.getUserPage(pageVO); | |
| 34 | + return success(MpUserConvert.INSTANCE.convertPage(pageResult)); | |
| 35 | + } | |
| 36 | + | |
| 37 | +} | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansBaseVO.java renamed to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserBaseVO.java
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; | |
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.user.vo; | |
| 2 | 2 | |
| 3 | 3 | import lombok.*; |
| 4 | 4 | import java.util.*; |
| ... | ... | @@ -12,23 +12,27 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ |
| 12 | 12 | * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 |
| 13 | 13 | */ |
| 14 | 14 | @Data |
| 15 | -public class WxAccountFansBaseVO { | |
| 15 | +public class MpUserBaseVO { | |
| 16 | 16 | |
| 17 | 17 | @ApiModelProperty(value = "用户标识") |
| 18 | 18 | private String openid; |
| 19 | 19 | |
| 20 | 20 | @ApiModelProperty(value = "订阅状态,0未关注,1已关注") |
| 21 | - private String subscribeStatus; | |
| 21 | + private Integer subscribeStatus; | |
| 22 | 22 | |
| 23 | 23 | @ApiModelProperty(value = "订阅时间") |
| 24 | 24 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
| 25 | 25 | private Date subscribeTime; |
| 26 | 26 | |
| 27 | + @ApiModelProperty(value = "订阅时间") | |
| 28 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 29 | + private Date unsubscribeTime; | |
| 30 | + | |
| 27 | 31 | @ApiModelProperty(value = "昵称") |
| 28 | - private byte[] nickname; | |
| 32 | + private String nickname; | |
| 29 | 33 | |
| 30 | 34 | @ApiModelProperty(value = "性别,1男,2女,0未知") |
| 31 | - private String gender; | |
| 35 | + private Integer gender; | |
| 32 | 36 | |
| 33 | 37 | @ApiModelProperty(value = "语言") |
| 34 | 38 | private String language; |
| ... | ... | @@ -43,15 +47,15 @@ public class WxAccountFansBaseVO { |
| 43 | 47 | private String city; |
| 44 | 48 | |
| 45 | 49 | @ApiModelProperty(value = "头像地址") |
| 46 | - private String headimgUrl; | |
| 50 | + private String headImageUrl; | |
| 47 | 51 | |
| 48 | 52 | @ApiModelProperty(value = "备注") |
| 49 | 53 | private String remark; |
| 50 | 54 | |
| 51 | 55 | @ApiModelProperty(value = "微信公众号ID") |
| 52 | - private String wxAccountId; | |
| 56 | + private Long accountId; | |
| 53 | 57 | |
| 54 | 58 | @ApiModelProperty(value = "微信公众号appid") |
| 55 | - private String wxAccountAppid; | |
| 59 | + private String appId; | |
| 56 | 60 | |
| 57 | 61 | } | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.user.vo; | |
| 2 | + | |
| 3 | +import lombok.*; | |
| 4 | +import io.swagger.annotations.*; | |
| 5 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | |
| 6 | + | |
| 7 | +@ApiModel("管理后台 - 微信公众号粉丝分页 Request VO") | |
| 8 | +@Data | |
| 9 | +@EqualsAndHashCode(callSuper = true) | |
| 10 | +@ToString(callSuper = true) | |
| 11 | +public class MpUserPageReqVO extends PageParam { | |
| 12 | + | |
| 13 | + @ApiModelProperty(value = "用户标识") | |
| 14 | + private String openid; | |
| 15 | + | |
| 16 | + @ApiModelProperty(value = "昵称") | |
| 17 | + private String nickname; | |
| 18 | + | |
| 19 | + @ApiModelProperty(value = "微信公众号 ID") | |
| 20 | + private Long accountId; | |
| 21 | + | |
| 22 | +} | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/accountfans/vo/WxAccountFansRespVO.java renamed to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserRespVO.java
| 1 | -package cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo; | |
| 1 | +package cn.iocoder.yudao.module.mp.controller.admin.user.vo; | |
| 2 | 2 | |
| 3 | 3 | import lombok.*; |
| 4 | 4 | import java.util.*; |
| ... | ... | @@ -8,7 +8,7 @@ import io.swagger.annotations.*; |
| 8 | 8 | @Data |
| 9 | 9 | @EqualsAndHashCode(callSuper = true) |
| 10 | 10 | @ToString(callSuper = true) |
| 11 | -public class WxAccountFansRespVO extends WxAccountFansBaseVO { | |
| 11 | +public class MpUserRespVO extends MpUserBaseVO { | |
| 12 | 12 | |
| 13 | 13 | @ApiModelProperty(value = "编号", required = true) |
| 14 | 14 | private Long id; | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/accountfans/WxAccountFansConvert.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.convert.accountfans; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; | |
| 5 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExcelVO; | |
| 6 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansRespVO; | |
| 7 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; | |
| 8 | -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; | |
| 9 | -import org.mapstruct.Mapper; | |
| 10 | -import org.mapstruct.factory.Mappers; | |
| 11 | - | |
| 12 | -import java.util.List; | |
| 13 | - | |
| 14 | -/** | |
| 15 | - * 微信公众号粉丝 Convert | |
| 16 | - * | |
| 17 | - * @author 芋道源码 | |
| 18 | - */ | |
| 19 | -@Mapper | |
| 20 | -public interface WxAccountFansConvert { | |
| 21 | - | |
| 22 | - WxAccountFansConvert INSTANCE = Mappers.getMapper(WxAccountFansConvert.class); | |
| 23 | - | |
| 24 | - WxAccountFansDO convert(WxAccountFansCreateReqVO bean); | |
| 25 | - | |
| 26 | - WxAccountFansDO convert(WxAccountFansUpdateReqVO bean); | |
| 27 | - | |
| 28 | - WxAccountFansRespVO convert(WxAccountFansDO bean); | |
| 29 | - | |
| 30 | - List<WxAccountFansRespVO> convertList(List<WxAccountFansDO> list); | |
| 31 | - | |
| 32 | - PageResult<WxAccountFansRespVO> convertPage(PageResult<WxAccountFansDO> page); | |
| 33 | - | |
| 34 | - List<WxAccountFansExcelVO> convertList02(List<WxAccountFansDO> list); | |
| 35 | - | |
| 36 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/user/MpUserConvert.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.convert.user; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.module.mp.controller.admin.user.vo.MpUserRespVO; | |
| 5 | +import cn.iocoder.yudao.module.mp.dal.dataobject.user.MpUserDO; | |
| 6 | +import org.mapstruct.Mapper; | |
| 7 | +import org.mapstruct.factory.Mappers; | |
| 8 | + | |
| 9 | +import java.util.List; | |
| 10 | + | |
| 11 | +@Mapper | |
| 12 | +public interface MpUserConvert { | |
| 13 | + | |
| 14 | + MpUserConvert INSTANCE = Mappers.getMapper(MpUserConvert.class); | |
| 15 | + | |
| 16 | + MpUserRespVO convert(MpUserDO bean); | |
| 17 | + | |
| 18 | + List<MpUserRespVO> convertList(List<MpUserDO> list); | |
| 19 | + | |
| 20 | + PageResult<MpUserRespVO> convertPage(PageResult<MpUserDO> page); | |
| 21 | + | |
| 22 | +} | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/accountfans/WxAccountFansDO.java renamed to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/dataobject/user/MpUserDO.java
| 1 | -package cn.iocoder.yudao.module.mp.dal.dataobject.accountfans; | |
| 1 | +package cn.iocoder.yudao.module.mp.dal.dataobject.user; | |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 3 | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | +import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; | |
| 4 | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 5 | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| 6 | 8 | import com.baomidou.mybatisplus.annotation.TableName; |
| 7 | 9 | import lombok.*; |
| 8 | 10 | |
| 9 | -import java.util.Date; | |
| 11 | +import java.time.LocalDateTime; | |
| 10 | 12 | |
| 11 | 13 | /** |
| 12 | 14 | * 微信公众号粉丝 DO |
| 13 | 15 | * |
| 14 | 16 | * @author 芋道源码 |
| 15 | 17 | */ |
| 16 | -// TODO @亚洲:WxUserDO | |
| 17 | -@TableName("wx_account_fans") | |
| 18 | -@KeySequence("wx_account_fans_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | |
| 18 | +@TableName("mp_user") | |
| 19 | +@KeySequence("mp_user_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | |
| 19 | 20 | @Data |
| 20 | 21 | @EqualsAndHashCode(callSuper = true) |
| 21 | 22 | @ToString(callSuper = true) |
| 22 | 23 | @Builder |
| 23 | 24 | @NoArgsConstructor |
| 24 | 25 | @AllArgsConstructor |
| 25 | -public class WxAccountFansDO extends BaseDO { | |
| 26 | +public class MpUserDO extends BaseDO { | |
| 26 | 27 | |
| 27 | 28 | /** |
| 28 | 29 | * 编号 |
| ... | ... | @@ -34,25 +35,32 @@ public class WxAccountFansDO extends BaseDO { |
| 34 | 35 | */ |
| 35 | 36 | private String openid; |
| 36 | 37 | /** |
| 37 | - * 订阅状态,0未关注,1已关注 | |
| 38 | + * 关注状态 | |
| 39 | + * | |
| 40 | + * 枚举 {@link CommonStatusEnum} | |
| 41 | + * 1. 开启 - 已关注 | |
| 42 | + * 2. 禁用 - 取消关注 | |
| 38 | 43 | */ |
| 39 | - // TODO @亚洲:Integer 然后写个枚举哈 | |
| 40 | - private String subscribeStatus; | |
| 44 | + private Integer subscribeStatus; | |
| 41 | 45 | /** |
| 42 | - * 订阅时间 | |
| 46 | + * 关注时间 | |
| 43 | 47 | */ |
| 44 | - // TODO @亚洲:增加一个取消关注的事件 | |
| 45 | - private Date subscribeTime; | |
| 48 | + private LocalDateTime subscribeTime; | |
| 49 | + /** | |
| 50 | + * 取消关注时间 | |
| 51 | + */ | |
| 52 | + private LocalDateTime unsubscribeTime; | |
| 46 | 53 | /** |
| 47 | 54 | * 昵称 |
| 48 | 55 | */ |
| 49 | - // TODO @亚洲:String | |
| 50 | - private byte[] nickname; | |
| 56 | + private String nickname; | |
| 51 | 57 | /** |
| 52 | - * 性别,1男,2女,0未知 | |
| 58 | + * 性别 | |
| 59 | + * | |
| 60 | + * 1- 男 | |
| 61 | + * 2- 女 | |
| 53 | 62 | */ |
| 54 | - // TODO @亚洲:Integer | |
| 55 | - private String gender; | |
| 63 | + private Integer gender; | |
| 56 | 64 | /** |
| 57 | 65 | * 语言 |
| 58 | 66 | */ |
| ... | ... | @@ -72,21 +80,23 @@ public class WxAccountFansDO extends BaseDO { |
| 72 | 80 | /** |
| 73 | 81 | * 头像地址 |
| 74 | 82 | */ |
| 75 | - // TODO @亚洲:headImageUrl | |
| 76 | - private String headimgUrl; | |
| 83 | + private String headImageUrl; | |
| 77 | 84 | /** |
| 78 | 85 | * 备注 |
| 79 | 86 | */ |
| 80 | 87 | private String remark; |
| 81 | 88 | |
| 82 | - // TODO @亚洲:是不是只要存储 WxAccountDO 的 id 呀? | |
| 83 | 89 | /** |
| 84 | 90 | * 微信公众号 ID |
| 91 | + * | |
| 92 | + * 关联 {@link MpAccountDO#getId()} | |
| 85 | 93 | */ |
| 86 | - private String wxAccountId; | |
| 94 | + private String accountId; | |
| 87 | 95 | /** |
| 88 | 96 | * 微信公众号 appid |
| 97 | + * | |
| 98 | + * 冗余{@link MpAccountDO#getAppId()} | |
| 89 | 99 | */ |
| 90 | - private String wxAccountAppid; | |
| 100 | + private String appId; | |
| 91 | 101 | |
| 92 | 102 | } | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/MpUserMapper.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.dal.mysql.accountfans; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 5 | +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | |
| 6 | +import cn.iocoder.yudao.module.mp.controller.admin.user.vo.MpUserPageReqVO; | |
| 7 | +import cn.iocoder.yudao.module.mp.dal.dataobject.user.MpUserDO; | |
| 8 | +import org.apache.ibatis.annotations.Mapper; | |
| 9 | + | |
| 10 | +@Mapper | |
| 11 | +public interface MpUserMapper extends BaseMapperX<MpUserDO> { | |
| 12 | + | |
| 13 | + default PageResult<MpUserDO> selectPage(MpUserPageReqVO reqVO) { | |
| 14 | + return selectPage(reqVO, new LambdaQueryWrapperX<MpUserDO>() | |
| 15 | + .likeIfPresent(MpUserDO::getOpenid, reqVO.getOpenid()) | |
| 16 | + .likeIfPresent(MpUserDO::getNickname, reqVO.getNickname()) | |
| 17 | + .eqIfPresent(MpUserDO::getAccountId, reqVO.getAccountId()) | |
| 18 | + .orderByDesc(MpUserDO::getId)); | |
| 19 | + } | |
| 20 | + | |
| 21 | +} | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/dal/mysql/accountfans/WxAccountFansMapper.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.dal.mysql.accountfans; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 5 | -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | |
| 6 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExportReqVO; | |
| 7 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansPageReqVO; | |
| 8 | -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; | |
| 9 | -import org.apache.ibatis.annotations.Mapper; | |
| 10 | - | |
| 11 | -import java.util.List; | |
| 12 | - | |
| 13 | -/** | |
| 14 | - * 微信公众号粉丝 Mapper | |
| 15 | - * | |
| 16 | - * @author 芋道源码 | |
| 17 | - */ | |
| 18 | -@Mapper | |
| 19 | -public interface WxAccountFansMapper extends BaseMapperX<WxAccountFansDO> { | |
| 20 | - | |
| 21 | - default PageResult<WxAccountFansDO> selectPage(WxAccountFansPageReqVO reqVO) { | |
| 22 | - return selectPage(reqVO, new LambdaQueryWrapperX<WxAccountFansDO>() | |
| 23 | - .eqIfPresent(WxAccountFansDO::getOpenid, reqVO.getOpenid()) | |
| 24 | - .eqIfPresent(WxAccountFansDO::getSubscribeStatus, reqVO.getSubscribeStatus()) | |
| 25 | - .betweenIfPresent(WxAccountFansDO::getSubscribeTime, reqVO.getBeginSubscribeTime(), reqVO.getEndSubscribeTime()) | |
| 26 | - .likeIfPresent(WxAccountFansDO::getNickname, reqVO.getNickname()) | |
| 27 | - .eqIfPresent(WxAccountFansDO::getGender, reqVO.getGender()) | |
| 28 | - .eqIfPresent(WxAccountFansDO::getLanguage, reqVO.getLanguage()) | |
| 29 | - .eqIfPresent(WxAccountFansDO::getCountry, reqVO.getCountry()) | |
| 30 | - .eqIfPresent(WxAccountFansDO::getProvince, reqVO.getProvince()) | |
| 31 | - .eqIfPresent(WxAccountFansDO::getCity, reqVO.getCity()) | |
| 32 | - .eqIfPresent(WxAccountFansDO::getHeadimgUrl, reqVO.getHeadimgUrl()) | |
| 33 | - .eqIfPresent(WxAccountFansDO::getRemark, reqVO.getRemark()) | |
| 34 | - .eqIfPresent(WxAccountFansDO::getWxAccountId, reqVO.getWxAccountId()) | |
| 35 | - .eqIfPresent(WxAccountFansDO::getWxAccountAppid, reqVO.getWxAccountAppid()) | |
| 36 | - .betweenIfPresent(WxAccountFansDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) | |
| 37 | - .orderByDesc(WxAccountFansDO::getId)); | |
| 38 | - } | |
| 39 | - | |
| 40 | - default List<WxAccountFansDO> selectList(WxAccountFansExportReqVO reqVO) { | |
| 41 | - return selectList(new LambdaQueryWrapperX<WxAccountFansDO>() | |
| 42 | - .eqIfPresent(WxAccountFansDO::getOpenid, reqVO.getOpenid()) | |
| 43 | - .eqIfPresent(WxAccountFansDO::getSubscribeStatus, reqVO.getSubscribeStatus()) | |
| 44 | - .betweenIfPresent(WxAccountFansDO::getSubscribeTime, reqVO.getBeginSubscribeTime(), reqVO.getEndSubscribeTime()) | |
| 45 | - .likeIfPresent(WxAccountFansDO::getNickname, reqVO.getNickname()) | |
| 46 | - .eqIfPresent(WxAccountFansDO::getGender, reqVO.getGender()) | |
| 47 | - .eqIfPresent(WxAccountFansDO::getLanguage, reqVO.getLanguage()) | |
| 48 | - .eqIfPresent(WxAccountFansDO::getCountry, reqVO.getCountry()) | |
| 49 | - .eqIfPresent(WxAccountFansDO::getProvince, reqVO.getProvince()) | |
| 50 | - .eqIfPresent(WxAccountFansDO::getCity, reqVO.getCity()) | |
| 51 | - .eqIfPresent(WxAccountFansDO::getHeadimgUrl, reqVO.getHeadimgUrl()) | |
| 52 | - .eqIfPresent(WxAccountFansDO::getRemark, reqVO.getRemark()) | |
| 53 | - .eqIfPresent(WxAccountFansDO::getWxAccountId, reqVO.getWxAccountId()) | |
| 54 | - .eqIfPresent(WxAccountFansDO::getWxAccountAppid, reqVO.getWxAccountAppid()) | |
| 55 | - .betweenIfPresent(WxAccountFansDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) | |
| 56 | - .orderByDesc(WxAccountFansDO::getId)); | |
| 57 | - } | |
| 58 | - | |
| 59 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/mp/config/MpConfiguration.java
| ... | ... | @@ -4,6 +4,8 @@ import cn.iocoder.yudao.module.mp.framework.mp.core.DefaultMpServiceFactory; |
| 4 | 4 | import cn.iocoder.yudao.module.mp.framework.mp.core.MpServiceFactory; |
| 5 | 5 | import cn.iocoder.yudao.module.mp.service.fansmsgres.NullHandler; |
| 6 | 6 | import cn.iocoder.yudao.module.mp.service.handler.*; |
| 7 | +import cn.iocoder.yudao.module.mp.service.handler.user.SubscribeHandler; | |
| 8 | +import cn.iocoder.yudao.module.mp.service.handler.user.UnsubscribeHandler; | |
| 7 | 9 | import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties; |
| 8 | 10 | import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps; |
| 9 | 11 | import org.springframework.context.annotation.Bean; | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/framework/mp/core/DefaultMpServiceFactory.java
| ... | ... | @@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.mp.framework.mp.core; |
| 3 | 3 | import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; |
| 4 | 4 | import cn.iocoder.yudao.module.mp.service.fansmsgres.NullHandler; |
| 5 | 5 | import cn.iocoder.yudao.module.mp.service.handler.*; |
| 6 | +import cn.iocoder.yudao.module.mp.service.handler.user.SubscribeHandler; | |
| 7 | +import cn.iocoder.yudao.module.mp.service.handler.user.UnsubscribeHandler; | |
| 6 | 8 | import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties; |
| 7 | 9 | import com.google.common.collect.Maps; |
| 8 | 10 | import lombok.RequiredArgsConstructor; | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/costomer/MpConfigRefreshConsumer.java renamed to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/mq/consumer/MpConfigRefreshConsumer.java
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansService.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.service.accountfans; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; | |
| 5 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExportReqVO; | |
| 6 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansPageReqVO; | |
| 7 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; | |
| 8 | -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; | |
| 9 | -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; | |
| 10 | - | |
| 11 | -import javax.validation.Valid; | |
| 12 | -import java.util.Collection; | |
| 13 | -import java.util.List; | |
| 14 | - | |
| 15 | -/** | |
| 16 | - * 微信公众号粉丝 Service 接口 | |
| 17 | - * | |
| 18 | - * @author 芋道源码 | |
| 19 | - */ | |
| 20 | -public interface WxAccountFansService { | |
| 21 | - | |
| 22 | - /** | |
| 23 | - * 创建微信公众号粉丝 | |
| 24 | - * | |
| 25 | - * @param createReqVO 创建信息 | |
| 26 | - * @return 编号 | |
| 27 | - */ | |
| 28 | - Long createWxAccountFans(@Valid WxAccountFansCreateReqVO createReqVO); | |
| 29 | - | |
| 30 | - /** | |
| 31 | - * 更新微信公众号粉丝 | |
| 32 | - * | |
| 33 | - * @param updateReqVO 更新信息 | |
| 34 | - */ | |
| 35 | - void updateWxAccountFans(@Valid WxAccountFansUpdateReqVO updateReqVO); | |
| 36 | - | |
| 37 | - /** | |
| 38 | - * 删除微信公众号粉丝 | |
| 39 | - * | |
| 40 | - * @param id 编号 | |
| 41 | - */ | |
| 42 | - void deleteWxAccountFans(Long id); | |
| 43 | - | |
| 44 | - /** | |
| 45 | - * 获得微信公众号粉丝 | |
| 46 | - * | |
| 47 | - * @param id 编号 | |
| 48 | - * @return 微信公众号粉丝 | |
| 49 | - */ | |
| 50 | - WxAccountFansDO getWxAccountFans(Long id); | |
| 51 | - | |
| 52 | - /** | |
| 53 | - * 获得微信公众号粉丝列表 | |
| 54 | - * | |
| 55 | - * @param ids 编号 | |
| 56 | - * @return 微信公众号粉丝列表 | |
| 57 | - */ | |
| 58 | - List<WxAccountFansDO> getWxAccountFansList(Collection<Long> ids); | |
| 59 | - | |
| 60 | - /** | |
| 61 | - * 获得微信公众号粉丝分页 | |
| 62 | - * | |
| 63 | - * @param pageReqVO 分页查询 | |
| 64 | - * @return 微信公众号粉丝分页 | |
| 65 | - */ | |
| 66 | - PageResult<WxAccountFansDO> getWxAccountFansPage(WxAccountFansPageReqVO pageReqVO); | |
| 67 | - | |
| 68 | - /** | |
| 69 | - * 获得微信公众号粉丝列表, 用于 Excel 导出 | |
| 70 | - * | |
| 71 | - * @param exportReqVO 查询条件 | |
| 72 | - * @return 微信公众号粉丝列表 | |
| 73 | - */ | |
| 74 | - List<WxAccountFansDO> getWxAccountFansList(WxAccountFansExportReqVO exportReqVO); | |
| 75 | - | |
| 76 | - /** | |
| 77 | - * 查询粉丝 | |
| 78 | - * | |
| 79 | - * @param sFunction | |
| 80 | - * @param val | |
| 81 | - * @return | |
| 82 | - */ | |
| 83 | - WxAccountFansDO findBy(SFunction<WxAccountFansDO, ?> sFunction, Object val); | |
| 84 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/accountfans/WxAccountFansServiceImpl.java deleted
| 1 | -package cn.iocoder.yudao.module.mp.service.accountfans; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; | |
| 4 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 5 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; | |
| 6 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansExportReqVO; | |
| 7 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansPageReqVO; | |
| 8 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; | |
| 9 | -import cn.iocoder.yudao.module.mp.convert.accountfans.WxAccountFansConvert; | |
| 10 | -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; | |
| 11 | -import cn.iocoder.yudao.module.mp.dal.mysql.accountfans.WxAccountFansMapper; | |
| 12 | -import cn.iocoder.yudao.module.mp.enums.ErrorCodeConstants; | |
| 13 | -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; | |
| 14 | -import org.springframework.stereotype.Service; | |
| 15 | -import org.springframework.validation.annotation.Validated; | |
| 16 | - | |
| 17 | -import javax.annotation.Resource; | |
| 18 | -import java.util.Collection; | |
| 19 | -import java.util.List; | |
| 20 | - | |
| 21 | -/** | |
| 22 | - * 微信公众号粉丝 Service 实现类 | |
| 23 | - * | |
| 24 | - * @author 芋道源码 | |
| 25 | - */ | |
| 26 | -@Service | |
| 27 | -@Validated | |
| 28 | -public class WxAccountFansServiceImpl implements WxAccountFansService { | |
| 29 | - | |
| 30 | - @Resource | |
| 31 | - private WxAccountFansMapper wxAccountFansMapper; | |
| 32 | - | |
| 33 | - @Override | |
| 34 | - public Long createWxAccountFans(WxAccountFansCreateReqVO createReqVO) { | |
| 35 | - // 插入 | |
| 36 | - WxAccountFansDO wxAccountFans = WxAccountFansConvert.INSTANCE.convert(createReqVO); | |
| 37 | - wxAccountFansMapper.insert(wxAccountFans); | |
| 38 | - // 返回 | |
| 39 | - return wxAccountFans.getId(); | |
| 40 | - } | |
| 41 | - | |
| 42 | - @Override | |
| 43 | - public void updateWxAccountFans(WxAccountFansUpdateReqVO updateReqVO) { | |
| 44 | - // 校验存在 | |
| 45 | - this.validateWxAccountFansExists(updateReqVO.getId()); | |
| 46 | - // 更新 | |
| 47 | - WxAccountFansDO updateObj = WxAccountFansConvert.INSTANCE.convert(updateReqVO); | |
| 48 | - wxAccountFansMapper.updateById(updateObj); | |
| 49 | - } | |
| 50 | - | |
| 51 | - @Override | |
| 52 | - public void deleteWxAccountFans(Long id) { | |
| 53 | - // 校验存在 | |
| 54 | - this.validateWxAccountFansExists(id); | |
| 55 | - // 删除 | |
| 56 | - wxAccountFansMapper.deleteById(id); | |
| 57 | - } | |
| 58 | - | |
| 59 | - private void validateWxAccountFansExists(Long id) { | |
| 60 | - if (wxAccountFansMapper.selectById(id) == null) { | |
| 61 | - throw ServiceExceptionUtil.exception(ErrorCodeConstants.WX_ACCOUNT_FANS_NOT_EXISTS); | |
| 62 | - } | |
| 63 | - } | |
| 64 | - | |
| 65 | - @Override | |
| 66 | - public WxAccountFansDO getWxAccountFans(Long id) { | |
| 67 | - return wxAccountFansMapper.selectById(id); | |
| 68 | - } | |
| 69 | - | |
| 70 | - @Override | |
| 71 | - public List<WxAccountFansDO> getWxAccountFansList(Collection<Long> ids) { | |
| 72 | - return wxAccountFansMapper.selectBatchIds(ids); | |
| 73 | - } | |
| 74 | - | |
| 75 | - @Override | |
| 76 | - public PageResult<WxAccountFansDO> getWxAccountFansPage(WxAccountFansPageReqVO pageReqVO) { | |
| 77 | - return wxAccountFansMapper.selectPage(pageReqVO); | |
| 78 | - } | |
| 79 | - | |
| 80 | - @Override | |
| 81 | - public List<WxAccountFansDO> getWxAccountFansList(WxAccountFansExportReqVO exportReqVO) { | |
| 82 | - return wxAccountFansMapper.selectList(exportReqVO); | |
| 83 | - } | |
| 84 | - | |
| 85 | - @Override | |
| 86 | - public WxAccountFansDO findBy(SFunction<WxAccountFansDO, ?> sFunction, Object val) { | |
| 87 | - return wxAccountFansMapper.selectOne(sFunction, val); | |
| 88 | - } | |
| 89 | -} |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/DefaultMessageHandler.java
| ... | ... | @@ -49,9 +49,8 @@ public class DefaultMessageHandler implements WxMpMessageHandler { |
| 49 | 49 | private FileApi fileApi; |
| 50 | 50 | |
| 51 | 51 | @Override |
| 52 | - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, | |
| 53 | - Map<String, Object> context, WxMpService weixinService, | |
| 54 | - WxSessionManager sessionManager) { | |
| 52 | + public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, | |
| 53 | + WxMpService weixinService, WxSessionManager sessionManager) { | |
| 55 | 54 | log.info("收到信息内容:{}", JsonUtils.toJsonString(wxMessage)); |
| 56 | 55 | log.info("关键字:{}", wxMessage.getContent()); |
| 57 | 56 | |
| ... | ... | @@ -148,7 +147,7 @@ public class DefaultMessageHandler implements WxMpMessageHandler { |
| 148 | 147 | |
| 149 | 148 | //处理回复信息,优先级,关键字、智能机器人、默认值 |
| 150 | 149 | String processContent(WxMpXmlMessage wxMessage) { |
| 151 | - String content = ""; | |
| 150 | + String content = "你猜"; | |
| 152 | 151 | /* content = processReceiveTextContent(wxMessage); |
| 153 | 152 | if(StringUtils.isNotBlank( content )){ |
| 154 | 153 | return content; | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/SubscribeHandler.java renamed to 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; | |
| 1 | +package cn.iocoder.yudao.module.mp.service.handler.user; | |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.date.DateUtil; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 5 | 5 | import cn.iocoder.yudao.module.mp.builder.TextBuilder; |
| 6 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansCreateReqVO; | |
| 7 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; | |
| 6 | +import cn.iocoder.yudao.module.mp.controller.admin.user.vo.WxAccountFansCreateReqVO; | |
| 7 | +import cn.iocoder.yudao.module.mp.controller.admin.user.vo.WxAccountFansUpdateReqVO; | |
| 8 | 8 | import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; |
| 9 | -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; | |
| 9 | +import cn.iocoder.yudao.module.mp.dal.dataobject.user.MpUserDO; | |
| 10 | 10 | import cn.iocoder.yudao.module.mp.dal.dataobject.subscribetext.WxSubscribeTextDO; |
| 11 | 11 | import cn.iocoder.yudao.module.mp.dal.dataobject.texttemplate.WxTextTemplateDO; |
| 12 | 12 | import cn.iocoder.yudao.module.mp.service.account.MpAccountService; |
| 13 | -import cn.iocoder.yudao.module.mp.service.accountfans.WxAccountFansService; | |
| 13 | +import cn.iocoder.yudao.module.mp.service.user.MpUserService; | |
| 14 | 14 | import cn.iocoder.yudao.module.mp.service.accountfanstag.WxAccountFansTagService; |
| 15 | 15 | import cn.iocoder.yudao.module.mp.service.subscribetext.WxSubscribeTextService; |
| 16 | 16 | import cn.iocoder.yudao.module.mp.service.texttemplate.WxTextTemplateService; |
| ... | ... | @@ -33,6 +33,8 @@ import java.util.Map; |
| 33 | 33 | /** |
| 34 | 34 | * 关注的事件处理器 |
| 35 | 35 | * |
| 36 | + * @author 芋道源码 | |
| 37 | + * | |
| 36 | 38 | * // TODO 芋艿:待实现 |
| 37 | 39 | */ |
| 38 | 40 | @Component |
| ... | ... | @@ -50,7 +52,7 @@ public class SubscribeHandler implements WxMpMessageHandler { |
| 50 | 52 | private WxSubscribeTextService wxSubscribeTextService; |
| 51 | 53 | |
| 52 | 54 | @Autowired |
| 53 | - private WxAccountFansService wxAccountFansService; | |
| 55 | + private MpUserService wxAccountFansService; | |
| 54 | 56 | |
| 55 | 57 | @Autowired |
| 56 | 58 | private WxAccountFansTagService wxAccountFansTagService; |
| ... | ... | @@ -70,7 +72,7 @@ public class SubscribeHandler implements WxMpMessageHandler { |
| 70 | 72 | // 可以添加关注用户到本地数据库 |
| 71 | 73 | MpAccountDO wxAccount = mpAccountService.findBy(MpAccountDO::getAccount, wxMessage.getToUser()); |
| 72 | 74 | if (wxAccount != null) { |
| 73 | - WxAccountFansDO wxAccountFans = wxAccountFansService.findBy(WxAccountFansDO::getOpenid, wxmpUser.getOpenId()); | |
| 75 | + MpUserDO wxAccountFans = wxAccountFansService.findBy(MpUserDO::getOpenid, wxmpUser.getOpenId()); | |
| 74 | 76 | if (wxAccountFans == null) {//insert |
| 75 | 77 | WxAccountFansCreateReqVO wxAccountFansCreateReqVO = new WxAccountFansCreateReqVO(); |
| 76 | 78 | wxAccountFansCreateReqVO.setOpenid(wxmpUser.getOpenId()); | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/UnsubscribeHandler.java renamed to yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/handler/user/UnsubscribeHandler.java
| 1 | -package cn.iocoder.yudao.module.mp.service.handler; | |
| 1 | +package cn.iocoder.yudao.module.mp.service.handler.user; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.mp.controller.admin.accountfans.vo.WxAccountFansUpdateReqVO; | |
| 3 | +import cn.iocoder.yudao.module.mp.controller.admin.user.vo.WxAccountFansUpdateReqVO; | |
| 4 | 4 | import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; |
| 5 | -import cn.iocoder.yudao.module.mp.dal.dataobject.accountfans.WxAccountFansDO; | |
| 5 | +import cn.iocoder.yudao.module.mp.dal.dataobject.user.MpUserDO; | |
| 6 | 6 | import cn.iocoder.yudao.module.mp.service.account.MpAccountService; |
| 7 | -import cn.iocoder.yudao.module.mp.service.accountfans.WxAccountFansService; | |
| 7 | +import cn.iocoder.yudao.module.mp.service.user.MpUserService; | |
| 8 | 8 | import lombok.extern.slf4j.Slf4j; |
| 9 | 9 | import me.chanjar.weixin.common.session.WxSessionManager; |
| 10 | 10 | import me.chanjar.weixin.mp.api.WxMpMessageHandler; |
| ... | ... | @@ -21,6 +21,8 @@ import java.util.Map; |
| 21 | 21 | /** |
| 22 | 22 | * 取消关注的事件处理器 |
| 23 | 23 | * |
| 24 | + * @author 芋道源码 | |
| 25 | + * | |
| 24 | 26 | * // TODO 芋艿:待实现 |
| 25 | 27 | */ |
| 26 | 28 | @Component |
| ... | ... | @@ -32,7 +34,7 @@ public class UnsubscribeHandler implements WxMpMessageHandler { |
| 32 | 34 | private MpAccountService mpAccountService; |
| 33 | 35 | |
| 34 | 36 | @Autowired |
| 35 | - private WxAccountFansService wxAccountFansService; | |
| 37 | + private MpUserService wxAccountFansService; | |
| 36 | 38 | |
| 37 | 39 | @Override |
| 38 | 40 | public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, |
| ... | ... | @@ -44,7 +46,7 @@ public class UnsubscribeHandler implements WxMpMessageHandler { |
| 44 | 46 | |
| 45 | 47 | MpAccountDO wxAccountDO = mpAccountService.findBy(MpAccountDO::getAccount, wxMessage.getToUser()); |
| 46 | 48 | if (wxAccountDO != null) { |
| 47 | - WxAccountFansDO wxAccountFansDO = wxAccountFansService.findBy(WxAccountFansDO::getOpenid, openId); | |
| 49 | + MpUserDO wxAccountFansDO = wxAccountFansService.findBy(MpUserDO::getOpenid, openId); | |
| 48 | 50 | if (wxAccountFansDO != null) { |
| 49 | 51 | WxAccountFansUpdateReqVO wxAccountFansUpdateReqVO = new WxAccountFansUpdateReqVO(); |
| 50 | 52 | wxAccountFansUpdateReqVO.setId(wxAccountDO.getId()); | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/user/MpUserService.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.service.user; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.module.mp.controller.admin.user.vo.MpUserPageReqVO; | |
| 5 | +import cn.iocoder.yudao.module.mp.dal.dataobject.user.MpUserDO; | |
| 6 | + | |
| 7 | +import java.util.Collection; | |
| 8 | +import java.util.List; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * 微信公众号粉丝 Service 接口 | |
| 12 | + * | |
| 13 | + * @author 芋道源码 | |
| 14 | + */ | |
| 15 | +public interface MpUserService { | |
| 16 | + | |
| 17 | + /** | |
| 18 | + * 获得微信公众号粉丝 | |
| 19 | + * | |
| 20 | + * @param id 编号 | |
| 21 | + * @return 微信公众号粉丝 | |
| 22 | + */ | |
| 23 | + MpUserDO getUser(Long id); | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 获得微信公众号粉丝列表 | |
| 27 | + * | |
| 28 | + * @param ids 编号 | |
| 29 | + * @return 微信公众号粉丝列表 | |
| 30 | + */ | |
| 31 | + List<MpUserDO> getUserList(Collection<Long> ids); | |
| 32 | + | |
| 33 | + /** | |
| 34 | + * 获得微信公众号粉丝分页 | |
| 35 | + * | |
| 36 | + * @param pageReqVO 分页查询 | |
| 37 | + * @return 微信公众号粉丝分页 | |
| 38 | + */ | |
| 39 | + PageResult<MpUserDO> getUserPage(MpUserPageReqVO pageReqVO); | |
| 40 | + | |
| 41 | +} | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/service/user/MpUserServiceImpl.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mp.service.user; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.module.mp.controller.admin.user.vo.MpUserPageReqVO; | |
| 5 | +import cn.iocoder.yudao.module.mp.dal.dataobject.user.MpUserDO; | |
| 6 | +import cn.iocoder.yudao.module.mp.dal.mysql.accountfans.MpUserMapper; | |
| 7 | +import org.springframework.stereotype.Service; | |
| 8 | +import org.springframework.validation.annotation.Validated; | |
| 9 | + | |
| 10 | +import javax.annotation.Resource; | |
| 11 | +import java.util.Collection; | |
| 12 | +import java.util.List; | |
| 13 | + | |
| 14 | +/** | |
| 15 | + * 微信公众号粉丝 Service 实现类 | |
| 16 | + * | |
| 17 | + * @author 芋道源码 | |
| 18 | + */ | |
| 19 | +@Service | |
| 20 | +@Validated | |
| 21 | +public class MpUserServiceImpl implements MpUserService { | |
| 22 | + | |
| 23 | + @Resource | |
| 24 | + private MpUserMapper mpUserMapper; | |
| 25 | + | |
| 26 | + @Override | |
| 27 | + public MpUserDO getUser(Long id) { | |
| 28 | + return mpUserMapper.selectById(id); | |
| 29 | + } | |
| 30 | + | |
| 31 | + @Override | |
| 32 | + public List<MpUserDO> getUserList(Collection<Long> ids) { | |
| 33 | + return mpUserMapper.selectBatchIds(ids); | |
| 34 | + } | |
| 35 | + | |
| 36 | + @Override | |
| 37 | + public PageResult<MpUserDO> getUserPage(MpUserPageReqVO pageReqVO) { | |
| 38 | + return mpUserMapper.selectPage(pageReqVO); | |
| 39 | + } | |
| 40 | + | |
| 41 | +} | ... | ... |