豆搭搭组件库。谐音"都搭搭",大家都来搭一搭,每个人都可以像搭积木一样搭建自己的项目。
版本说明
- 分支dev-1.x:基于springboot版本2.6.11,发布版本号1.x.x
- 分支dev:基于springboot版本2.7.3,发布版本号2.x.x
主要特性
- 基于成熟组件或算法封装
- 简单注解配置,即可实现相关组件操作
- 省掉碍眼繁琐的签名与验签,避免易出错点
- 丰富易用的API方法,满足个性化使用
- 组件多种多样,按需使用
组件展示
cipher-algorithm(密码算法)
- 国密:SM2[非对称加密]、SM3[摘要签名算法]、SM4[对称加密]
- 国际密码:AES[对称加密]、RSA[非对称加密]、MD5[摘要算法]、SHA1[摘要算法]、SHA256[摘要算法]
- 消息认证码:HmacMD5、HmacSHA1、HmacSHA256
- 签名、验签:MD5withRSA、SHA1withRSA、SHA256withRSA
data-audit(数据审计)
- 对象属性值比对(实现中)
- 敏感字段验证(实现中)
- 加解密字段验证(实现中)
- 操作人核对(实现中)
iot-codec(物联网编解码)
- 编解码插件文件验证
- 编解码插件部署
- 编解码插件卸载
message(消息服务)
- 短信通知
- 语音通知
- 微信公众号通知
- 钉钉通知(实现中)
mq(基于pulsar的消息服务)
- 订阅主题
- 生产者
- 消费者
mqtt(基于spring-integration的MQTT客户端服务)
- 订阅主题
- 发布消息
- 消息接收回调
mybatis-partner(辅助集成mybatis)
- 便捷查询器以及分页查询
- 字段自动注入
- 逻辑删除
- 结果字段脱敏
- 数据存储加解密(实现中)
- p6spy日志(实现中)
oss(对象存储服务)
- 服务器本地
- MinIO
- GridFs
- 阿里云
pay(支付服务)
- 微信支付
- 支付宝支付
- 银联支付(实现中)
wechat(辅助集成微信公众号)
- 接入微信服务
- 菜单管理
- 网页授权
- 通知回调
- 模版消息
使用指引
以“支付”为例
引入依赖
implement "cool.doudou:doudada-pay:${latest}"
配置属性
pay:
wx:
enabled: true
appId: wx000001
mchId: 14000001
private-key-path: /home/test.pem
private-key-serial-number: 70000000001
api-key-v3: abcdefg
notify-url: http://127.0.0.1:8000/wechat/pay-notify
zfb:
enabled: true
appId: zfb00001
private-key-path: /home/test.pem
public-key-path: /home/test-pub.pem
notify-url: http://127.0.0.1:8000/zfb/pay-notify
编码使用
下单、查询、关闭、退款、交易账单
@Component
public class PayComponent {
@Autowired
private PayHelper payHelper;
/**
* 下单
*/
public void place() {
PlaceOrderParam placeOrderParam = new PlaceOrderParam();
// ...
payHelper.place(PayModeEnum.WX, placeOrderParam);
}
/**
* 查询
*/
public void query() {
payHelper.query(PayModeEnum.WX, "xxxxxx00001");
}
/**
* 关闭
*/
public void close() {
payHelper.close(PayModeEnum.WX, "xxxxxx00001");
}
/**
* 退款
*/
public void refund() {
RefundParam refundParam = new RefundParam();
// ...
payHelper.refund(PayModeEnum.WX, refundParam);
}
/**
* 交易账单
*/
public void tradeBill() {
payHelper.tradeBill(PayModeEnum.WX, "2022-07-07");
}
}
支付通知
@Component
public class PayNotifyComponent {
/**
* 微信
* @param message 下单参数字符串
* @return true-业务处理成功;false-业务处理失败
*/
@WxPayNotify
public boolean wxPayNotify(String message) {
System.out.println(message);
return true;
}
/**
* 支付宝
* @param message 下单参数字符串
* @return true-业务处理成功;false-业务处理失败
*/
@ZfbPayNotify
public boolean zfbPayNotify(String message) {
System.out.println(map);
return true;
}
}
联系我,欢迎来踩
详细使用说明文档正在编写中,暂时可以参考仓库中Readme
部分功能还在开发中,敬请等待。。。
评论