豆搭搭 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
豆搭搭 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
豆搭搭 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发
开源组织
地区 国产
投 递 者 这么诚实
适用人群 未知
收录时间 2022-10-08

软件简介

豆搭搭组件库。谐音"都搭搭",大家都来搭一搭,每个人都可以像搭积木一样搭建自己的项目。

版本说明

  • 分支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;
    }
}

联系我,欢迎来踩

gitee阵地

详细使用说明文档正在编写中,暂时可以参考仓库中Readme

部分功能还在开发中,敬请等待。。。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(1)
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
1 评论
4 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部