| @@ -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'; | |||
| @@ -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()); | |||
| } | |||
| } | |||
| } | |||
| @@ -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; | |||
| } | |||
| @@ -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; | |||
| @@ -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); | |||
| @@ -15,36 +15,36 @@ public interface ParkAdapterService { | |||
| * @param paramMap | |||
| * @param park | |||
| * @param member | |||
| * @return | |||
| * @return vendorPersonId 停车场的会员编号 | |||
| */ | |||
| ResultData initLogin(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member); | |||
| String initLogin(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) throws Exception; | |||
| /** | |||
| * 绑定车牌 | |||
| * @param paramMap | |||
| * @param park | |||
| * @param cuUserId | |||
| * @return | |||
| * @return vendorPersonId 停车场的会员编号 | |||
| */ | |||
| ResultData bindCar(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member); | |||
| String bindCar(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) throws Exception; | |||
| /** | |||
| * 解绑车牌 | |||
| */ | |||
| ResultData unbindCar(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member); | |||
| void unbindCar(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) throws Exception; | |||
| /** | |||
| * 获取停车费 | |||
| */ | |||
| ResultData carStopFee(Map<String, String> paramMap, WxPark park); | |||
| ResultData carStopFee(Map<String, String> paramMap, WxPark park) throws Exception; | |||
| /** | |||
| * 获取停车优免券 | |||
| * 停车券使用 | |||
| */ | |||
| ResultData getCoupon(Map<String, String> paramMap,WxPark park,WxCouponOrderCarCVo userCar,WxCoupon coupon,String carNumber); | |||
| ResultData useCoupon(Map<String, String> paramMap,WxPark park,WxCouponOrderCarCVo userCar,WxCoupon coupon,String carNumber) throws Exception; | |||
| /** | |||
| * 查询停车场状态 | |||
| */ | |||
| ResultData getParkStatus(WxPark park); | |||
| ResultData getParkStatus(WxPark park) throws Exception; | |||
| } | |||
| @@ -17,17 +17,4 @@ public class BaseParkService { | |||
| @Autowired | |||
| ParkHelper parkHelper; | |||
| protected ResultData defaultInitLogin(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) { | |||
| Map resultMap = new HashMap(); | |||
| resultMap.put("vendor", park.getVendorType()); | |||
| return new ResultData(resultMap); | |||
| } | |||
| protected ResultData defaultBindCar(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) { | |||
| return parkHelper.bindCar(paramMap, park, member.getId()); | |||
| } | |||
| protected ResultData defaultUnbindCar(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) { | |||
| return parkHelper.unbindCar(paramMap, park, member.getId()); | |||
| } | |||
| } | |||
| @@ -23,13 +23,13 @@ import com.iformall.utils.car.BoLinkUtil; | |||
| public class BoLinkParkService extends BaseParkService implements ParkAdapterService { | |||
| @Override | |||
| public ResultData initLogin(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) { | |||
| return super.defaultInitLogin(paramMap, park, member); | |||
| public String initLogin(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) { | |||
| return null; | |||
| } | |||
| @Override | |||
| public ResultData bindCar(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) { | |||
| return super.defaultBindCar(paramMap, park, member); | |||
| public String bindCar(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) { | |||
| return null; | |||
| } | |||
| @Override | |||
| @@ -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<String, String> paramMap, WxPark park, WxCUserBasicInfo member) { | |||
| return super.defaultInitLogin(paramMap, park, member); | |||
| public String initLogin(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) throws Exception{ | |||
| return null; | |||
| } | |||
| @Override | |||
| public ResultData bindCar(Map<String, String> paramMap, WxPark park, WxCUserBasicInfo member) { | |||
| public String bindCar(Map<String, String> 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<String, String> paramMap, WxPark park,WxCUserBasicInfo member) { | |||
| private String cyfBindCar(Map<String, String> 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<String, String> paramMap, WxPark park, WxCUserBasicInfo member) { | |||
| return super.defaultUnbindCar(paramMap, park, member); | |||
| public void unbindCar(Map<String, String> 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<String, String> paramMap, WxPark park) { | |||
| public ResultData carStopFee(Map<String, String> paramMap, WxPark park) throws Exception{ | |||
| return cyfCarStopFee(paramMap, park); | |||
| } | |||
| private ResultData cyfCarStopFee(Map<String, String> paramMap, WxPark park){ | |||
| private ResultData cyfCarStopFee(Map<String, String> 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<String, String> paramMap, WxPark park, WxCouponOrderCarCVo userCar,WxCoupon coupon,String carNumber) { | |||
| return new ResultData() ; | |||
| public ResultData useCoupon(Map<String, String> 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(); | |||
| } | |||
| @@ -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) { | |||
| @@ -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 | |||
| @@ -40,14 +40,14 @@ public class ParkHelper { | |||
| @Autowired | |||
| WxCreditHistoryService wxCreditHistoryService; | |||
| public ResultData bindCar(Map<String, String> paramMap, WxPark park, Long cuUserId) { | |||
| public ResultData bindCar(Map<String, String> 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); | |||
| // 成长值 | |||
| @@ -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<String, Object> 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<String, Object> 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; | |||
| } | |||
| @@ -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(); | |||
| } | |||
| @@ -11,10 +11,11 @@ | |||
| <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" /> | |||
| <result column="vendor_type" jdbcType="INTEGER" property="vendorType" /> | |||
| <result column="vendor_params" jdbcType="VARCHAR" property="vendorParams" /> | |||
| <result column="vendor_person_id" jdbcType="VARCHAR" property="vendorPersonId" /> | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `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` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -61,6 +62,12 @@ | |||
| and `vendor_params` like concat('%', #{vendorParams},'%') | |||
| </if> | |||
| <if test=" null != vendorPersonId "> | |||
| and `vendor_person_id` = #{vendorPersonId} | |||
| </if> | |||
| <if test=" null != ids "> | |||
| and id in | |||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||
| @@ -78,7 +85,7 @@ | |||
| </select> | |||
| <select id="countList" parameterType="com.iformall.domain.po.WxCUserCar" resultType="java.lang.Integer"> | |||
| select count(*) from wx_c_user_car | |||
| select count(1) from wx_c_user_car | |||
| <include refid="dynamicWhereConditions" /> | |||
| </select> | |||