Просмотр исходного кода

Merge branch 'release_toaliyun_real' of https://git.malls.iformall.com/server/formallProject into release_toaliyun_real

release_toaliyun_real
xhxu 3 лет назад
Родитель
Сommit
79762e0d68
4 измененных файлов: 131 добавлений и 7 удалений
  1. +1
    -0
      mallinkCallback/src/main/java/com/iformall/config/ShiroConfig.java
  2. +111
    -0
      mallinkCallback/src/main/java/com/iformall/controller/callback/car/jieshun/WxCarJieShunV2CallBackController.java
  3. +12
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxPark.java
  4. +7
    -7
      mallinkService/src/main/java/com/iformall/service/park/impl/jieshunV2/JieShunV2ParkService.java

+ 1
- 0
mallinkCallback/src/main/java/com/iformall/config/ShiroConfig.java Просмотреть файл

@@ -119,6 +119,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/wxMsgCallback/**", "anon");
filterChainDefinitionMap.put("/carCallback/**", "anon");
filterChainDefinitionMap.put("/jieshunCarCallback/**", "anon");
filterChainDefinitionMap.put("/jieshunCarCallbackV2/**", "anon");
filterChainDefinitionMap.put("/cyfCarCallback/**", "anon");
filterChainDefinitionMap.put("/hkwsCarCallback/**", "anon");
filterChainDefinitionMap.put("/futeCarCallback/**", "anon");


+ 111
- 0
mallinkCallback/src/main/java/com/iformall/controller/callback/car/jieshun/WxCarJieShunV2CallBackController.java Просмотреть файл

@@ -0,0 +1,111 @@
package com.iformall.controller.callback.car.jieshun;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.iformall.common.Result;
import com.iformall.controller.base.BaseController;
import com.iformall.controller.callback.car.WxParkCallBackBaseController;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxCarCYFVo;
import com.iformall.enums.EnumCarCmd;
import com.iformall.enums.EnumCarVendor;
import com.iformall.enums.EnumCouponSendSendType;
import com.iformall.enums.EnumPayWay;
import com.iformall.service.*;
import com.iformall.service.park.impl.cyf.CYFUtil;
import com.iformall.service.park.impl.tjd.TJDUtil;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
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 java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @author: furunxin
* @Date: 2020/7/6 15:29
* @Description: 车易付回调接口
*/

@Slf4j
@RestController
@RequestMapping("/jieshunCarCallbackV2")
public class WxCarJieShunV2CallBackController extends WxParkCallBackBaseController {

@Autowired
WxParkService wxParkService;

@Autowired
WxCarCmdLogService wxCarCmdLogService;

@Autowired
WxCUserService wxCUserService;

@Autowired
WxCUserCarService wxCUserCarService;

@Autowired
WxCouponSendService wxCouponSendService;

@Autowired
WxCarPayRecordService wxCarPayRecordService;

@Autowired
WxCUserBasicInfoService wxCUserBasicInfoService;

/**
* @description 捷顺 车辆入场通知
* {dataItems=[{"inTime":"2020-12-09 11:21:15","carNumber":"浙-AF81797","inCarPhoto":"p201127315/NISSP_IMG_PARK_IN/20201209/a9f1130651b9493f8eab64f14afbdd47","isReal":0,"itemId":"a9f1130651b9493f8eab64f14afbdd47","inOperator":"超级管理员","equipName":"东门入口","parkName":"杭州东站西子国际","vehicleInfo":"{\"plateNo\":\"浙-AF81797\",\"plateColor\":\"GREEN\",\"plateBackColor\":0,\"plateWordColor\":0,\"vehicleColor\":null,\"vehicleLogo\":null,\"vehicleModel\":null,\"mainModel\":0,\"subModel\":0,\"vehicleModelTrust\":0,\"mainModelTrust\":0,\"subModelTrust\":0,\"plateNoTrust\":1,\"vehicleLogoTrust\":0,\"vehicleColorTrust\":0}","equipCode":"208202496","parkCode":"p201127315"}], pno=dzxzgj, sn=6C958D99D2769AA16F3A3F06E962263F, tn=-2, ts=20201209112118886, ve=1.0}
*
*
*
* @Params [paramMap]
* @return com.iformall.common.Result
* @Author furunxin
* @Date 2020/7/8 上午8:27
**/
@PostMapping(value = "/parkIn")
public Result parkInCallback(@RequestBody Map<String, Object> paramMap) {
log.info("["+getIpAddr()+"] jieshunCarCallback parkIn: " + paramMap.toString());
//解析车易付参数
return super.parkInCallBack(EnumCarVendor.CAR_JIESHUN_V2, EnumCarCmd.CAR_JIESHUN_CALLBACK_PARK_IN, paramMap);
}


/**
* @description 车易付 车辆离场通知
* @Params [param]
* @return java.util.Map
* @Author furunxin
* @Date 2020/7/12 上午9:00
**/
@PostMapping(value = "/parkOut")
public Result parkOutCallback(@RequestBody Map<String, Object> paramMap) {
log.info("["+getIpAddr()+"] jieshunCarCallback parkOut: " + paramMap.toString());
return super.parkOutCallBack(EnumCarVendor.CAR_JIESHUN_V2, EnumCarCmd.CAR_JIESHUN_CALLBACK_PARK_OUT, paramMap);
}
@PostMapping(value = "/unbind")
public Result unbindCallback(@RequestBody Map<String, Object> paramMap) {
log.info("["+getIpAddr()+"] jieshunCarCallback unbind: " + paramMap.toString());
//解析车易付参数
return super.unbindCarCallBack(EnumCarVendor.CAR_JIESHUN_V2, EnumCarCmd.CAR_JIESHUN_CALLBACK_UNBIND, paramMap);
}
@PostMapping(value = "/paid")
public Result paidCallback(@RequestBody Map<String, Object> paramMap) {
log.info("["+getIpAddr()+"] jieshunCarCallback paid: " + paramMap.toString());
//解析车易付参数
return super.paidCallback(EnumCarVendor.CAR_JIESHUN_V2, EnumCarCmd.CAR_JIESHUN_CALLBACK_PAID, paramMap);
}
}

+ 12
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxPark.java Просмотреть файл

@@ -1,5 +1,7 @@
package com.iformall.domain.po;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.domain.po.base.TenantEntity;
import lombok.Data;
@@ -7,6 +9,8 @@ import lombok.EqualsAndHashCode;

import java.util.*;

import org.apache.commons.lang3.StringUtils;

@TableName(value = "wx_park")
@Data
@EqualsAndHashCode(callSuper = true)
@@ -42,4 +46,12 @@ public class WxPark extends TenantEntity {
private Integer supportPay;
@io.swagger.annotations.ApiModelProperty(value="支付完成回调地址",name="paidCallBack")
private String paidCallBack;
public Object getVendorParamsByKey(String key) {
if (StringUtils.isBlank(this.vendorParams)) {
return null;
}
JSONObject vp = JSON.parseObject(this.vendorParams);
return vp.get(key);
}
}

+ 7
- 7
mallinkService/src/main/java/com/iformall/service/park/impl/jieshunV2/JieShunV2ParkService.java Просмотреть файл

@@ -61,10 +61,8 @@ import com.iformall.utils.RedisLock;
1>小程序首页
path:pages/index/index
2>小程序订单页(车牌+车场编号 ) path: pages/thirdPayOrder/payOrder?carNo=车牌&parkCode=车场编号
3>小程序订单页(订单编号) path: pages/thirdPayOrderByNo/payOrder?orderNo=订单编号
2>小程序页面 pages/thirdPayOrderByNo/payOrder?orderNo=订单编号&freeMinute=免费离场时间(分钟数)
*/
@Service
@@ -193,6 +191,7 @@ public class JieShunV2ParkService extends BaseParkService implements ParkAdapter
Double totalFee = attribute.getDouble("totalFee");
String appId = "wx24b70f0ad2a9a89a";
String parkOrderId = attribute.getString("orderNo");
Integer freeMinute = (Integer)park.getVendorParamsByKey("freeMinute");
if (totalFee <= 0 ) {
String _createTime = attribute.getString("startTime");//计费时间,格式为“yyyy-MM-dd HH:mi:ss”
String _endTime = attribute.getString("endTime");//离场时间,格式为“yyyy-MM-dd HH:mi:ss”
@@ -210,7 +209,7 @@ public class JieShunV2ParkService extends BaseParkService implements ParkAdapter
"0.00",appId,"payPath",null,msg,null);
}else {
return new ParkStopFee("-999",jieshun.utcToLocal(_createTime),jieshun.utcToLocal(_endTime),
"0.00",appId,"payPath",null,msg,"用券抵扣后账单为0,获得15分钟免费出场时间");
"0.00",appId,"payPath",null,msg,"用券抵扣后账单为0,获得"+freeMinute+"分钟免费出场时间");
}
}
}
@@ -228,9 +227,10 @@ public class JieShunV2ParkService extends BaseParkService implements ParkAdapter
JSONObject retObject = retArrays.getJSONObject(0).getJSONObject("attributes");
String createTime = retObject.getString("startTime");//计费时间,格式为“yyyy-MM-dd HH:mi:ss”
String endTime = retObject.getString("endTime");//离场时间,格式为“yyyy-MM-dd HH:mi:ss”
String payPath = "pages/thirdPayOrder/payOrder?carNo="+jieshun.handleCarNumber(carNumber)+"&parkCode="+park.getParkingId();
String payPath = "pages/thirdPayOrderByNo/payOrder?orderNo="+parkOrderId+"&freeMinute="+freeMinute;
//String payPath = "pages/thirdPayOrder/payOrder?carNo="+jieshun.handleCarNumber(carNumber)+"&parkCode="+park.getParkingId();
return new ParkStopFee(parkOrderId,jieshun.utcToLocal(createTime),jieshun.utcToLocal(endTime),
String.valueOf(retObject.getDouble("totalFee")),appId,payPath,null,null,"请支付后15分钟内离场");
String.valueOf(retObject.getDouble("totalFee")),appId,payPath,null,null,"请支付后"+freeMinute+"分钟内离场");
}else {
logger.error("jieshunCarStopFee error. paramMap: {} . jieshunResult: {}",JSON.toJSONString(paramMap),ret);
String msg = retObj.getString("message");


Загрузка…
Отмена
Сохранить