From e5a29ff40a4c3165f56a3783c62e6717aa61c61a Mon Sep 17 00:00:00 2001 From: liuyingfang <1357764963@qq.com> Date: Fri, 4 Aug 2023 16:24:09 +0800 Subject: [PATCH] =?UTF-8?q?app=E8=8F=9C=E5=8D=95=E7=9B=B8=E5=85=B3,?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=AE=9D=E8=87=AA=E5=8A=A8=E6=89=93=E6=AC=BE?= =?UTF-8?q?=EF=BC=8C=E8=AF=A6=E6=83=85=EF=BC=8C=E5=AE=9E=E5=90=8D=EF=BC=8C?= =?UTF-8?q?=E5=95=86=E6=88=B7=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- newadmin/admin/pom.xml | 5 + .../com/chaozhanggui/admin/system/Shell.java | 8 +- .../system/controller/AppMenuController.java | 12 ++- .../system/controller/DictController.java | 29 ++++++ .../controller/MerchantInfoController.java | 53 +++++++++++ .../admin/system/service/DictService.java | 29 ++++++ .../system/service/MerchantInfoService.java | 64 +++++++++++++ .../admin/system/service/Userservice.java | 16 +++- .../admin/src/main/resources/application.yml | 7 ++ newadmin/aliPay-service-api/pom.xml | 38 ++++++++ .../system/AliPayServiceConfig.java | 11 +++ .../system/config/AliPayConfig.java | 36 ++++++++ .../system/service/AliPayService.java | 70 ++++++++++++++ .../common/system/util/AlipayTransfer.java | 62 ------------- .../common/system/util/ExceptionUtil.java | 2 +- .../dao/system/dao/TbPlussBankCardMapper.java | 2 + .../dao/system/dao/TbPlussDictMapper.java | 6 ++ .../dao/system/dao/TbPlussIdCardMapper.java | 1 + .../dao/TbPlussMerchantImageMapper.java | 3 + .../dao/system/entity/TbPlussBankCard.java | 14 +++ .../dao/system/entity/TbPlussIdCard.java | 9 ++ .../system/entity/TbPlussMerchantImage.java | 91 +++++++++++++++++++ .../dao/system/entity/VO/MerchantBaseVO.java | 23 +++++ .../mapper/TbPlussBankCardMapper.xml | 9 +- .../resources/mapper/TbPlussDictMapper.xml | 14 +++ .../resources/mapper/TbPlussIdCardMapper.xml | 7 ++ .../mapper/TbPlussMerchantImageMapper.xml | 9 +- newadmin/pom.xml | 2 +- 28 files changed, 560 insertions(+), 72 deletions(-) create mode 100644 newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/DictController.java create mode 100644 newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/MerchantInfoController.java create mode 100644 newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/DictService.java create mode 100644 newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/MerchantInfoService.java create mode 100644 newadmin/aliPay-service-api/pom.xml create mode 100644 newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/AliPayServiceConfig.java create mode 100644 newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/config/AliPayConfig.java create mode 100644 newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/service/AliPayService.java delete mode 100644 newadmin/common-api/src/main/java/com/chaozhanggui/common/system/util/AlipayTransfer.java create mode 100644 newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/VO/MerchantBaseVO.java diff --git a/newadmin/admin/pom.xml b/newadmin/admin/pom.xml index 4ea75a6..ed10cb1 100644 --- a/newadmin/admin/pom.xml +++ b/newadmin/admin/pom.xml @@ -34,6 +34,11 @@ oss-service 1.0.0 + + com.chaozhanggui.system + aliPay-service-api + 1.0.0 + io.jsonwebtoken jjwt diff --git a/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/Shell.java b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/Shell.java index 47c1acc..d3d9f8f 100644 --- a/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/Shell.java +++ b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/Shell.java @@ -4,6 +4,8 @@ import com.chaozhanggui.common.system.CommonConfig; import com.chaozhanggui.common.system.util.ExceptionUtil; import com.chaozhanggui.common.system.util.SpringContextHolder; import com.chaozhanggui.dao.system.DaoConfig; +import com.chaozhanggui.system.AliPayServiceConfig; +import com.chaozhanggui.system.config.AliPayConfig; import com.dianguang.cloud.ossservice.OssServiceConfig; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; @@ -27,9 +29,9 @@ import org.springframework.web.client.RestTemplate; */ @SpringBootApplication @EnableScheduling -@EntityScan(basePackageClasses = {Shell.class, DaoConfig.class, OssServiceConfig.class, CommonConfig.class}) -@MapperScan(basePackageClasses ={Shell.class,DaoConfig.class, OssServiceConfig.class, CommonConfig.class} ) -@ComponentScan(basePackageClasses ={ Shell.class, DaoConfig.class, OssServiceConfig.class, CommonConfig.class}) +@EntityScan(basePackageClasses = {Shell.class, DaoConfig.class, OssServiceConfig.class, CommonConfig.class, AliPayServiceConfig.class}) +@MapperScan(basePackageClasses ={Shell.class,DaoConfig.class, OssServiceConfig.class, CommonConfig.class, AliPayServiceConfig.class} ) +@ComponentScan(basePackageClasses ={ Shell.class, DaoConfig.class, OssServiceConfig.class, CommonConfig.class, AliPayServiceConfig.class}) @Slf4j public class Shell { diff --git a/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/AppMenuController.java b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/AppMenuController.java index 9d7a130..032b865 100644 --- a/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/AppMenuController.java +++ b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/AppMenuController.java @@ -6,13 +6,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chaozhanggui.admin.system.service.AppMenuService; import com.chaozhanggui.common.system.config.RespBody; import com.chaozhanggui.dao.system.entity.TbPlussAppMenu; +import com.chaozhanggui.system.service.AliPayService; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import static com.chaozhanggui.common.system.util.AlipayTransfer.testAlipayTransfer; /** * app菜单相关 @@ -49,9 +49,17 @@ public class AppMenuController { return appMenuService.saveAppMenu(entity); } + + @Resource + private AliPayService aliPayService; @PostMapping("/AlipayTransferTest") public RespBody AlipayTransferTest() throws Exception{ - String s = testAlipayTransfer(); + Long l = System.currentTimeMillis(); + String amount = "0.20"; + String accountNo = "15619297581"; + String accountName = "刘一帆"; + String remake = "11111111111111"; + String s = aliPayService.alipayTransfer(amount, accountNo, accountName,remake, l.toString()); return new RespBody(s); } diff --git a/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/DictController.java b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/DictController.java new file mode 100644 index 0000000..5d7685c --- /dev/null +++ b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/DictController.java @@ -0,0 +1,29 @@ +package com.chaozhanggui.admin.system.controller; + + +import com.chaozhanggui.admin.system.service.DictService; +import com.chaozhanggui.common.system.config.RespBody; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 字典类 + * @author lyf + */ +@CrossOrigin(origins = "*") +@RestController +@RequestMapping("/dict") +@Slf4j +public class DictController { + @Resource + private DictService dictService; + + @GetMapping("/getGroup/{code}") + @ResponseBody + public RespBody getGroupByCode(@PathVariable(name = "code") String code){ + return dictService.getGroupByCode(code); + } +} diff --git a/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/MerchantInfoController.java b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/MerchantInfoController.java new file mode 100644 index 0000000..d9aaa7c --- /dev/null +++ b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/controller/MerchantInfoController.java @@ -0,0 +1,53 @@ +package com.chaozhanggui.admin.system.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.chaozhanggui.admin.system.service.MerchantInfoService; +import com.chaozhanggui.common.system.config.RespBody; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * @author lyf + */ +@CrossOrigin(origins = "*") +@RestController +@RequestMapping("/merchantInfo") +@Slf4j +public class MerchantInfoController { + + @Resource + private MerchantInfoService merchantInfoService; + + + /** + * 实名认证信息 + * @param userId + * @return + */ + @GetMapping("/detail/audit/{userId}") + public RespBody auditInfo(@PathVariable("userId") Integer userId) { + return merchantInfoService.merchantReal(userId); + } + + /** + * 商户基本信息 + * @param userId + * @return + */ + @GetMapping("/detail/merchBaseInfo/{userId}") + public RespBody merchBaseInfo(@PathVariable("userId") Integer userId){ + return merchantInfoService.merchantBaseInfo(userId); + } + /** + * 结算信息 + * @param userId + * @return + */ + @GetMapping("/detail/merchBaseAccount/{userId}") + public RespBody merchBaseAccount(@PathVariable("userId") Integer userId){ + return merchantInfoService.merchantBaseInfo(userId); + } + +} diff --git a/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/DictService.java b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/DictService.java new file mode 100644 index 0000000..9c3ba2a --- /dev/null +++ b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/DictService.java @@ -0,0 +1,29 @@ +package com.chaozhanggui.admin.system.service; + +import com.chaozhanggui.common.system.config.RespBody; +import com.chaozhanggui.dao.system.dao.TbPlussDictMapper; +import com.chaozhanggui.dao.system.entity.TbPlussDict; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author lyf + */ +@Service +@Slf4j +public class DictService { + @Resource + private TbPlussDictMapper dictMapper; + public RespBody getGroupByCode(String code){ + TbPlussDict dict = dictMapper.selectByCode(code); + if (dict == null){ + log.error("对应字典项不匹配"); + return new RespBody("000070"); + } + List dictsList = dictMapper.selectByPId(dict.getId()); + return new RespBody("000000",dictsList); + } +} diff --git a/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/MerchantInfoService.java b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/MerchantInfoService.java new file mode 100644 index 0000000..0045ab3 --- /dev/null +++ b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/MerchantInfoService.java @@ -0,0 +1,64 @@ +package com.chaozhanggui.admin.system.service; + +import com.chaozhanggui.common.system.config.RespBody; +import com.chaozhanggui.dao.system.dao.TbPlussBankCardMapper; +import com.chaozhanggui.dao.system.dao.TbPlussIdCardMapper; +import com.chaozhanggui.dao.system.dao.TbPlussMerchantBaseInfoMapper; +import com.chaozhanggui.dao.system.dao.TbPlussMerchantImageMapper; +import com.chaozhanggui.dao.system.entity.TbPlussBankCard; +import com.chaozhanggui.dao.system.entity.TbPlussIdCard; +import com.chaozhanggui.dao.system.entity.TbPlussMerchantBaseInfo; +import com.chaozhanggui.dao.system.entity.TbPlussMerchantImage; +import com.chaozhanggui.dao.system.entity.VO.MerchantBaseVO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; + +import static com.chaozhanggui.dao.system.entity.TbPlussBankCard.ACCOUNT_TYPE_CERT; +import static com.chaozhanggui.dao.system.entity.TbPlussIdCard.TYPE_CERT; + +/** + * @author lyf + */ +@Service +public class MerchantInfoService { + @Resource + private TbPlussIdCardMapper idCardMapper; + @Resource + private TbPlussBankCardMapper bankCardMapper; + @Resource + private TbPlussMerchantBaseInfoMapper merchantBaseInfoMapper; + @Resource + private TbPlussMerchantImageMapper merchantImageMapper; + + public RespBody merchantReal(Integer userId){ + HashMap map = new HashMap<>(); + //身份证 + TbPlussIdCard idCard = idCardMapper.selectCertByUserId(userId,TYPE_CERT); + //银行卡 + TbPlussBankCard bankCard = bankCardMapper.selectByUserIdCert(userId, ACCOUNT_TYPE_CERT); + map.put("idCard",idCard); + map.put("bankCard",bankCard); + return new RespBody("000000",map); + } + + public RespBody merchantBaseInfo(Integer userId){ + MerchantBaseVO merchantBaseVO = new MerchantBaseVO(); + //商户基础信息相关 + TbPlussMerchantBaseInfo merchantBaseInfo = merchantBaseInfoMapper.selectByUserId(userId.toString()); + if (merchantBaseInfo == null){ + return new RespBody("000000",merchantBaseVO); + } + merchantBaseVO.setMerchantBaseInfo(merchantBaseInfo); + //图片 + List merchantImages = merchantImageMapper.selectByMerchantCode(merchantBaseInfo.getMerchantcode()); + if (merchantImages == null){ + return new RespBody("000000",merchantBaseVO); + } + merchantBaseVO.setMerchantImagesList(merchantImages); + + return new RespBody("000000",merchantBaseVO); + } +} diff --git a/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/Userservice.java b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/Userservice.java index 147fe64..6d93efe 100644 --- a/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/Userservice.java +++ b/newadmin/admin/src/main/java/com/chaozhanggui/admin/system/service/Userservice.java @@ -5,6 +5,7 @@ import cn.hutool.crypto.digest.MD5; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; +import com.alipay.api.AlipayApiException; import com.chaozhanggui.admin.system.util.RedisCst; import com.chaozhanggui.admin.system.util.RedisUtil; import com.chaozhanggui.admin.system.util.StringUtil; @@ -13,12 +14,14 @@ import com.chaozhanggui.common.system.config.RespBody; import com.chaozhanggui.dao.system.dao.*; import com.chaozhanggui.dao.system.entity.*; import com.chaozhanggui.dao.system.model.CashStatus; +import com.chaozhanggui.system.service.AliPayService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -46,6 +49,8 @@ public class Userservice { @Autowired TbPlussMerchantBaseInfoMapper baseInfoMapper; + @Resource + AliPayService aliPayService; public RespBody doLogin(String loginName,String password,String userType,String ip) throws Exception { Boolean flag=false; @@ -317,7 +322,7 @@ public class Userservice { - public RespBody modifyOutFlow(Integer id,String userId,String status) throws Exception{ + public RespBody modifyOutFlow(Integer id,String userId,String status) throws Exception{ if(ObjectUtil.isEmpty(id)||ObjectUtil.isEmpty(userId)||ObjectUtil.isEmpty(status)){ log.error("参数错误"); return new RespBody("000019"); @@ -435,6 +440,15 @@ public class Userservice { cashStatusList.stream().filter(it->{ if(it.getUserId().toString().equals(userId)) it.setStatus("2"); + if(it.getUserType().equals("MG")){ + //支付宝打款 + try { + aliPayService.alipayTransfer(cash.getVirrealcashamt().toString(),cash.getAccountno(),cash.getAccountname(),"",cash.getCashnumber()); + } catch (AlipayApiException e) { + e.printStackTrace(); + return false; + } + } return true; }).collect(Collectors.toList()); cash.setStatus(2); diff --git a/newadmin/admin/src/main/resources/application.yml b/newadmin/admin/src/main/resources/application.yml index d3294f6..728424a 100644 --- a/newadmin/admin/src/main/resources/application.yml +++ b/newadmin/admin/src/main/resources/application.yml @@ -25,4 +25,11 @@ cloudstorage: qcloudRegion: qcloudAppId: +alipay-config: + privateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCgreXshrn3IRi7qK9Y3IXN90JRJrZzkLUkjJ42zvCPjUHlVEJ42ZsWxBUwyqXhVGs1kl8+aDEmLfDY5IimjjDWJ6MH0N1+FvHPBINenwiM0qACYioBk3eIzWbtLafokQxDY0cXQ5GZBwNz6CefAt4T6JZNFSaUw05LPDigbsIfr2jYy5uhncAd4EHkY7tpdONQ+UyqU0rOF8fZomljem/YrLukj2nUFlK040n2kvAws3xItZbH5mwpqKs07shav+xkP4LH1KmXe5nSqc6K+KQ6Y0ZRCNjvH1S0ZqdIHmoFaWxHiDAyuXmuUEdTBU/czPIH7PrfVypOaVLEmSGn7bbfAgMBAAECggEAcC3Yt5C8JvBhbyru+PBFLq4xC60mdnqSLSlLkGJcCy0I045HNk5ee798N+tTcoTYsLc3bb+aiNhMLXEogngFWo6jwOIusUhdnDW/bgFEG+U1N1THlQAa1VTqRi646qLR1/5o9LIE5bzCyVpMxzReTbH1tW1N2VCdyeMKed+6Ahn+KrefQr0IWziSWI8lQDsm/eWbrsAl3zv5srSGUfF3mJNPzsXIiviDsIefkJjBv+A/4dlg+RJMv8fBWkRPo9xv0nVwT92tEwTCKw6VwxSWzPMMjMlUbP/h26yd2EeAfsGcLzmZXG5NCNZEl+sAoQfBkSFyWM+t+RPFFZuCsbFnAQKBgQDYEE/a16Q4jx5nErxfvNklx3mWnFST6bGaA/S0QQ3gyuB+9wZnjAvrE59Y7gIR4BMcGYjBpge2OAupUmNONAQBKsF7DadgXwIV+Ih3gR1OX69sTU+i3V98gcwyG+5q5fQ+NUMQu+8goYJY4lcXrZ8+HkyikWiK5SCAFYtvCjLlgQKBgQC+YOjeAn0EeeZAtYZcGOz2RTJ3/LUTLgqmiatDLCv49jRB5zSPwiVefMi9HbaX+2c2eQ5NMXkSmMoi0ptETcxMF3kf6D8PzPekeNhwHJTScO35t4JC6HZIM4HQeQFQIbZBhUP+ujfFyGXmngZazlrHS1wqv5P054x0Y40PnYiMXwKBgQDR98gim7zzWeHpuMNnJla/6AG442Mt+sSlL4L2SOH7uixANj77EZXjdMY93c4VIPRxMj88MOT9p6lteqsWrGXX3Hz54GLvvGSChWvY9phMOaB4Vwk09Hx+uoR9jbc8GwwoCAqMkJXp2Aqb5hlM4WUHMNq4gSZfFBtpXYaK+hZMAQKBgBt1xQEI4Nl9b73TsR6lpcBb+Myf0cqDcJvW7bIRtAIEGUOMQuOdgGBhpV7J42WGqLuNuIdf5HPPQBDHygePJTGwjRMSH856pRm/KJD7PmggS+MiGhLmjvEZJNdaLNtPEYff3g/m8lZ/8lrSXl5It4VZlGDCI2hG4daD6XvgICsHAoGBAIjPTzKO2Eya07CbxhT9iONVqPFyJc2c+6ZChyPcL/b5BM0hpzEeAEX9JcQp82qGuxTlvEezXFcMK9uZNVcVlZwsARzuvz1HyHNOUj4ngV3YgYV30YPpaskr/GAZtc6Z780N1DcgVDmCqgZ37+fRo/W3dqwinrbswP3PQnFEmmFL + alipayAppId: 2021003175618263 + appCertPublicKeyPath: /home/www/service/key/appCertPublicKey_2021003175618263.crt + alipayCertPublicKeyPath: /home/www/service/key/alipayCertPublicKey_RSA2.crt + alipayRootCertPath: /home/www/service/key/alipayRootCert.crt + diff --git a/newadmin/aliPay-service-api/pom.xml b/newadmin/aliPay-service-api/pom.xml new file mode 100644 index 0000000..a0056ce --- /dev/null +++ b/newadmin/aliPay-service-api/pom.xml @@ -0,0 +1,38 @@ + + + 4.0.0 + + com.chaozhanggui.system + ysk-system + 1.0.0 + + + aliPay-service-api + + + com.alipay.sdk + alipay-sdk-java + 4.38.37.ALL + compile + + + commons-lang + commons-lang + 2.5 + + + org.apache.commons + commons-lang3 + 3.8 + + + + 8 + 8 + UTF-8 + + + + \ No newline at end of file diff --git a/newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/AliPayServiceConfig.java b/newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/AliPayServiceConfig.java new file mode 100644 index 0000000..b0ea1e2 --- /dev/null +++ b/newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/AliPayServiceConfig.java @@ -0,0 +1,11 @@ +package com.chaozhanggui.system; + +import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@EntityScan(basePackageClasses = AliPayServiceConfig.class) +@ComponentScan(basePackageClasses = AliPayServiceConfig.class) +public class AliPayServiceConfig { +} diff --git a/newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/config/AliPayConfig.java b/newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/config/AliPayConfig.java new file mode 100644 index 0000000..2ff1c4c --- /dev/null +++ b/newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/config/AliPayConfig.java @@ -0,0 +1,36 @@ +package com.chaozhanggui.system.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import java.io.Serializable; + +/** + * @author lyf + */ +@Configuration +@ConfigurationProperties(prefix = "alipay-config") +@Data +public class AliPayConfig implements Serializable { + /** + * 应用私钥 + */ + private String privateKey; + /** + * 支付宝AppID + */ + private String alipayAppId; + /** + * app公钥证书路径 + */ + private String appCertPublicKeyPath; + /** + * 阿里公钥证书路径 + */ + private String alipayCertPublicKeyPath; + /** + * 阿里根证书路径 + */ + private String alipayRootCertPath; +} diff --git a/newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/service/AliPayService.java b/newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/service/AliPayService.java new file mode 100644 index 0000000..3e89f43 --- /dev/null +++ b/newadmin/aliPay-service-api/src/main/java/com/chaozhanggui/system/service/AliPayService.java @@ -0,0 +1,70 @@ +package com.chaozhanggui.system.service; + +import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; +import com.alipay.api.CertAlipayRequest; +import com.alipay.api.DefaultAlipayClient; +import com.alipay.api.domain.AlipayFundTransUniTransferModel; +import com.alipay.api.domain.Participant; +import com.alipay.api.request.AlipayFundTransUniTransferRequest; +import com.alipay.api.response.AlipayFundTransUniTransferResponse; +import com.chaozhanggui.system.config.AliPayConfig; +import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @author lyf + */ +@Service +public class AliPayService { + @Resource + AliPayConfig aliPayConfig; + public String alipayTransfer(String amount, String accountNo, String accountName,String remake, + String cashNumber) throws AlipayApiException { + CertAlipayRequest alipayConfig = new CertAlipayRequest(); + alipayConfig.setPrivateKey(aliPayConfig.getPrivateKey()); + alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do"); + alipayConfig.setAppId(aliPayConfig.getAlipayAppId()); + alipayConfig.setCharset("UTF8"); + alipayConfig.setSignType("RSA2"); + alipayConfig.setEncryptor(""); + alipayConfig.setFormat("json"); + alipayConfig.setCertPath(aliPayConfig.getAppCertPublicKeyPath()); + alipayConfig.setAlipayPublicCertPath(aliPayConfig.getAlipayCertPublicKeyPath()); + alipayConfig.setRootCertPath(aliPayConfig.getAlipayRootCertPath()); + AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig); + AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest(); + AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel(); + //商家侧唯一订单号 + model.setOutBizNo(cashNumber); + model.setRemark(remake); + model.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}"); + model.setBizScene("DIRECT_TRANSFER"); + //收款方信息 + Participant payeeInfo = new Participant(); + //登录号 + payeeInfo.setIdentity(accountNo); + payeeInfo.setIdentityType("ALIPAY_LOGON_ID"); + //实名 + payeeInfo.setName(accountName); + model.setPayeeInfo(payeeInfo); + //打款金额 + model.setTransAmount(amount); + model.setProductCode("TRANS_ACCOUNT_NO_PWD"); + model.setOrderTitle(""); + request.setBizModel(model); + AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request); + if (response.isSuccess()) { + System.out.println("调用成功"); + return response.getSubMsg(); + } else { + System.out.println("调用失败"); + return response.getSubMsg(); + } + } + +} diff --git a/newadmin/common-api/src/main/java/com/chaozhanggui/common/system/util/AlipayTransfer.java b/newadmin/common-api/src/main/java/com/chaozhanggui/common/system/util/AlipayTransfer.java deleted file mode 100644 index 3d11110..0000000 --- a/newadmin/common-api/src/main/java/com/chaozhanggui/common/system/util/AlipayTransfer.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.chaozhanggui.common.system.util; - -import com.alipay.api.AlipayApiException; -import com.alipay.api.AlipayClient; -import com.alipay.api.CertAlipayRequest; -import com.alipay.api.DefaultAlipayClient; -import com.alipay.api.domain.AlipayFundTransUniTransferModel; -import com.alipay.api.domain.Participant; -import com.alipay.api.request.AlipayFundTransUniTransferRequest; -import com.alipay.api.response.AlipayFundTransUniTransferResponse; - -/** - * 支付宝单笔转账 - * @author lyf - */ -public class AlipayTransfer { - - public static String testAlipayTransfer() throws AlipayApiException { - String privateKey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCgreXshrn3IRi7qK9Y3IXN90JRJrZzkLUkjJ42zvCPjUHlVEJ42ZsWxBUwyqXhVGs1kl8+aDEmLfDY5IimjjDWJ6MH0N1+FvHPBINenwiM0qACYioBk3eIzWbtLafokQxDY0cXQ5GZBwNz6CefAt4T6JZNFSaUw05LPDigbsIfr2jYy5uhncAd4EHkY7tpdONQ+UyqU0rOF8fZomljem/YrLukj2nUFlK040n2kvAws3xItZbH5mwpqKs07shav+xkP4LH1KmXe5nSqc6K+KQ6Y0ZRCNjvH1S0ZqdIHmoFaWxHiDAyuXmuUEdTBU/czPIH7PrfVypOaVLEmSGn7bbfAgMBAAECggEAcC3Yt5C8JvBhbyru+PBFLq4xC60mdnqSLSlLkGJcCy0I045HNk5ee798N+tTcoTYsLc3bb+aiNhMLXEogngFWo6jwOIusUhdnDW/bgFEG+U1N1THlQAa1VTqRi646qLR1/5o9LIE5bzCyVpMxzReTbH1tW1N2VCdyeMKed+6Ahn+KrefQr0IWziSWI8lQDsm/eWbrsAl3zv5srSGUfF3mJNPzsXIiviDsIefkJjBv+A/4dlg+RJMv8fBWkRPo9xv0nVwT92tEwTCKw6VwxSWzPMMjMlUbP/h26yd2EeAfsGcLzmZXG5NCNZEl+sAoQfBkSFyWM+t+RPFFZuCsbFnAQKBgQDYEE/a16Q4jx5nErxfvNklx3mWnFST6bGaA/S0QQ3gyuB+9wZnjAvrE59Y7gIR4BMcGYjBpge2OAupUmNONAQBKsF7DadgXwIV+Ih3gR1OX69sTU+i3V98gcwyG+5q5fQ+NUMQu+8goYJY4lcXrZ8+HkyikWiK5SCAFYtvCjLlgQKBgQC+YOjeAn0EeeZAtYZcGOz2RTJ3/LUTLgqmiatDLCv49jRB5zSPwiVefMi9HbaX+2c2eQ5NMXkSmMoi0ptETcxMF3kf6D8PzPekeNhwHJTScO35t4JC6HZIM4HQeQFQIbZBhUP+ujfFyGXmngZazlrHS1wqv5P054x0Y40PnYiMXwKBgQDR98gim7zzWeHpuMNnJla/6AG442Mt+sSlL4L2SOH7uixANj77EZXjdMY93c4VIPRxMj88MOT9p6lteqsWrGXX3Hz54GLvvGSChWvY9phMOaB4Vwk09Hx+uoR9jbc8GwwoCAqMkJXp2Aqb5hlM4WUHMNq4gSZfFBtpXYaK+hZMAQKBgBt1xQEI4Nl9b73TsR6lpcBb+Myf0cqDcJvW7bIRtAIEGUOMQuOdgGBhpV7J42WGqLuNuIdf5HPPQBDHygePJTGwjRMSH856pRm/KJD7PmggS+MiGhLmjvEZJNdaLNtPEYff3g/m8lZ/8lrSXl5It4VZlGDCI2hG4daD6XvgICsHAoGBAIjPTzKO2Eya07CbxhT9iONVqPFyJc2c+6ZChyPcL/b5BM0hpzEeAEX9JcQp82qGuxTlvEezXFcMK9uZNVcVlZwsARzuvz1HyHNOUj4ngV3YgYV30YPpaskr/GAZtc6Z780N1DcgVDmCqgZ37+fRo/W3dqwinrbswP3PQnFEmmFL"; - CertAlipayRequest alipayConfig = new CertAlipayRequest(); - alipayConfig.setPrivateKey(privateKey); - alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do"); - alipayConfig.setAppId("2021003175618263"); - alipayConfig.setCharset("UTF8"); - alipayConfig.setSignType("RSA2"); - alipayConfig.setEncryptor(""); - alipayConfig.setFormat("json"); - alipayConfig.setCertPath("/home/www/service/admin/appCertPublicKey_2021003175618263.crt"); - alipayConfig.setAlipayPublicCertPath("/home/www/service/admin/alipayCertPublicKey_RSA2.crt"); - alipayConfig.setRootCertPath("/home/www/service/admin/alipayRootCert.crt"); - AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig); - AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest(); - AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel(); - //商家侧唯一订单号 - model.setOutBizNo("1690966827"); - model.setRemark("测试测测测"); - model.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}"); - model.setBizScene("DIRECT_TRANSFER"); - //收款方信息 - Participant payeeInfo = new Participant(); - payeeInfo.setIdentity("15619297581"); - payeeInfo.setIdentityType("ALIPAY_LOGON_ID"); - payeeInfo.setName("刘一帆"); - model.setPayeeInfo(payeeInfo); - model.setTransAmount("0.20"); - model.setProductCode("TRANS_ACCOUNT_NO_PWD"); - model.setOrderTitle("测试测测测"); - request.setBizModel(model); - AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request); - System.out.println(response.getBody()); - if (response.isSuccess()) { - System.out.println("调用成功"); - return response.getBody(); - } else { - System.out.println("调用失败"); - return response.getBody(); - // sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接 - // String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response); - // System.out.println(diagnosisUrl); - } - } -} diff --git a/newadmin/common-api/src/main/java/com/chaozhanggui/common/system/util/ExceptionUtil.java b/newadmin/common-api/src/main/java/com/chaozhanggui/common/system/util/ExceptionUtil.java index 395f893..04f9b18 100644 --- a/newadmin/common-api/src/main/java/com/chaozhanggui/common/system/util/ExceptionUtil.java +++ b/newadmin/common-api/src/main/java/com/chaozhanggui/common/system/util/ExceptionUtil.java @@ -73,7 +73,7 @@ public class ExceptionUtil { map.put("000051","修改错误"); map.put("000052","增加错误"); - + map.put("000070","对应字典项不匹配"); diff --git a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussBankCardMapper.java b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussBankCardMapper.java index e359b20..053c285 100644 --- a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussBankCardMapper.java +++ b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussBankCardMapper.java @@ -3,6 +3,7 @@ package com.chaozhanggui.dao.system.dao; import com.chaozhanggui.dao.system.entity.TbPlussBankCard; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; @Component @@ -15,6 +16,7 @@ public interface TbPlussBankCardMapper { int insertSelective(TbPlussBankCard record); TbPlussBankCard selectByPrimaryKey(Integer id); + TbPlussBankCard selectByUserIdCert(@Param("userId") Integer userId,@Param("type") String type); int updateByPrimaryKeySelective(TbPlussBankCard record); diff --git a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussDictMapper.java b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussDictMapper.java index f6b39fd..bc94ace 100644 --- a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussDictMapper.java +++ b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussDictMapper.java @@ -3,8 +3,11 @@ package com.chaozhanggui.dao.system.dao; import com.chaozhanggui.dao.system.entity.TbPlussDict; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; +import java.util.List; + @Component @Mapper public interface TbPlussDictMapper { @@ -15,6 +18,9 @@ public interface TbPlussDictMapper { int insertSelective(TbPlussDict record); TbPlussDict selectByPrimaryKey(Integer id); + TbPlussDict selectByCode(@Param("code") String code); + + List selectByPId(@Param("id")Integer id); int updateByPrimaryKeySelective(TbPlussDict record); diff --git a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussIdCardMapper.java b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussIdCardMapper.java index 4b13622..9f6fd6f 100644 --- a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussIdCardMapper.java +++ b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussIdCardMapper.java @@ -15,6 +15,7 @@ public interface TbPlussIdCardMapper { int insertSelective(TbPlussIdCard record); TbPlussIdCard selectByPrimaryKey(Integer id); + TbPlussIdCard selectCertByUserId(Integer userId, String type); int updateByPrimaryKeySelective(TbPlussIdCard record); diff --git a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussMerchantImageMapper.java b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussMerchantImageMapper.java index 0979905..8af788c 100644 --- a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussMerchantImageMapper.java +++ b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/dao/TbPlussMerchantImageMapper.java @@ -5,6 +5,8 @@ import com.chaozhanggui.dao.system.entity.TbPlussMerchantImage; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Component; +import java.util.List; + @Component @Mapper public interface TbPlussMerchantImageMapper { @@ -15,6 +17,7 @@ public interface TbPlussMerchantImageMapper { int insertSelective(TbPlussMerchantImage record); TbPlussMerchantImage selectByPrimaryKey(Integer id); + List selectByMerchantCode(String merchantCode); int updateByPrimaryKeySelective(TbPlussMerchantImage record); diff --git a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussBankCard.java b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussBankCard.java index 8803e43..53455a9 100644 --- a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussBankCard.java +++ b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussBankCard.java @@ -4,6 +4,20 @@ import java.io.Serializable; import java.util.Date; public class TbPlussBankCard implements Serializable { + /** + * 对私账户 + */ + public static final String ACCOUNT_TYPE_PRIVATE = "01"; + + /** + * 对公账户 + */ + public static final String ACCOUNT_TYPE_CORPORATE = "02"; + + /** + * 实名认证 + */ + public static final String ACCOUNT_TYPE_CERT = "03"; private Integer id; private String userid; diff --git a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussIdCard.java b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussIdCard.java index 2e5664b..6007f3f 100644 --- a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussIdCard.java +++ b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussIdCard.java @@ -4,6 +4,15 @@ import java.io.Serializable; import java.util.Date; public class TbPlussIdCard implements Serializable { + + /** 实名人 */ + public static final String TYPE_CERT = "01"; + + /** 结算人 */ + public static final String TYPE_ACCOUNT = "02"; + + /** 法人 */ + public static final String TYPE_LEGAL = "03"; private Integer id; private Integer userid; diff --git a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussMerchantImage.java b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussMerchantImage.java index 4345d1a..24d8288 100644 --- a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussMerchantImage.java +++ b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/TbPlussMerchantImage.java @@ -4,6 +4,97 @@ import java.io.Serializable; import java.util.Date; public class TbPlussMerchantImage implements Serializable { + + /** + * 商户负责人与收银台合照 + */ + public static final String CASH_DESK_WITH_PERSON = "999"; + + /** + * 身份证正面 + */ + public static final String IDCARD_FRONT = "01"; + /** + * 身份证反面 + */ + public static final String IDCARD_BACK = "02"; + /** + * 营业执照 + */ + public static final String BUSINESS_LICENSE = "03"; + /** + * 组织机构代码证 + */ + public static final String ORGANIZATION_CARD = "04"; + /** + * 开户许可证 + */ + public static final String ACCOUNT_PERMITS = "05"; + /** + * 门头照 + */ + public static final String SHOP_FRONT_DOOR = "06"; + /** + * 非法人结算授权书 + */ + public static final String NON_LEG_SETTLE_AUTH = "07"; + /** + * 法人/非法人手持结算授权书 + */ + public static final String HAND_NON_LEG_SETTLE_AUTH = "B004"; + /** + * 其他 + */ + public static final String OTHER = "08"; + /** + * 收银台照片 + */ + public static final String CASH_DESK_PHOTO = "08"; + /** + * 门店内景照片 + */ + public static final String STORE_INTERIOR_PHOTO = "09"; + /** + * 各大餐饮平台入驻 + */ + public static final String MERCHANT_PLATFORM = "10"; + /** + * 手持身份证 + */ + public static final String HAND_IDCARD_PHOTO = "11"; + /** + * 租赁合同 + */ + public static final String TENANCY_AGREEMENTS = "12"; + /** + * 变更申请表 + */ + public static final String CHANGE_FORM = "13"; + /** + * 结算人身份证正面 + */ + public static final String SETTLE_IDCARD_FRONT = "96"; + /** + * 结算人身份证反面 + */ + public static final String SETTLE_IDCARD_BACK = "97"; + /** + * 银行卡正面 + */ + public static final String BANK_CARD_FRONT = "98"; + /** + * 银行卡反面 + */ + public static final String BANK_CARD_BACK = "99"; + + /** + * 商户协议 + */ + public static final String MERCHANT_PROTOCOL = "101"; + /** + * 商户附属协议 + */ + public static final String MERCHANT_SUB_PROTOCOL = "102"; private Integer id; private String merchantcode; diff --git a/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/VO/MerchantBaseVO.java b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/VO/MerchantBaseVO.java new file mode 100644 index 0000000..7bfd1f9 --- /dev/null +++ b/newadmin/dao-api/src/main/java/com/chaozhanggui/dao/system/entity/VO/MerchantBaseVO.java @@ -0,0 +1,23 @@ +package com.chaozhanggui.dao.system.entity.VO; + +import com.chaozhanggui.dao.system.entity.TbPlussMerchantBaseInfo; +import com.chaozhanggui.dao.system.entity.TbPlussMerchantImage; +import lombok.Data; + +import java.util.List; + +/** + * @author lyf + */ +@Data +public class MerchantBaseVO { + /** + * 商户基本信息 + */ + private TbPlussMerchantBaseInfo merchantBaseInfo; + /** + * 图片 + */ + private List merchantImagesList; + +} diff --git a/newadmin/dao-api/src/main/resources/mapper/TbPlussBankCardMapper.xml b/newadmin/dao-api/src/main/resources/mapper/TbPlussBankCardMapper.xml index 4076658..4c0ad61 100644 --- a/newadmin/dao-api/src/main/resources/mapper/TbPlussBankCardMapper.xml +++ b/newadmin/dao-api/src/main/resources/mapper/TbPlussBankCardMapper.xml @@ -31,7 +31,14 @@ from tb_pluss_bank_card where id = #{id,jdbcType=INTEGER} - + + delete from tb_pluss_bank_card where id = #{id,jdbcType=INTEGER} diff --git a/newadmin/dao-api/src/main/resources/mapper/TbPlussDictMapper.xml b/newadmin/dao-api/src/main/resources/mapper/TbPlussDictMapper.xml index e1f9b7c..5047b9a 100644 --- a/newadmin/dao-api/src/main/resources/mapper/TbPlussDictMapper.xml +++ b/newadmin/dao-api/src/main/resources/mapper/TbPlussDictMapper.xml @@ -20,6 +20,20 @@ from tb_pluss_dict where id = #{id,jdbcType=INTEGER} + + + delete from tb_pluss_dict diff --git a/newadmin/dao-api/src/main/resources/mapper/TbPlussIdCardMapper.xml b/newadmin/dao-api/src/main/resources/mapper/TbPlussIdCardMapper.xml index c134aa3..5df42a9 100644 --- a/newadmin/dao-api/src/main/resources/mapper/TbPlussIdCardMapper.xml +++ b/newadmin/dao-api/src/main/resources/mapper/TbPlussIdCardMapper.xml @@ -27,6 +27,13 @@ from tb_pluss_id_card where id = #{id,jdbcType=INTEGER} + delete from tb_pluss_id_card where id = #{id,jdbcType=INTEGER} diff --git a/newadmin/dao-api/src/main/resources/mapper/TbPlussMerchantImageMapper.xml b/newadmin/dao-api/src/main/resources/mapper/TbPlussMerchantImageMapper.xml index 238319f..41dc133 100644 --- a/newadmin/dao-api/src/main/resources/mapper/TbPlussMerchantImageMapper.xml +++ b/newadmin/dao-api/src/main/resources/mapper/TbPlussMerchantImageMapper.xml @@ -20,7 +20,14 @@ from tb_pluss_merchant_image where id = #{id,jdbcType=INTEGER} - + + delete from tb_pluss_merchant_image where id = #{id,jdbcType=INTEGER} diff --git a/newadmin/pom.xml b/newadmin/pom.xml index 5bdba31..8683967 100644 --- a/newadmin/pom.xml +++ b/newadmin/pom.xml @@ -21,7 +21,7 @@ merchant-service-api lkl-service-api - + aliPay-service-api