dao/src/main/java/com/sandu/ximon/dao/domain/AliConfigEntity.java
ÎļþÃû´Ó dao/src/main/java/com/sandu/ximon/dao/domain/AlipayConfigEntity.java ÐÞ¸Ä @@ -13,7 +13,7 @@ */ @TableName(value ="alipay_config") @Data public class AlipayConfigEntity implements Serializable { public class AliConfigEntity implements Serializable { /** * ç´¢å¼id */ dao/src/main/java/com/sandu/ximon/dao/domain/WxConfigEntity.java
@@ -1,21 +1,22 @@ package com.sandu.ximon.dao.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import lombok.Data; import java.io.Serializable; /** * * @TableName wx_config */ @TableName(value ="wx_config") @TableName(value = "wx_config") @Data public class WxConfigEntity implements Serializable { /** * * */ @TableId(type = IdType.AUTO) private Long configId; @@ -31,22 +32,22 @@ private String appappid; /** * * */ private String mchId; /** * * */ private String privateKey; /** * * */ private Long clientId; /** * * */ private Long createUserId; dao/src/main/java/com/sandu/ximon/dao/mapper/UsrAlipayConfigMapper.java
@@ -1,6 +1,6 @@ package com.sandu.ximon.dao.mapper; import com.sandu.ximon.dao.domain.AlipayConfigEntity; import com.sandu.ximon.dao.domain.AliConfigEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -8,7 +8,7 @@ * @Entity com.sandu.ximon.dao.domain.UsrAlipayConfig */ @Mapper public interface UsrAlipayConfigMapper extends BaseMapper<AlipayConfigEntity> { public interface UsrAlipayConfigMapper extends BaseMapper<AliConfigEntity> { } dao/src/main/java/com/sandu/ximon/dao/mapper/UsrWxPayConfigMapper.java
ÎļþÃû´Ó dao/src/main/java/com/sandu/ximon/dao/mapper/UsrWxConfigMapper.java ÐÞ¸Ä @@ -1,14 +1,14 @@ package com.sandu.ximon.dao.mapper; import com.sandu.ximon.dao.domain.WxConfigEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.sandu.ximon.dao.domain.WxConfigEntity; import org.apache.ibatis.annotations.Mapper; /** * @Entity com.sandu.ximon.dao.domain.WxConfigEntity */ @Mapper public interface UsrWxConfigMapper extends BaseMapper<WxConfigEntity> { public interface UsrWxPayConfigMapper extends BaseMapper<WxConfigEntity> { } dao/src/main/resources/mapper/UsrAlipayConfigMapper.xml
@@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.sandu.ximon.dao.mapper.UsrAlipayConfigMapper"> <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.AlipayConfigEntity"> <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.AliConfigEntity"> <id property="configId" column="config_id" jdbcType="INTEGER"/> <result property="appId" column="app_id" jdbcType="VARCHAR"/> <result property="privateKey" column="private_key" jdbcType="VARCHAR"/> dao/src/main/resources/mapper/UsrWxPayConfigMapper.xml
ÎļþÃû´Ó dao/src/main/resources/mapper/UsrWxConfigMapper.xml ÐÞ¸Ä @@ -2,9 +2,9 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.sandu.ximon.dao.mapper.UsrWxConfigMapper"> <mapper namespace="com.sandu.ximon.dao.mapper.UsrWxPayConfigMapper"> <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.WxConfigEntity"> <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.AliConfigEntity"> <id property="configId" column="config_id" jdbcType="BIGINT"/> <result property="appid" column="appid" jdbcType="VARCHAR"/> <result property="appappid" column="appappid" jdbcType="VARCHAR"/> ximon-admin/src/main/java/com/sandu/ximon/admin/controller/UsrPayConfigCollector.java
@@ -5,8 +5,11 @@ import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.param.AlipayConfigParam; import com.sandu.ximon.admin.param.WxpayConfigParam; import com.sandu.ximon.admin.pay.alipay.UsrAlipayConfigService; import com.sandu.ximon.dao.domain.AlipayConfigEntity; import com.sandu.ximon.admin.pay.alipay.UsrWxPayConfigService; import com.sandu.ximon.dao.domain.AliConfigEntity; import com.sandu.ximon.dao.domain.WxConfigEntity; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -21,6 +24,7 @@ public class UsrPayConfigCollector { private final UsrAlipayConfigService alipayConfigService; private final UsrWxPayConfigService wxPayConfigService; /** @@ -74,7 +78,7 @@ if(configId==null){ throw new BusinessException("idè½ä¸ºç©º"); } AlipayConfigEntity byId = alipayConfigService.getById(configId); AliConfigEntity byId = alipayConfigService.getById(configId); if(byId==null){ throw new BusinessException("é ç½®idé误æé ç½®ä¸åå¨"); } @@ -91,6 +95,74 @@ /** * wxé 置添å * @param configParam * @return */ @PostMapping("/addWxPayConfig") public ResponseVO<Object> addAliPayConfig(@RequestBody WxpayConfigParam configParam) { return ResponseUtil.success(wxPayConfigService.addWxPayConfig(configParam)); } /** * wxé ç½®æ´æ¹ * @param configId * @param configParam * @return */ @PostMapping("/updateWxPayConfig/{configId}") public ResponseVO<Object> updateAliPayConfig(@PathVariable Long configId, @RequestBody WxpayConfigParam configParam) { return ResponseUtil.success(wxPayConfigService.updateWxPayConfig(configId,configParam)); } /** * wxé ç½®å é¤ * @param configId * @return */ @PostMapping("/deleteWxPayConfig/{configId}") public ResponseVO<Object> deleteWxPayConfig(@PathVariable Long configId) { return ResponseUtil.success(wxPayConfigService.deleteWxPayConfig(configId)); } /** * * @param poleId * @return */ @GetMapping("/getWxPayConfigByPoleId/{poleId}") public ResponseVO<Object> getWxPayConfigByPoleId(@PathVariable Long poleId) { return ResponseUtil.success(wxPayConfigService.getConfigByPoleId(poleId)); } /** *é 置详æ * @param configId * @return */ @GetMapping("/getWxPayConfigById/{configId}") public ResponseVO<Object> getWxPayConfigById(@PathVariable Integer configId) { if(configId==null){ throw new BusinessException("idè½ä¸ºç©º"); } WxConfigEntity byId = wxPayConfigService.getById(configId); if(byId==null){ throw new BusinessException("é ç½®idé误æé ç½®ä¸åå¨"); } return ResponseUtil.success(byId); } @GetMapping("/WxConfigList") public ResponseVO<Object> WxConfigList(BaseConditionVO baseConditionVO) { return ResponseUtil.success(wxPayConfigService.configList(baseConditionVO)); } } ximon-admin/src/main/java/com/sandu/ximon/admin/param/WxpayConfigParam.java
@@ -13,12 +13,12 @@ /** * appid */ private String appid; private String appId; /** * app端appid */ private String appappid; private String appAppId; /** * ximon-admin/src/main/java/com/sandu/ximon/admin/pay/alipay/UsrAlipayConfigService.java
@@ -12,7 +12,7 @@ import com.sandu.ximon.admin.service.ClientService; import com.sandu.ximon.admin.service.PoleService; import com.sandu.ximon.admin.utils.SpringContextUtil; import com.sandu.ximon.dao.domain.AlipayConfigEntity; import com.sandu.ximon.dao.domain.AliConfigEntity; import com.sandu.ximon.dao.domain.Pole; import com.sandu.ximon.dao.mapper.UsrAlipayConfigMapper; import lombok.AllArgsConstructor; @@ -27,22 +27,22 @@ */ @Service @AllArgsConstructor public class UsrAlipayConfigService extends BaseServiceImpl<UsrAlipayConfigMapper, AlipayConfigEntity> { public class UsrAlipayConfigService extends BaseServiceImpl<UsrAlipayConfigMapper, AliConfigEntity> { private final UsrAlipayConfigMapper usrAlipayConfigMapper; private final ClientService clientService; private final PoleService poleService; public AlipayConfigEntity getConfigByPoleId(Long poleId) { public AliConfigEntity getConfigByPoleId(Long poleId) { Pole pole = poleService.getById(poleId); if (pole == null) { throw new BusinessException("ç¯æidé误æç¯æä¸åå¨"); } AlipayConfigEntity config; AliConfigEntity config; if (pole.getClientId() == null) { config = getById(0); } config = getOne(Wrappers.lambdaQuery(AlipayConfigEntity.class).eq(AlipayConfigEntity::getCreateUserId, SecurityUtils.getUserId())); config = getOne(Wrappers.lambdaQuery(AliConfigEntity.class).eq(AliConfigEntity::getCreateUserId, SecurityUtils.getUserId())); if(config==null){ throw new BusinessException("ç¨æ·æªé ç½®æ¯ä»é ç½®,请é ç½®åéè¯"); } @@ -56,24 +56,30 @@ public boolean addAliPayConfig(AlipayConfigParam configParam){ AlipayConfigEntity config =new AlipayConfigEntity(); AliConfigEntity config =new AliConfigEntity(); BeanUtil.copyProperties(configParam,config); if(SecurityUtils.getClientId()!=null){ config.setCreateUserId(SecurityUtils.getUserId()); if(clientService.findClientId()){ config.setClientId(clientService.getClientId()); } } return save(config); } public boolean updateAliPayConfig(Integer id,AlipayConfigParam configParam){ AlipayConfigEntity byId = getById(id); AliConfigEntity byId = getById(id); if(byId==null){ throw new BusinessException("é ç½®idé误æé ç½®ä¸åå¨"); } AlipayConfigEntity config =new AlipayConfigEntity(); AliConfigEntity config =new AliConfigEntity(); BeanUtil.copyProperties(configParam,config); config.setConfigId(id); return updateById(config); } public boolean deleteAliPayConfig(Integer id){ AlipayConfigEntity byId = getById(id); AliConfigEntity byId = getById(id); if(byId==null){ throw new BusinessException("é ç½®idé误æé ç½®ä¸åå¨"); } @@ -82,21 +88,21 @@ public List<AlipayConfigEntity> configList(BaseConditionVO baseConditionVO){ LambdaQueryWrapper<AlipayConfigEntity> wrapper =new LambdaQueryWrapper<>(); public List<AliConfigEntity> configList(BaseConditionVO baseConditionVO){ LambdaQueryWrapper<AliConfigEntity> wrapper =new LambdaQueryWrapper<>(); System.out.println("----------------------------"+clientService.findClientId()); PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); if(SecurityUtils.getClientId()!=null){//å®¢æ· if(clientService.findClientId()){//äºçº§å®¢æ· PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); wrapper= Wrappers.lambdaQuery(AlipayConfigEntity.class).eq(AlipayConfigEntity::getCreateUserId,SecurityUtils.getUserId()); wrapper= Wrappers.lambdaQuery(AliConfigEntity.class).eq(AliConfigEntity::getCreateUserId,SecurityUtils.getUserId()); }else if(!clientService.findClientId()){//ä¸çº§å®¢æ· PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); wrapper= Wrappers.lambdaQuery(AlipayConfigEntity.class).eq(AlipayConfigEntity::getClientId,SecurityUtils.getUserId()); wrapper= Wrappers.lambdaQuery(AliConfigEntity.class).eq(AliConfigEntity::getClientId,SecurityUtils.getUserId()); } } else {//管ç PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); wrapper= Wrappers.lambdaQuery(AlipayConfigEntity.class); wrapper= Wrappers.lambdaQuery(AliConfigEntity.class); } return list(wrapper); } ximon-admin/src/main/java/com/sandu/ximon/admin/pay/alipay/UsrWxPayConfigService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,113 @@ package com.sandu.ximon.admin.pay.alipay; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.sandu.common.execption.BusinessException; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.param.WxpayConfigParam; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.admin.service.ClientService; import com.sandu.ximon.admin.service.PoleService; import com.sandu.ximon.admin.utils.SpringContextUtil; import com.sandu.ximon.dao.domain.Pole; import com.sandu.ximon.dao.domain.WxConfigEntity; import com.sandu.ximon.dao.mapper.UsrWxPayConfigMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; /** * @Author liuhaonan * @Date 2022/3/18 14:37 * @Version 1.0 */ @Service @AllArgsConstructor public class UsrWxPayConfigService extends BaseServiceImpl<UsrWxPayConfigMapper, WxConfigEntity> { private final UsrWxPayConfigMapper wxPayConfigMapper; private final ClientService clientService; private final PoleService poleService; public WxConfigEntity getConfigByPoleId(Long poleId) { Pole pole = poleService.getById(poleId); if (pole == null) { throw new BusinessException("ç¯æidé误æç¯æä¸åå¨"); } WxConfigEntity config; if (pole.getClientId() == null) { config = getById(0); } config = getOne(Wrappers.lambdaQuery(WxConfigEntity.class).eq(WxConfigEntity::getCreateUserId, SecurityUtils.getUserId())); if (config == null) { throw new BusinessException("ç¨æ·æªé ç½®æ¯ä»é ç½®,请é ç½®åéè¯"); } return config; } public static UsrWxPayConfigService getBean() { return (UsrWxPayConfigService) SpringContextUtil.getBean("UsrWxPayConfigService"); } public boolean addWxPayConfig(WxpayConfigParam configParam) { WxConfigEntity config = new WxConfigEntity(); BeanUtil.copyProperties(configParam, config); config.setAppid(configParam.getAppId()); config.setAppappid(configParam.getAppAppId()); if(SecurityUtils.getClientId()!=null){ config.setCreateUserId(SecurityUtils.getUserId()); if(clientService.findClientId()){ config.setClientId(clientService.getClientId()); } } return save(config); } public boolean updateWxPayConfig(Long id, WxpayConfigParam configParam) { WxConfigEntity byId = getById(id); if (byId == null) { throw new BusinessException("é ç½®idé误æé ç½®ä¸åå¨"); } WxConfigEntity config = new WxConfigEntity(); BeanUtil.copyProperties(configParam, config); config.setAppid(configParam.getAppId()); config.setAppappid(configParam.getAppAppId()); config.setConfigId(id); return updateById(config); } public boolean deleteWxPayConfig(Long id) { WxConfigEntity byId = getById(id); if (byId == null) { throw new BusinessException("é ç½®idé误æé ç½®ä¸åå¨"); } return removeById(id); } public List<WxConfigEntity> configList(BaseConditionVO baseConditionVO) { LambdaQueryWrapper<WxConfigEntity> wrapper = new LambdaQueryWrapper<>(); System.out.println("----------------------------" + clientService.findClientId()); PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); if (SecurityUtils.getClientId() != null) {//å®¢æ· if (clientService.findClientId()) {//äºçº§å®¢æ· PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); wrapper = Wrappers.lambdaQuery(WxConfigEntity.class).eq(WxConfigEntity::getCreateUserId, SecurityUtils.getUserId()); } else if (!clientService.findClientId()) {//ä¸çº§å®¢æ· PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); wrapper = Wrappers.lambdaQuery(WxConfigEntity.class).eq(WxConfigEntity::getClientId, SecurityUtils.getUserId()); } } else {//管ç PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); wrapper = Wrappers.lambdaQuery(WxConfigEntity.class); } return list(wrapper); } } ximon-admin/src/main/java/com/sandu/ximon/admin/utils/AliPayUtils.java
@@ -10,7 +10,7 @@ import com.google.gson.Gson; import com.sandu.ximon.admin.config.AlipayConfig; import com.sandu.ximon.admin.pay.alipay.UsrAlipayConfigService; import com.sandu.ximon.dao.domain.AlipayConfigEntity; import com.sandu.ximon.dao.domain.AliConfigEntity; import lombok.AllArgsConstructor; @@ -23,16 +23,16 @@ public static boolean alipayQuery(String out_trade_no, Long streetlightId) { AlipayConfigEntity alipayConfigEntity = UsrAlipayConfigService.getBean().getConfigByPoleId(streetlightId);// è·å客æ·çæ¯ä»å®é ç½® String checkStr = ConfigCheckUtils.checkAlipayConfig(alipayConfigEntity); AliConfigEntity WxConfigEntity = UsrAlipayConfigService.getBean().getConfigByPoleId(streetlightId);// è·å客æ·çæ¯ä»å®é ç½® String checkStr = ConfigCheckUtils.checkAlipayConfig(WxConfigEntity); if( checkStr != null){ LogUtils.error("æ¥è¯¢å¤±è´¥"); return false; } //è·å¾åå§åçAlipayClient AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, alipayConfigEntity.getAppId(), alipayConfigEntity.getPrivateKey(), AlipayConfig.format, AlipayConfig.charset, alipayConfigEntity. WxConfigEntity.getAppId(), WxConfigEntity.getPrivateKey(), AlipayConfig.format, AlipayConfig.charset, WxConfigEntity. getPublicKey(), AlipayConfig.sign_type); //设置请æ±åæ° @@ -84,16 +84,16 @@ //æ è¯ä¸æ¬¡é款请æ±ï¼åä¸ç¬äº¤æå¤æ¬¡é款éè¦ä¿è¯å¯ä¸ï¼å¦éé¨å鿬¾ï¼åæ¤åæ°å¿ ä¼ ã String out_request_no = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); AlipayConfigEntity alipayConfigEntity = UsrAlipayConfigService.getBean().getConfigByPoleId(streetlightId); //æ¾å°æ¯åªä¸ªå®¢æ·çå çµæ¡© 就鿬¾ç»è° String checkStr = ConfigCheckUtils.checkAlipayConfig(alipayConfigEntity); AliConfigEntity WxConfigEntity = UsrAlipayConfigService.getBean().getConfigByPoleId(streetlightId); //æ¾å°æ¯åªä¸ªå®¢æ·çå çµæ¡© 就鿬¾ç»è° String checkStr = ConfigCheckUtils.checkAlipayConfig(WxConfigEntity); if( checkStr != null){ return false; } // SDK å ¬å ±è¯·æ±ç±»ï¼å å«å ¬å ±è¯·æ±åæ°ï¼ä»¥åå°è£ äºç¾åä¸éªç¾ï¼å¼åè æ éå ³æ³¨ç¾åä¸éªç¾ AlipayClient client = new DefaultAlipayClient(AlipayConfig.gatewayUrl, alipayConfigEntity.getAppId(), alipayConfigEntity.getPrivateKey(), AlipayConfig.format, AlipayConfig.charset, alipayConfigEntity.getPublicKey(), AlipayConfig.sign_type); AlipayClient client = new DefaultAlipayClient(AlipayConfig.gatewayUrl, WxConfigEntity.getAppId(), WxConfigEntity.getPrivateKey(), AlipayConfig.format, AlipayConfig.charset, WxConfigEntity.getPublicKey(), AlipayConfig.sign_type); AlipayTradeRefundRequest alipay_request = new AlipayTradeRefundRequest(); AlipayTradeRefundModel model = new AlipayTradeRefundModel(); model.setOutTradeNo(out_trade_no); ximon-admin/src/main/java/com/sandu/ximon/admin/utils/ConfigCheckUtils.java
@@ -1,16 +1,16 @@ package com.sandu.ximon.admin.utils; import com.sandu.ximon.dao.domain.AlipayConfigEntity; import com.sandu.ximon.dao.domain.AliConfigEntity; import org.springframework.stereotype.Component; @Component public class ConfigCheckUtils { public static String checkAlipayConfig(AlipayConfigEntity alipayConfigEntity) { if(alipayConfigEntity == null) { public static String checkAlipayConfig(AliConfigEntity WxConfigEntity) { if(WxConfigEntity == null) { return "ä¸å失败ï¼è¯·è系管çåå¤çï¼é误ç ï¼100"; } else if (alipayConfigEntity.getAppId() == null || alipayConfigEntity.getPrivateKey() == null || alipayConfigEntity.getPublicKey() == null) { } else if (WxConfigEntity.getAppId() == null || WxConfigEntity.getPrivateKey() == null || WxConfigEntity.getPublicKey() == null) { return "ä¸å失败ï¼è¯·è系管çåå¤çï¼é误ç ï¼101"; } return null;