Your Name
2023-03-17 e20c58a63d3827d9c55cd5f387568fb0916b9590
Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
8个文件已修改
11个文件已删除
1455 ■■■■■ 已修改文件
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/RSAUtil.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SM2Util.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBApiClient.java 306 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBApiException.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBApiResponse.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBApp.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBFile.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBNormalException.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBSecurity.java 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SpdbPaymentFactoryAdapt.java 363 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/smo/impl/QrCodeSpdbPaymentAdapt.java 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/configuration/ServiceConfiguration.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/controller/app/charge/NotifyDingDingChargeController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/charge/factory/dingding/DingdingChargeMachineFactoryAdapt.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/charge/factory/dingding/DingdingChargeUtils.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/cmd/chargeMachine/StopChargeCmd.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/java/com/java110/boot/configuration/ServiceConfiguration.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/java/com/java110/boot/controller/app/charge/NotifyDingDingChargeController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/RSAUtil.java
File was deleted
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SM2Util.java
File was deleted
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBApiClient.java
File was deleted
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBApiException.java
File was deleted
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBApiResponse.java
File was deleted
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBApp.java
File was deleted
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBFile.java
File was deleted
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBNormalException.java
File was deleted
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SPDBSecurity.java
File was deleted
service-acct/src/main/java/com/java110/acct/payment/adapt/spdb/SpdbPaymentFactoryAdapt.java
File was deleted
service-acct/src/main/java/com/java110/acct/smo/impl/QrCodeSpdbPaymentAdapt.java
File was deleted
service-api/src/main/java/com/java110/api/configuration/ServiceConfiguration.java
@@ -102,7 +102,7 @@
        exclusions.append("/app/chargeMachine.listChargeMachine,");//查询注册信息
        exclusions.append("/app/chargeMachine.listChargeMachinePort,");//查询充电桩
        exclusions.append("/app/smartMeter/notify/*,");// 智能水电表通知放开
        exclusions.append("/equipments/*,");// 叮叮充电桩通知放开
        exclusions.append("/app/equipments/*,");// 叮叮充电桩通知放开
        exclusions.append("/app/charge/*,");// 通用充电桩通知放开
        exclusions.append("/app/reportInfoAnswer/queryReportInfoAnswerByOpenId");
service-api/src/main/java/com/java110/api/controller/app/charge/NotifyDingDingChargeController.java
@@ -22,7 +22,7 @@
import java.util.Base64;
@RestController
@RequestMapping(path = "/equipments")
@RequestMapping(path = "/app/equipments")
public class NotifyDingDingChargeController extends BaseController {
    private final static Logger logger = LoggerFactory.getLogger(NotifyDingDingChargeController.class);
@@ -47,7 +47,7 @@
            @PathVariable String port,
            @RequestBody String postInfo,
            HttpServletRequest request) {
        if (!validateSign(request)) {
        if (!validateSign(request, "/equipments/" + id + "/" + port + "/finish", postInfo)) {
            return new ResponseEntity<>("{\n" +
                    "\"code\" : -1,\n" +
                    "\"msg\" : \"鉴权失败\"\n" +
@@ -60,8 +60,10 @@
        notifyChargeOrderDto.setMachineCode(id);
        notifyChargeOrderDto.setPortCode(port);
        notifyChargeOrderDto.setBodyParam(postInfo);
        notifyChargeOrderDto.setReason(param.getString("typeName"));
        ResultVo resultVo = notifyChargeV1InnerServiceSMOImpl.finishCharge(notifyChargeOrderDto);
        ResultVo resultVo = null;
        resultVo = notifyChargeV1InnerServiceSMOImpl.finishCharge(notifyChargeOrderDto);
        if (resultVo.getCode() == ResultVo.CODE_OK) {
            resultVo.setCode(200);
@@ -82,7 +84,7 @@
            @PathVariable String id,
            @RequestBody String postInfo,
            HttpServletRequest request) {
        if (!validateSign(request)) {
        if (!validateSign(request, "/equipments/" + id + "/event", postInfo)) {
            return new ResponseEntity<>("{\n" +
                    "\"code\" : -1,\n" +
                    "\"msg\" : \"鉴权失败\"\n" +
@@ -98,12 +100,12 @@
    }
    private boolean validateSign(HttpServletRequest request) {
        String appId = request.getParameter("appid");
        String timestamp = request.getParameter("timestamp");
        String sign = request.getParameter("sign");
    private boolean validateSign(HttpServletRequest request, String url, String postInfo) {
        String appId = request.getHeader("appid");
        String timestamp = request.getHeader("timestamp");
        String sign = request.getHeader("sign");
        String secret = MappingCache.getValue(DING_DING_DOMAIN, DING_DING_APP_SECURE);
        String data = "appid=" + appId + "&timestamp=" + timestamp;
        String data = "appid=" + appId + "&content=" + postInfo + "&timestamp=" + timestamp + "&uri=" + url;
        SecretKey secretKey = new SecretKeySpec(secret.getBytes(), "HmacMD5");
        Mac mac = null;
        try {
service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java
@@ -219,7 +219,11 @@
        chargeMachineDto.setMachineCode(notifyChargeOrderDto.getMachineCode());
        List<ChargeMachineDto> chargeMachineDtos = chargeMachineV1InnerServiceSMOImpl.queryChargeMachines(chargeMachineDto);
        Assert.listOnlyOne(chargeMachineDtos, "充电桩 不存在");
        //Assert.listOnlyOne(chargeMachineDtos, "充电桩 不存在");
        if(chargeMachineDtos == null || chargeMachineDtos.size() < 1){
            return new ResultVo(ResultVo.CODE_OK, "成功");
        }
        // todo 插槽是否空闲
@@ -228,7 +232,10 @@
        chargeMachinePortDto.setPortCode(notifyChargeOrderDto.getPortCode());
        chargeMachinePortDto.setState(ChargeMachinePortDto.STATE_WORKING);
        List<ChargeMachinePortDto> chargeMachinePortDtos = chargeMachinePortV1InnerServiceSMOImpl.queryChargeMachinePorts(chargeMachinePortDto);
        Assert.listOnlyOne(chargeMachinePortDtos, "插槽空闲");
        //Assert.listOnlyOne(chargeMachinePortDtos, "插槽空闲");
        if(chargeMachinePortDtos == null || chargeMachinePortDtos.size() < 1){
            return new ResultVo(ResultVo.CODE_OK, "成功");
        }
        ChargeMachinePortPo chargeMachinePortPo = new ChargeMachinePortPo();
        chargeMachinePortPo.setPortId(chargeMachinePortDtos.get(0).getPortId());
service-common/src/main/java/com/java110/common/charge/factory/dingding/DingdingChargeMachineFactoryAdapt.java
@@ -26,7 +26,7 @@
    private static final String QUERY_PORT_URL = DingdingChargeUtils.URL + "/equipments/ID/PORT";
    private static final String QUERY_CHARGE_STATE_URL = DingdingChargeUtils.URL + "/equipments/code/ID";
    private static final String QUERY_CHARGE_STATE_URL = DingdingChargeUtils.URL + "/equipments/ID";
    //开始充电
service-common/src/main/java/com/java110/common/charge/factory/dingding/DingdingChargeUtils.java
@@ -51,13 +51,14 @@
        httpHeaders.add("Authorization", "Bearer "
                + getAccessToken(MappingCache.getValue(DING_DING_DOMAIN, DING_DING_APP_ID),
                MappingCache.getValue(DING_DING_DOMAIN, DING_DING_APP_SECURE)));
        httpHeaders.add("Content-Type","application/json");
        HttpEntity httpEntity = new HttpEntity(body, httpHeaders);
        ResponseEntity<String> response = null;
        try {
            response = outRestTemplate.exchange(url, httpMethod, httpEntity, String.class);
        } catch (HttpStatusCodeException e) {
            logger.error("请求异常", e.getResponseBodyAsString());
            throw new IllegalArgumentException(e.getResponseBodyAsString());
            return e.getResponseBodyAsString();
        }
        return response.getBody();
service-common/src/main/java/com/java110/common/cmd/chargeMachine/StopChargeCmd.java
@@ -61,7 +61,6 @@
        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
        Assert.hasKeyAndValue(reqJson, "machineId", "未包含充电桩");
        Assert.hasKeyAndValue(reqJson, "portId", "未包含插槽");
        Assert.hasKeyAndValue(reqJson, "orderId", "未包含订单号");
        String userId = context.getReqHeaders().get("user-id");
        Assert.hasLength(userId, "用户不存在");
@@ -98,7 +97,6 @@
        chargeMachinePortDto.setPortId(reqJson.getString("portId"));
        List<ChargeMachinePortDto> chargeMachinePortDtos = chargeMachinePortV1InnerServiceSMOImpl.queryChargeMachinePorts(chargeMachinePortDto);
        String orderId = reqJson.getString("orderId");
        //调用充电桩充电
        ResultVo resultVo = chargeCoreImpl.stopCharge(chargeMachineDtos.get(0), chargeMachinePortDtos.get(0));
springboot/src/main/java/com/java110/boot/configuration/ServiceConfiguration.java
@@ -101,7 +101,7 @@
        exclusions.append("/app/chargeMachine.listChargeMachinePort,");//查询充电桩
        exclusions.append("/app/smartMeter/notify/*,");// 智能水电表通知放开
        exclusions.append("/equipments/*,");// 叮叮充电桩通知放开
        exclusions.append("/app/equipments/*,");// 叮叮充电桩通知放开
        exclusions.append("/app/charge/*,");// 通用充电桩通知放开
springboot/src/main/java/com/java110/boot/controller/app/charge/NotifyDingDingChargeController.java
@@ -20,10 +20,15 @@
import java.util.Base64;
/**
 * http://demo.homecommunity.cn/app/equipments/{id}/{port}/finish
 * <p>
 * 需要给叮叮厂家提供
 * http://demo.homecommunity.cn/app
 * 注意demo.homecommunity.cn 改成自己的域名
 * 叮叮充电桩 结束充电回调处理类
 */
@RestController
@RequestMapping(path = "/equipments")
@RequestMapping(path = "/app/equipments")
public class NotifyDingDingChargeController extends BaseController {
    private final static Logger logger = LoggerFactory.getLogger(NotifyDingDingChargeController.class);
@@ -48,7 +53,7 @@
            @PathVariable String port,
            @RequestBody String postInfo,
            HttpServletRequest request) {
        if (!validateSign(request)) {
        if (!validateSign(request, "/equipments/" + id + "/" + port + "/finish", postInfo)) {
            return new ResponseEntity<>("{\n" +
                    "\"code\" : -1,\n" +
                    "\"msg\" : \"鉴权失败\"\n" +
@@ -63,8 +68,8 @@
        notifyChargeOrderDto.setBodyParam(postInfo);
        notifyChargeOrderDto.setReason(param.getString("typeName"));
        ResultVo resultVo = notifyChargeV1InnerServiceSMOImpl.finishCharge(notifyChargeOrderDto);
        ResultVo resultVo = null;
        resultVo = notifyChargeV1InnerServiceSMOImpl.finishCharge(notifyChargeOrderDto);
        if (resultVo.getCode() == ResultVo.CODE_OK) {
            resultVo.setCode(200);
@@ -85,7 +90,7 @@
            @PathVariable String id,
            @RequestBody String postInfo,
            HttpServletRequest request) {
        if (!validateSign(request)) {
        if (!validateSign(request, "/equipments/" + id + "/event", postInfo)) {
            return new ResponseEntity<>("{\n" +
                    "\"code\" : -1,\n" +
                    "\"msg\" : \"鉴权失败\"\n" +
@@ -101,12 +106,12 @@
    }
    private boolean validateSign(HttpServletRequest request) {
        String appId = request.getParameter("appid");
        String timestamp = request.getParameter("timestamp");
        String sign = request.getParameter("sign");
    private boolean validateSign(HttpServletRequest request, String url, String postInfo) {
        String appId = request.getHeader("appid");
        String timestamp = request.getHeader("timestamp");
        String sign = request.getHeader("sign");
        String secret = MappingCache.getValue(DING_DING_DOMAIN, DING_DING_APP_SECURE);
        String data = "appid=" + appId + "&timestamp=" + timestamp;
        String data = "appid=" + appId + "&content=" + postInfo + "&timestamp=" + timestamp + "&uri=" + url;
        SecretKey secretKey = new SecretKeySpec(secret.getBytes(), "HmacMD5");
        Mac mac = null;
        try {