code review 公众号的实现

This commit is contained in:
YunaiV 2022-06-01 01:15:08 +08:00
parent 36e0ed18f1
commit fabf9693bf
5 changed files with 49 additions and 33 deletions

View File

@ -6,6 +6,7 @@ import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
// TODO @亚洲看看是不是可以使用 convert 来做更符合项目
public abstract class AbstractBuilder {
protected final Logger logger = LoggerFactory.getLogger(getClass());

View File

@ -24,6 +24,7 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
// TODO @芋艿思考有没更好的处理方式
@Component
@Slf4j
public class WxMpConfig implements InitializingBean {
@ -49,6 +50,7 @@ public class WxMpConfig implements InitializingBean {
public static void init(List<WxAccountDO> wxAccountDOS) {
mpServices = wxAccountDOS.stream().map(wxAccountDO -> {
// TODO 亚洲使用 WxMpInMemoryConfigStorage 的话多节点会不会存在 accessToken 冲突
WxMpInMemoryConfigStorage configStorage = new WxMpInMemoryConfigStorage();
configStorage.setAppId(wxAccountDO.getAppid());
configStorage.setSecret(wxAccountDO.getAppsecret());
@ -60,7 +62,6 @@ public class WxMpConfig implements InitializingBean {
routers.put(wxAccountDO.getAppid(), newRouter(service));
return service;
}).collect(Collectors.toMap(s -> s.getWxMpConfigStorage().getAppId(), a -> a, (o, n) -> o));
}
public static Map<String, WxMpMessageRouter> getRouters() {

View File

@ -1,34 +1,31 @@
package cn.iocoder.yudao.module.wechatMp.controller.admin.account;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import cn.iocoder.yudao.module.wechatMp.controller.admin.account.vo.*;
import cn.iocoder.yudao.module.wechatMp.convert.account.WxAccountConvert;
import cn.iocoder.yudao.module.wechatMp.dal.dataobject.account.WxAccountDO;
import cn.iocoder.yudao.module.wechatMp.service.account.WxAccountService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.annotations.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import java.util.Collection;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.wechatMp.controller.admin.account.vo.*;
import cn.iocoder.yudao.module.wechatMp.dal.dataobject.account.WxAccountDO;
import cn.iocoder.yudao.module.wechatMp.convert.account.WxAccountConvert;
import cn.iocoder.yudao.module.wechatMp.service.account.WxAccountService;
// TODO @亚洲/mp/account 即可
@Api(tags = "管理后台 - 公众号账户")
@RestController
@RequestMapping("/wechatMp/wx-account")

View File

@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.wechatMp.dal.dataobject.account;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
// TODO 亚洲这个模块的相关类使用 Mp 作为前缀哈
/**
* 公众号账户 DO
*
@ -33,10 +35,12 @@ public class WxAccountDO extends BaseDO {
* 公众号账户
*/
private String account;
// TODO 亚洲appId
/**
* 公众号appid
* 公众号 appid
*/
private String appid;
// TODO 亚洲appSecret
/**
* 公众号密钥
*/
@ -52,10 +56,12 @@ public class WxAccountDO extends BaseDO {
/**
* 加密密钥
*/
// TODO 亚洲aesKey
private String aeskey;
/**
* 二维码图片URL
* 二维码图片 URL
*/
// TODO 亚洲qrCodeUrl
private String qrUrl;
/**
* 备注

View File

@ -1,15 +1,19 @@
package cn.iocoder.yudao.module.wechatMp.dal.dataobject.accountfans;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import java.util.Date;
/**
* 微信公众号粉丝 DO
*
* @author 芋道源码
*/
// TODO @亚洲WxUserDO
@TableName("wx_account_fans")
@KeySequence("wx_account_fans_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@ -32,18 +36,22 @@ public class WxAccountFansDO extends BaseDO {
/**
* 订阅状态0未关注1已关注
*/
// TODO @亚洲Integer 然后写个枚举哈
private String subscribeStatus;
/**
* 订阅时间
*/
// TODO @亚洲增加一个取消关注的事件
private Date subscribeTime;
/**
* 昵称
*/
// TODO @亚洲String
private byte[] nickname;
/**
* 性别1男2女0未知
*/
// TODO @亚洲Integer
private String gender;
/**
* 语言
@ -64,17 +72,20 @@ public class WxAccountFansDO extends BaseDO {
/**
* 头像地址
*/
// TODO @亚洲headImageUrl
private String headimgUrl;
/**
* 备注
*/
private String remark;
// TODO @亚洲是不是只要存储 WxAccountDO id
/**
* 微信公众号ID
* 微信公众号 ID
*/
private String wxAccountId;
/**
* 微信公众号appid
* 微信公众号 appid
*/
private String wxAccountAppid;