From f9526cabebd0d64b4d1335cfc805ae0ce6c2a5a7 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Sat, 22 Aug 2020 10:50:56 +0800 Subject: [PATCH] fix --- .../V202007311200__FOR_MEMBER_ONLY_001.sql | 3 + .../iformall/controller/WxCarController.java | 58 +++++++++++++++-- .../com/iformall/domain/po/WxCUserCar.java | 2 + .../java/com/iformall/domain/po/WxCoupon.java | 2 +- .../service/impl/WxPayOrderServiceImpl.java | 1 + .../service/park/ParkAdapterService.java | 18 +++--- .../service/park/impl/BaseParkService.java | 13 ---- .../park/impl/bolink/BoLinkParkService.java | 8 +-- .../service/park/impl/cyf/CYFParkService.java | 63 +++++++++++++------ .../service/park/impl/etcp/EtcpHelper.java | 38 ++++++----- .../service/park/impl/tjd/TJDParkService.java | 56 ++++++++--------- .../service/park/impl/util/ParkHelper.java | 7 ++- .../java/com/iformall/utils/car/CYFUtil.java | 29 ++++++++- .../java/com/iformall/utils/car/ETCPUtil.java | 6 +- .../resources/mapper/WxCUserCarMapper.xml | 11 +++- 15 files changed, 212 insertions(+), 103 deletions(-) diff --git a/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql b/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql index f9616631a..ab9b0e2c7 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql @@ -68,6 +68,9 @@ ADD COLUMN `from_id` BIGINT(20) DEFAULT NULL COMMENT '来源ID,针对续签, 合同状态为4(即将到期)更新为计租中,合同状态为8(补录),9(续签)更新为草稿。 +ALTER TABLE `wx_c_user_car` +ADD COLUMN `vendor_person_id` VARCHAR(100) DEFAULT NULL COMMENT '停车场的会员ID'; + diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java index 51b62dbc7..f5d75d57d 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java @@ -111,7 +111,20 @@ public class WxCarController extends BaseController { if (park.getVendorType().equals(EnumCarVendor.CAR_ETCP.getCode())) { return etcpHelper.initForEtcp(paramMap, getMemberId(), park); }else { - return parkFactory.getParkService(park.getVendorType()).initLogin(paramMap, park, getMember()); + try { + String vendorPersonId = parkFactory.getParkService(park.getVendorType()).initLogin(paramMap, park, getMember()); + Map resultMap = new HashMap(); + resultMap.put("vendor", park.getVendorType()); + //有的厂家没有初始化 + if (!StringUtils.isBlank(vendorPersonId)) { + resultMap.put("vendorPersonId", vendorPersonId); + } + return new ResultData(resultMap); + } catch (Exception e) { + logger.error("park init error",e); + return new ResultData(Result.ERROR,e.getMessage()); + } + } //return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "登录失败"); } @@ -132,7 +145,19 @@ public class WxCarController extends BaseController { if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { return etcpHelper.etcpBindCar(paramMap, park, member.getId()); } else { - return parkFactory.getParkService(park.getVendorType()).bindCar(paramMap, park, member); + //有的厂家绑定车牌时才会有会员信息 + String vendorPersonId; + try { + vendorPersonId = parkFactory.getParkService(park.getVendorType()).bindCar(paramMap, park, member); + if(StringUtils.isBlank(vendorPersonId)) { + return new ResultData(Result.ERROR,"厂商会员ID未返回"); + } + return parkHelper.bindCar(paramMap, park, member.getId(),vendorPersonId); + } catch (Exception e) { + logger.error("park bindCar error",e); + return new ResultData(Result.ERROR,e.getMessage()); + } + } } @@ -156,7 +181,14 @@ public class WxCarController extends BaseController { if (park.getVendorType().equals(EnumCarVendor.CAR_ETCP.getCode())) { return etcpHelper.etcpUnbindCar(paramMap, park, getMemberId()); } else { - return parkFactory.getParkService(park.getVendorType()).unbindCar(paramMap, park, getMember()); + try { + parkFactory.getParkService(park.getVendorType()).unbindCar(paramMap, park, getMember()); + return parkHelper.unbindCar(paramMap, park, getMemberId()); + } catch (Exception e) { + logger.error("park unbindCar error",e); + return new ResultData(Result.ERROR,e.getMessage()); + } + } } @@ -208,7 +240,12 @@ public class WxCarController extends BaseController { if (park.getVendorType().equals(EnumCarVendor.CAR_ETCP.getCode())) { return etcpHelper.etcpCarStopFee(paramMap, park); } else { - return parkFactory.getParkService(park.getVendorType()).carStopFee(paramMap, park); + try { + return parkFactory.getParkService(park.getVendorType()).carStopFee(paramMap, park); + } catch (Exception e) { + logger.error("park getCarStopFee error",e); + return new ResultData(Result.ERROR,e.getMessage()); + } } } @@ -260,7 +297,18 @@ public class WxCarController extends BaseController { if (coupon == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "券为空"); } - return parkFactory.getParkService(park.getVendorType()).getCoupon(paramMap, park, userCar, coupon, carNumber); + try { + ResultData rs = parkFactory.getParkService(park.getVendorType()).useCoupon(paramMap, park, userCar, coupon, carNumber); + if (rs.code == Result.SUCCESS) { + etcpHelper.updateWxCouponOrderUsed(userCar, park); + return new ResultData(); + }else { + return new ResultData(rs.code,rs.message); + } + } catch (Exception e) { + logger.error("park getCoupon error",e); + return new ResultData(Result.ERROR,e.getMessage()); + } } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserCar.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserCar.java index ac6a857ef..2a8c641aa 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserCar.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserCar.java @@ -28,5 +28,7 @@ public class WxCUserCar extends TenantEntity { private Integer vendorType; @io.swagger.annotations.ApiModelProperty(value="停车厂家参数",name="vendorParams") private String vendorParams; + @io.swagger.annotations.ApiModelProperty(value="停车场的会员ID",name="vendorPersonId") + private String vendorPersonId; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java index e755815ed..1a31085e4 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java @@ -90,7 +90,7 @@ public class WxCoupon extends TenantEntity { private String detail; @io.swagger.annotations.ApiModelProperty(value="面额",name="price") private Integer price; - @io.swagger.annotations.ApiModelProperty(value="单位(0:rmb分 1:小时)",name="unit") + @io.swagger.annotations.ApiModelProperty(value="单位(0:rmb分 1:小时*100)",name="unit") private Integer unit; @io.swagger.annotations.ApiModelProperty(value="剩余库存",name="remainInventory") private Integer remainInventory; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index ffd2f1053..b006dfe1c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -883,6 +883,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { basicInfo.setId(basicUserId); basicInfo.setPhone("11111111111"); basicInfo.setNickName("商场["+record.getTenantId()+"]B端扫C端码支付专用账户"); + basicInfo.setSex(EnumCUserBaseInfoSex.UNKNOWN.getCode()); basicInfo.undateFinalTenantId(record); basicInfo.setCreateDate(new Date()); int count = wxCUserBasicInfoMapper.insert(basicInfo); diff --git a/mallinkService/src/main/java/com/iformall/service/park/ParkAdapterService.java b/mallinkService/src/main/java/com/iformall/service/park/ParkAdapterService.java index 857e7e674..3a8e1db2d 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/ParkAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/park/ParkAdapterService.java @@ -15,36 +15,36 @@ public interface ParkAdapterService { * @param paramMap * @param park * @param member - * @return + * @return vendorPersonId 停车场的会员编号 */ - ResultData initLogin(Map paramMap, WxPark park, WxCUserBasicInfo member); + String initLogin(Map paramMap, WxPark park, WxCUserBasicInfo member) throws Exception; /** * 绑定车牌 * @param paramMap * @param park * @param cuUserId - * @return + * @return vendorPersonId 停车场的会员编号 */ - ResultData bindCar(Map paramMap, WxPark park, WxCUserBasicInfo member); + String bindCar(Map paramMap, WxPark park, WxCUserBasicInfo member) throws Exception; /** * 解绑车牌 */ - ResultData unbindCar(Map paramMap, WxPark park, WxCUserBasicInfo member); + void unbindCar(Map paramMap, WxPark park, WxCUserBasicInfo member) throws Exception; /** * 获取停车费 */ - ResultData carStopFee(Map paramMap, WxPark park); + ResultData carStopFee(Map paramMap, WxPark park) throws Exception; /** - * 获取停车优免券 + * 停车券使用 */ - ResultData getCoupon(Map paramMap,WxPark park,WxCouponOrderCarCVo userCar,WxCoupon coupon,String carNumber); + ResultData useCoupon(Map paramMap,WxPark park,WxCouponOrderCarCVo userCar,WxCoupon coupon,String carNumber) throws Exception; /** * 查询停车场状态 */ - ResultData getParkStatus(WxPark park); + ResultData getParkStatus(WxPark park) throws Exception; } diff --git a/mallinkService/src/main/java/com/iformall/service/park/impl/BaseParkService.java b/mallinkService/src/main/java/com/iformall/service/park/impl/BaseParkService.java index 7e3655c00..b374729fb 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/impl/BaseParkService.java +++ b/mallinkService/src/main/java/com/iformall/service/park/impl/BaseParkService.java @@ -17,17 +17,4 @@ public class BaseParkService { @Autowired ParkHelper parkHelper; - protected ResultData defaultInitLogin(Map paramMap, WxPark park, WxCUserBasicInfo member) { - Map resultMap = new HashMap(); - resultMap.put("vendor", park.getVendorType()); - return new ResultData(resultMap); - } - - protected ResultData defaultBindCar(Map paramMap, WxPark park, WxCUserBasicInfo member) { - return parkHelper.bindCar(paramMap, park, member.getId()); - } - - protected ResultData defaultUnbindCar(Map paramMap, WxPark park, WxCUserBasicInfo member) { - return parkHelper.unbindCar(paramMap, park, member.getId()); - } } diff --git a/mallinkService/src/main/java/com/iformall/service/park/impl/bolink/BoLinkParkService.java b/mallinkService/src/main/java/com/iformall/service/park/impl/bolink/BoLinkParkService.java index 2b738dfae..77376847b 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/impl/bolink/BoLinkParkService.java +++ b/mallinkService/src/main/java/com/iformall/service/park/impl/bolink/BoLinkParkService.java @@ -23,13 +23,13 @@ import com.iformall.utils.car.BoLinkUtil; public class BoLinkParkService extends BaseParkService implements ParkAdapterService { @Override - public ResultData initLogin(Map paramMap, WxPark park, WxCUserBasicInfo member) { - return super.defaultInitLogin(paramMap, park, member); + public String initLogin(Map paramMap, WxPark park, WxCUserBasicInfo member) { + return null; } @Override - public ResultData bindCar(Map paramMap, WxPark park, WxCUserBasicInfo member) { - return super.defaultBindCar(paramMap, park, member); + public String bindCar(Map paramMap, WxPark park, WxCUserBasicInfo member) { + return null; } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/park/impl/cyf/CYFParkService.java b/mallinkService/src/main/java/com/iformall/service/park/impl/cyf/CYFParkService.java index 5ff1cdfca..ef662eb76 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/impl/cyf/CYFParkService.java +++ b/mallinkService/src/main/java/com/iformall/service/park/impl/cyf/CYFParkService.java @@ -1,5 +1,6 @@ package com.iformall.service.park.impl.cyf; +import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.StringUtils; @@ -18,6 +19,7 @@ import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxPark; import com.iformall.domain.vo.WxCouponOrderCarCVo; import com.iformall.enums.EnumCarVendor; +import com.iformall.exception.MallinkException; import com.iformall.service.park.ParkAdapterService; import com.iformall.service.park.impl.BaseParkService; import com.iformall.service.park.impl.util.ParkHelper; @@ -35,12 +37,12 @@ public class CYFParkService extends BaseParkService implements ParkAdapterServic @Override - public ResultData initLogin(Map paramMap, WxPark park, WxCUserBasicInfo member) { - return super.defaultInitLogin(paramMap, park, member); + public String initLogin(Map paramMap, WxPark park, WxCUserBasicInfo member) throws Exception{ + return null; } @Override - public ResultData bindCar(Map paramMap, WxPark park, WxCUserBasicInfo member) { + public String bindCar(Map paramMap, WxPark park, WxCUserBasicInfo member) throws Exception{ return cyfBindCar(paramMap,park,member); } @@ -51,39 +53,63 @@ public class CYFParkService extends BaseParkService implements ParkAdapterServic * @Author furunxin * @Date 2020/7/8 下午10:23 **/ - private ResultData cyfBindCar(@RequestBody Map paramMap, WxPark park,WxCUserBasicInfo member) { + private String cyfBindCar(Map paramMap, WxPark park,WxCUserBasicInfo member) throws Exception { String carNumber = paramMap.get("carNumber"); if (StringUtils.isBlank(carNumber)) { logger.error("carNumber为空"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); + throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); } String params = park.getVendorParams(); JSONObject objParams = JSON.parseObject(params); String token = objParams.getString("token"); int feeGroupId = objParams.getIntValue("feeGroupId"); - String ret = cyf.registerCar(token,park.getNumber(),feeGroupId,park.getParkingId(),carNumber,member.getId(),member.getNickName()); + String ret = cyf.registerCar(token,park.getNumber(),feeGroupId,park.getParkingId(),carNumber,null,member.getNickName()); JSONObject retObj = JSON.parseObject(ret); if (retObj.getIntValue("result") == 1){ - parkHelper.addCarInfoToDB(carNumber, EnumCarVendor.getEnum(park.getVendorType()), park, member.getId()); + //TODO 返回vendorPersonId + return null; }else { - return new ResultData(ErrorCode.CAR_BIND_FAIL.getCode(), "绑车牌失败", retObj); + logger.error("cyfBindCar error. paramMap: {} . cyfResult: {}",JSON.toJSONString(paramMap),ret); + String msg = retObj.getString("strError"); + throw new MallinkException(ErrorCode.CAR_BIND_FAIL.getCode(), "绑车牌失败:"+msg); + //return new ResultData(, "绑车牌失败", retObj); } - return new ResultData(); } @Override - public ResultData unbindCar(Map paramMap, WxPark park, WxCUserBasicInfo member) { - return super.defaultUnbindCar(paramMap, park, member); + public void unbindCar(Map paramMap, WxPark park, WxCUserBasicInfo member) throws Exception{ + String carNumber = paramMap.get("carNumber"); + if (StringUtils.isBlank(carNumber)) { + logger.error("carNumber为空"); + throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); + } + String vendorPersonId = paramMap.get("vendorPersonId"); + if (StringUtils.isBlank(vendorPersonId)) { + logger.error("vendorPersonId为空"); + throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "vendorPersonId为空"); + } + String params = park.getVendorParams(); + JSONObject objParams = JSON.parseObject(params); + String token = objParams.getString("token"); + String ret = cyf.unbindCar(token, park.getParkingId(), vendorPersonId); + JSONObject retObj = JSON.parseObject(ret); + if (retObj.getIntValue("result") == 1){ + }else { + logger.error("cyfUnbindCar error. paramMap: {} . cyfResult: {}",JSON.toJSONString(paramMap),ret); + String msg = retObj.getString("strError"); + throw new MallinkException(ErrorCode.CAR_BIND_FAIL.getCode(), "解绑车牌失败:"+msg); + //return new ResultData(, "绑车牌失败", retObj); + } } @Override - public ResultData carStopFee(Map paramMap, WxPark park) { + public ResultData carStopFee(Map paramMap, WxPark park) throws Exception{ return cyfCarStopFee(paramMap, park); } - private ResultData cyfCarStopFee(Map paramMap, WxPark park){ + private ResultData cyfCarStopFee(Map paramMap, WxPark park) throws Exception{ String carNumber = paramMap.get("carNumber"); if (StringUtils.isBlank(carNumber)) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); @@ -96,18 +122,19 @@ public class CYFParkService extends BaseParkService implements ParkAdapterServic if (retObj.getIntValue("result") == 1){ return new ResultData(retObj); }else { - return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(), "停车费获取失败"); + logger.error("cyfCarStopFee error. paramMap: {} . cyfResult: {}",JSON.toJSONString(paramMap),ret); + String msg = retObj.getString("strError"); + return new ResultData(ErrorCode.CYF_STOP_FEE_FAIL.getCode(), "停车费获取失败:"+msg); } - //TODO 此处得查询出来停车优惠信息,传给车易付 } @Override - public ResultData getCoupon(Map paramMap, WxPark park, WxCouponOrderCarCVo userCar,WxCoupon coupon,String carNumber) { - return new ResultData() ; + public ResultData useCoupon(Map paramMap, WxPark park, WxCouponOrderCarCVo userCar,WxCoupon coupon,String carNumber) throws Exception{ + return new ResultData(); } @Override - public ResultData getParkStatus(WxPark park) { + public ResultData getParkStatus(WxPark park) throws Exception{ return new ResultData(); } diff --git a/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java b/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java index 8e9a069be..b52536b5d 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java @@ -216,7 +216,7 @@ public class EtcpHelper { } JSONObject retObj = JSON.parseObject(ret); if (retObj.getIntValue("code") == 0) { - parkHelper.addCarInfoToDB(carNumber, EnumCarVendor.CAR_ETCP, park, cuUserId); + parkHelper.addCarInfoToDB(carNumber, EnumCarVendor.CAR_ETCP, park, cuUserId,"etcpUser"); JSONObject dataObj = retObj.getJSONObject("data"); return new ResultData(dataObj); } else { @@ -372,24 +372,34 @@ public class EtcpHelper { JSONObject retObj = JSON.parseObject(ret); if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) { - // 券状态设为已使用 - WxCouponOrder couponOrder = new WxCouponOrder(); - couponOrder.setId(userCar.getId()); - couponOrder.updateTenantInfo(park); - couponOrder.setUpdateDate(new Date()); - couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()); - try { - wxCouponOrderService.saveOrUpdate(couponOrder); - } catch (Exception e) { - logger.error("券包状态更新失败:" + couponOrder.getId()); - return new ResultData(ErrorCode.DB_FAIL.getCode(), "券包状态更新失败"); - } - return new ResultData(); + try { + updateWxCouponOrderUsed(userCar, park); + return new ResultData(); + } catch (Exception e) { + return new ResultData(ErrorCode.DB_FAIL.getCode(), "券包状态更新失败"); + } + } else { return new ResultData(ErrorCode.ETCP_QUAN_SEND_FAIL.getCode(), retObj.getString("message")); } } + public void updateWxCouponOrderUsed(WxCouponOrderCarCVo userCar,WxPark park) throws Exception { + // 券状态设为已使用 + WxCouponOrder couponOrder = new WxCouponOrder(); + couponOrder.setId(userCar.getId()); + couponOrder.updateTenantInfo(park); + couponOrder.setUpdateDate(new Date()); + couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()); + try { + wxCouponOrderService.saveOrUpdate(couponOrder); + } catch (Exception e) { + logger.error("券包状态更新失败:" + couponOrder.getId(),e); + throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "券包状态更新失败"); + } + } + + public ResultData etcpParkStatus(WxPark park) { String params = park.getVendorParams(); if (params == null) { diff --git a/mallinkService/src/main/java/com/iformall/service/park/impl/tjd/TJDParkService.java b/mallinkService/src/main/java/com/iformall/service/park/impl/tjd/TJDParkService.java index 5415cf0b7..6ca194114 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/impl/tjd/TJDParkService.java +++ b/mallinkService/src/main/java/com/iformall/service/park/impl/tjd/TJDParkService.java @@ -105,34 +105,34 @@ public class TJDParkService extends BaseParkService implements ParkAdapterServic } - private ResultData tjdInsertToDB(String carNumber, Long newCarId, JSONObject retObj, WxPark park, Long cuUserId) { - String carId = retObj.getString("carId"); - // 插入车牌 - Date curr = new Date(); - WxCUserCar userCar = new WxCUserCar(); - userCar.setId(newCarId); - userCar.setCUserId(cuUserId); - userCar.updateTenantInfo(park); - userCar.setCarNumber(carNumber); - userCar.setVendorType(EnumCarVendor.CAR_TJD.getCode()); - JSONObject jo = new JSONObject(); - jo.put("carId", carId); - userCar.setVendorParams(JSON.toJSONString(jo)); - userCar.setCreateDate(curr); - userCar.setUpdateDate(curr); - try { - wxCUserCarService.save(userCar); - wxScoreRulesService.addScore(userCar,EnumScoreType.BIND_CAR, userCar); - //增加积分 - parkHelper.addCredit(park, cuUserId); - } catch (Exception e) { - logger.error(e.getMessage()); - return new ResultData(ErrorCode.DB_FAIL.getCode(), "TJD保存车牌失败, e:" + e.getMessage()); - } - - wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR, cuUserId); - return new ResultData(); - } +// private ResultData tjdInsertToDB(String carNumber, Long newCarId, JSONObject retObj, WxPark park, Long cuUserId) { +// String carId = retObj.getString("carId"); +// // 插入车牌 +// Date curr = new Date(); +// WxCUserCar userCar = new WxCUserCar(); +// userCar.setId(newCarId); +// userCar.setCUserId(cuUserId); +// userCar.updateTenantInfo(park); +// userCar.setCarNumber(carNumber); +// userCar.setVendorType(EnumCarVendor.CAR_TJD.getCode()); +// JSONObject jo = new JSONObject(); +// jo.put("carId", carId); +// userCar.setVendorParams(JSON.toJSONString(jo)); +// userCar.setCreateDate(curr); +// userCar.setUpdateDate(curr); +// try { +// wxCUserCarService.save(userCar); +// wxScoreRulesService.addScore(userCar,EnumScoreType.BIND_CAR, userCar); +// //增加积分 +// parkHelper.addCredit(park, cuUserId); +// } catch (Exception e) { +// logger.error(e.getMessage()); +// return new ResultData(ErrorCode.DB_FAIL.getCode(), "TJD保存车牌失败, e:" + e.getMessage()); +// } +// +// wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR, cuUserId); +// return new ResultData(); +// } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/park/impl/util/ParkHelper.java b/mallinkService/src/main/java/com/iformall/service/park/impl/util/ParkHelper.java index e5541add7..0e4cc0222 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/impl/util/ParkHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/park/impl/util/ParkHelper.java @@ -40,14 +40,14 @@ public class ParkHelper { @Autowired WxCreditHistoryService wxCreditHistoryService; - public ResultData bindCar(Map paramMap, WxPark park, Long cuUserId) { + public ResultData bindCar(Map paramMap, WxPark park, Long cuUserId,String vendorPersonId) { String carNumber = paramMap.get("carNumber"); if (StringUtils.isBlank(carNumber)) { logger.error("carNumber为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); } try { - addCarInfoToDB(carNumber, EnumCarVendor.getEnum(park.getVendorType()), park, cuUserId); + addCarInfoToDB(carNumber, EnumCarVendor.getEnum(park.getVendorType()), park, cuUserId,vendorPersonId); } catch (MallinkException e) { return new ResultData(e.getErrorCode(), e.getMessage()); } catch (Exception e) { @@ -56,7 +56,7 @@ public class ParkHelper { return new ResultData(); } - public void addCarInfoToDB(String carNumber, EnumCarVendor carVendor, WxPark park, Long cuUserId) { + public void addCarInfoToDB(String carNumber, EnumCarVendor carVendor, WxPark park, Long cuUserId,String vendorPersonId) { // 插入车牌 Date curr = new Date(); WxCUserCar userCar = new WxCUserCar(); @@ -66,6 +66,7 @@ public class ParkHelper { userCar.setVendorType(carVendor.getCode()); userCar.setCreateDate(curr); userCar.setUpdateDate(curr); + userCar.setVendorPersonId(vendorPersonId); wxCUserCarService.saveOrUpdate(userCar); // 成长值 diff --git a/mallinkService/src/main/java/com/iformall/utils/car/CYFUtil.java b/mallinkService/src/main/java/com/iformall/utils/car/CYFUtil.java index 71b3411d0..9c85a5c15 100644 --- a/mallinkService/src/main/java/com/iformall/utils/car/CYFUtil.java +++ b/mallinkService/src/main/java/com/iformall/utils/car/CYFUtil.java @@ -48,8 +48,15 @@ public class CYFUtil { //会员车辆信息注册接口地址 public static final String REGISTER_CAR_URL = "http://open.cheyifu2016.com:8892/openapi/personCar"; - + //获取停车费 public static final String GET_CAR_STOPFEE = "http://open.cheyifu2016.com:8892/openapi/getFee"; + + //解绑车辆 + public static final String UNBIND_CAR = "http://oepn.cheyifu2016.com:8892/openapi/personCar/delete"; + + //上报缴费接口 + + /** @@ -83,7 +90,7 @@ public class CYFUtil { * @Author furunxin * @Date 2020/7/8 下午10:12 **/ - public String registerCar(String token,int carport,int feeGroupId,String parkingId,String plates,long personId,String personName){ + public String registerCar(String token,int carport,int feeGroupId,String parkingId,String plates,Long personId,String personName){ String[] plate = new String[1]; plate[0] = plates; Map paramMap = new HashMap<>(); @@ -93,7 +100,7 @@ public class CYFUtil { paramMap.put("endTime",getLocalDate()); paramMap.put("feeGroupId",feeGroupId); paramMap.put("lotNumber",carport); - paramMap.put("personId",personId); + //paramMap.put("personId",personId); paramMap.put("personName",personName); paramMap.put("plates",plate); String result = Proc(REGISTER_CAR_URL, paramMap); @@ -116,6 +123,22 @@ public class CYFUtil { String result = Proc(GET_CAR_STOPFEE, paramMap); return result; } + + /** + * @description 解绑车辆 + * @param token + * @param parkingId + * @param personId + * @return + */ + public String unbindCar(String token,String parkingId,String vendorPersonId) { + Map paramMap = new HashMap<>(); + paramMap.put("token ",token); + paramMap.put("parkingId",Integer.valueOf(parkingId)); + paramMap.put("personId",Integer.valueOf(vendorPersonId)); + String result = Proc(UNBIND_CAR, paramMap); + return result; + } diff --git a/mallinkService/src/main/java/com/iformall/utils/car/ETCPUtil.java b/mallinkService/src/main/java/com/iformall/utils/car/ETCPUtil.java index 7187204c0..8d0e66700 100755 --- a/mallinkService/src/main/java/com/iformall/utils/car/ETCPUtil.java +++ b/mallinkService/src/main/java/com/iformall/utils/car/ETCPUtil.java @@ -929,7 +929,7 @@ public class ETCPUtil { logger.info("post接口响应信息为:{}", responseStr); return responseStr; } catch (IOException e) { - logger.error(e.getMessage()); + logger.error(e.getMessage(),e); } return null; } @@ -946,7 +946,7 @@ public class ETCPUtil { logger.info("get请求接口响应信息为:{}", responseStr); return responseStr; } catch (IOException e) { - logger.error(e.getMessage()); + logger.error(e.getMessage(),e); } return null; } @@ -974,7 +974,7 @@ public class ETCPUtil { sb.append(Integer.toHexString(val)); } } catch (Exception ex) { - logger.error(ex.getMessage()); + logger.error(ex.getMessage(),ex); } return sb.toString().toUpperCase(); } diff --git a/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml index 28763d65f..da982577e 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml @@ -11,10 +11,11 @@ + - `id`,`tenant_id`,`parent_tenant_id`,`c_user_id`,`car_number`,`create_date`,`update_date`,`vendor_type`,`vendor_params` + `id`,`tenant_id`,`parent_tenant_id`,`c_user_id`,`car_number`,`create_date`,`update_date`,`vendor_type`,`vendor_params`,`vendor_person_id` @@ -61,6 +62,12 @@ and `vendor_params` like concat('%', #{vendorParams},'%') + + + and `vendor_person_id` = #{vendorPersonId} + + + and id in @@ -78,7 +85,7 @@