Browse Source

1.新增商家支付宝配置信息表 2.新增商家支付宝配置信息增删改查业务模块功能

multiwx
dy-hu 2 months ago
parent
commit
852fc84236
  1. 67
      cereshop-admin/src/main/java/com/shop/cereshop/admin/controller/BusinessAlipayController.java
  2. 19
      cereshop-admin/src/main/java/com/shop/cereshop/admin/controller/BusinessWxpayController.java
  3. 20
      cereshop-admin/src/main/java/com/shop/cereshop/admin/dao/balipay/CereBusinessAlipayDao.java
  4. 19
      cereshop-admin/src/main/java/com/shop/cereshop/admin/service/balipay/CereBusinessAlipayService.java
  5. 40
      cereshop-admin/src/main/java/com/shop/cereshop/admin/service/balipay/impl/CereBusinessAlipayServiceImpl.java
  6. 18
      cereshop-admin/src/main/resources/mybatis/mapper/ballipay/CereBusinessAlipayDAO.xml
  7. 50
      cereshop-commons/src/main/java/com/shop/cereshop/commons/domain/balipay/CereBusinessAlipay.java
  8. 12
      doc/3.0/update.sql

67
cereshop-admin/src/main/java/com/shop/cereshop/admin/controller/BusinessAlipayController.java

@ -0,0 +1,67 @@
package com.shop.cereshop.admin.controller;
/**
* 描述商家支付宝配置模块
*
* @author stevenhu
* @version 2025/02/20 14:38
*/
import com.shop.cereshop.admin.annotation.NoRepeatSubmit;
import com.shop.cereshop.admin.annotation.NoRepeatWebLog;
import com.shop.cereshop.admin.service.balipay.CereBusinessAlipayService;
import com.shop.cereshop.commons.domain.balipay.CereBusinessAlipay;
import com.shop.cereshop.commons.domain.user.CerePlatformUser;
import com.shop.cereshop.commons.exception.CoBusinessException;
import com.shop.cereshop.commons.result.Result;
import com.shop.cereshop.commons.utils.GsonUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("balipay")
/**
* 注解方式生成日志对象指定topic生成对象类名
*/
@Slf4j(topic = "BusinessAlipayController")
@Api(value = "商家支付宝配置模块", tags = "商家支付宝配置模块")
public class BusinessAlipayController {
@Autowired
private CereBusinessAlipayService businessAlipayService;
@PostMapping(value = "save")
@NoRepeatSubmit
@ApiOperation(value = "新建商家支付宝配置信息")
@NoRepeatWebLog
public Result save(@RequestBody CereBusinessAlipay alipay, HttpServletRequest request) throws CoBusinessException {
//获取当前登录账户
CerePlatformUser user = (CerePlatformUser) request.getAttribute("user");
businessAlipayService.save(alipay);
return new Result(user.getUsername(),"新建商家支付宝配置信息", GsonUtil.objectToGson(alipay));
}
@PostMapping(value = "update")
@NoRepeatSubmit
@ApiOperation(value = "修改商家支付宝配置信息")
@NoRepeatWebLog
public Result update(@RequestBody CereBusinessAlipay alipay, HttpServletRequest request) throws CoBusinessException{
//获取当前登录账户
CerePlatformUser user = (CerePlatformUser) request.getAttribute("user");
businessAlipayService.update(alipay);
return new Result(user.getUsername(),"修改商家支付宝配置信息", GsonUtil.objectToGson(alipay));
}
@GetMapping(value = "getBusinessAlipay/{businessId}")
@ApiOperation(value = "根据商家id获取支付宝配置信息")
@NoRepeatWebLog
public Result<CereBusinessAlipay> getHnaPayInfo(@PathVariable Long businessId) throws CoBusinessException{
CereBusinessAlipay alipay = businessAlipayService.getByBusinessId(businessId);
return new Result(alipay, "");
}
}

19
cereshop-admin/src/main/java/com/shop/cereshop/admin/controller/BusinessWxpayController.java

@ -12,6 +12,7 @@ import com.shop.cereshop.admin.annotation.NoRepeatWebLog;
import com.shop.cereshop.admin.param.business.BusinessUpdateParam;
import com.shop.cereshop.admin.service.bwxpay.CereBusinessWxpayService;
import com.shop.cereshop.commons.constant.CoReturnFormat;
import com.shop.cereshop.commons.domain.bhnapay.CereBusinessHnapay;
import com.shop.cereshop.commons.domain.business.CerePlatformBusiness;
import com.shop.cereshop.commons.domain.business.CerePlatformBusinessUser;
import com.shop.cereshop.commons.domain.bwxpay.CereBusinessWxpay;
@ -23,10 +24,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@ -55,13 +53,20 @@ public class BusinessWxpayController {
@PostMapping(value = "update")
@NoRepeatSubmit
@ApiOperation(value = "修改商家")
@ApiOperation(value = "修改商家微信配置信息")
@NoRepeatWebLog
public Result update(@RequestBody CereBusinessWxpay wxpay, HttpServletRequest request) throws CoBusinessException{
//校验商家名称是否存在
//获取当前登录账户
CerePlatformUser user = (CerePlatformUser) request.getAttribute("user");
businessWxpayService.update(wxpay);
return new Result(user.getUsername(),"修改商家", GsonUtil.objectToGson(wxpay));
return new Result(user.getUsername(),"修改商家微信配置信息", GsonUtil.objectToGson(wxpay));
}
@GetMapping(value = "getBusinessWxpay/{businessId}")
@ApiOperation(value = "根据商家id获取微信配置信息")
@NoRepeatWebLog
public Result<CereBusinessWxpay> getHnaPayInfo(@PathVariable Long businessId) throws CoBusinessException{
CereBusinessWxpay wxpay = businessWxpayService.getByBusinessId(businessId);
return new Result(wxpay, "");
}
}

20
cereshop-admin/src/main/java/com/shop/cereshop/admin/dao/balipay/CereBusinessAlipayDao.java

@ -0,0 +1,20 @@
package com.shop.cereshop.admin.dao.balipay;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.shop.cereshop.commons.domain.balipay.CereBusinessAlipay;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 描述
*
* @author stevenhu
* @version 2025/02/20 11:49
*/
@Mapper
public interface CereBusinessAlipayDao extends BaseMapper<CereBusinessAlipay> {
CereBusinessAlipay getByBusinessId(@Param("businessId") Long businessId);
}

19
cereshop-admin/src/main/java/com/shop/cereshop/admin/service/balipay/CereBusinessAlipayService.java

@ -0,0 +1,19 @@
package com.shop.cereshop.admin.service.balipay;
import com.shop.cereshop.commons.domain.balipay.CereBusinessAlipay;
import com.shop.cereshop.commons.exception.CoBusinessException;
/**
* 描述
*
* @author stevenhu
* @version 2025/02/20 14:19
*/
public interface CereBusinessAlipayService {
void save(CereBusinessAlipay record) throws CoBusinessException;
void update(CereBusinessAlipay businessAlipay) throws CoBusinessException;
CereBusinessAlipay getByBusinessId(Long businessId) throws CoBusinessException;
}

40
cereshop-admin/src/main/java/com/shop/cereshop/admin/service/balipay/impl/CereBusinessAlipayServiceImpl.java

@ -0,0 +1,40 @@
package com.shop.cereshop.admin.service.balipay.impl;
import com.shop.cereshop.admin.dao.balipay.CereBusinessAlipayDao;
import com.shop.cereshop.admin.service.balipay.CereBusinessAlipayService;
import com.shop.cereshop.commons.domain.balipay.CereBusinessAlipay;
import com.shop.cereshop.commons.exception.CoBusinessException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* 描述
*
* @author stevenhu
* @version 2025/02/20 14:21
*/
@Service
public class CereBusinessAlipayServiceImpl implements CereBusinessAlipayService {
@Autowired
private CereBusinessAlipayDao cereBusinessAlipayDao;
@Override
@Transactional(isolation= Isolation.DEFAULT,propagation= Propagation.REQUIRED,rollbackFor = {CoBusinessException.class, Exception.class})
public void save(CereBusinessAlipay record) throws CoBusinessException {
cereBusinessAlipayDao.insert(record);
}
@Override
public void update(CereBusinessAlipay businessAlipay) throws CoBusinessException {
cereBusinessAlipayDao.updateById(businessAlipay);
}
@Override
public CereBusinessAlipay getByBusinessId(Long businessId) throws CoBusinessException {
return cereBusinessAlipayDao.getByBusinessId(businessId);
}
}

18
cereshop-admin/src/main/resources/mybatis/mapper/ballipay/CereBusinessAlipayDAO.xml

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.shop.cereshop.admin.dao.balipay.CereBusinessAlipayDao">
<resultMap id="BaseResultMap" type="com.shop.cereshop.commons.domain.balipay.CereBusinessAlipay">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="business_id" jdbcType="BIGINT" property="businessId" />
<result column="app_id" jdbcType="VARCHAR" property="appId" />
<result column="private_key" jdbcType="VARCHAR" property="privateKey" />
<result column="decry_key" jdbcType="VARCHAR" property="decryKey" />
<result column="public_key" jdbcType="VARCHAR" property="publicKey" />
<result column="gateway_url" jdbcType="VARCHAR" property="gatewayUrl" />
</resultMap>
<select id="getByBusinessId" parameterType="java.lang.Object" resultType="com.shop.cereshop.commons.domain.balipay.CereBusinessAlipay">
SELECT * FROM cere_business_alipay where business_id = #{businessId}
</select>
</mapper>

50
cereshop-commons/src/main/java/com/shop/cereshop/commons/domain/balipay/CereBusinessAlipay.java

@ -0,0 +1,50 @@
package com.shop.cereshop.commons.domain.balipay;
import lombok.Data;
import java.io.Serializable;
/**
* 描述
*
* @author stevenhu
* @version 2025/02/20 11:12
*/
@Data
public class CereBusinessAlipay implements Serializable {
/**
* 主键Id
*/
private Long id;
/**
* 商家id
*/
private Long businessId;
/**
* 应用appid
*/
private String appId;
/**
* 应用私钥
*/
private String privateKey;
/**
* 接口内容解密key
*/
private String decryKey;
/**
* 支付宝公钥
*/
private String publicKey;
/**
* 请求网关地址
*/
private String gatewayUrl;
}

12
doc/3.0/update.sql

@ -338,6 +338,18 @@ CREATE TABLE `cere_business_wxpay` (
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商家微信支付配置信息' ROW_FORMAT = DYNAMIC;
DROP TABLE IF EXISTS `cere_business_alipay`;
CREATE TABLE `cere_business_alipay` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`business_id` bigint(20) NULL DEFAULT 0 COMMENT '商家Id',
`app_id` varchar(100) NULL COMMENT '应用appid',
`private_key` text NULL COMMENT '应用私钥',
`decry_key` text NULL COMMENT '接口内容解密key',
`public_key` text NULL COMMENT '支付宝公钥',
`gateway_url` varchar(256) NULL COMMENT '请求网关地址',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商家支付宝支付配置信息' ROW_FORMAT = DYNAMIC;
ALTER TABLE cere_platform_business ADD hna_pay_id varchar(256) DEFAULT '' COMMENT '新账通支付商户Id/分账方id';
ALTER TABLE cere_platform_business ADD bind_card_agr_no varchar(30) DEFAULT '' COMMENT '新账通支付绑卡协议号';
ALTER TABLE cere_platform_business ADD COLUMN hnapay_status tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '0-待上传 1-审核中 2-审核通过 3-审核拒绝' AFTER bind_card_agr_no;

Loading…
Cancel
Save