MachineUploadCarLogCmd.java 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. package com.java110.common.cmd.machineTranslate;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.java110.core.annotation.Java110Cmd;
  4. import com.java110.core.annotation.Java110Transactional;
  5. import com.java110.core.context.ICmdDataFlowContext;
  6. import com.java110.core.event.cmd.AbstractServiceCmdListener;
  7. import com.java110.core.event.cmd.CmdEvent;
  8. import com.java110.core.factory.GenerateCodeFactory;
  9. import com.java110.dto.CommunityMemberDto;
  10. import com.java110.dto.fee.FeeAttrDto;
  11. import com.java110.dto.fee.FeeConfigDto;
  12. import com.java110.dto.fee.FeeDto;
  13. import com.java110.dto.machine.CarInoutDetailDto;
  14. import com.java110.dto.machine.CarInoutDto;
  15. import com.java110.dto.machine.MachineDto;
  16. import com.java110.dto.owner.OwnerCarDto;
  17. import com.java110.dto.owner.OwnerDto;
  18. import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigDto;
  19. import com.java110.intf.common.ICarInoutDetailV1InnerServiceSMO;
  20. import com.java110.intf.common.ICarInoutPaymentV1InnerServiceSMO;
  21. import com.java110.intf.common.ICarInoutV1InnerServiceSMO;
  22. import com.java110.intf.common.IMachineInnerServiceSMO;
  23. import com.java110.intf.community.ICommunityInnerServiceSMO;
  24. import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
  25. import com.java110.intf.fee.IFeeInnerServiceSMO;
  26. import com.java110.intf.fee.ITempCarFeeConfigInnerServiceSMO;
  27. import com.java110.intf.user.IBuildingOwnerV1InnerServiceSMO;
  28. import com.java110.intf.user.IOwnerCarInnerServiceSMO;
  29. import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
  30. import com.java110.po.car.CarInoutDetailPo;
  31. import com.java110.po.car.CarInoutPo;
  32. import com.java110.po.car.OwnerCarPo;
  33. import com.java110.po.carInoutPayment.CarInoutPaymentPo;
  34. import com.java110.po.fee.FeeAttrPo;
  35. import com.java110.po.fee.PayFeePo;
  36. import com.java110.po.owner.OwnerPo;
  37. import com.java110.utils.exception.CmdException;
  38. import com.java110.utils.util.Assert;
  39. import com.java110.utils.util.DateUtil;
  40. import org.springframework.beans.factory.annotation.Autowired;
  41. import java.util.ArrayList;
  42. import java.util.List;
  43. /**
  44. * 类表述:车辆进出场
  45. * 服务编码:machineTranslate.machineUploadCarLog
  46. * 请求路劲:/app/machineTranslate.machineUploadCarLog
  47. * add by 吴学文 at 2021-09-18 13:35:13 mail: 928255095@qq.com
  48. * open source address: https://gitee.com/wuxw7/MicroCommunity
  49. * 官网:http://www.homecommunity.cn
  50. * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
  51. * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
  52. */
  53. @Java110Cmd(serviceCode = "machineTranslate.machineUploadCarLog")
  54. public class MachineUploadCarLogCmd extends AbstractServiceCmdListener {
  55. public static final int CAR_TYPE_MONTH = 0; //月租车
  56. public static final int CAR_TYPE_SUB = 1; //成员车辆
  57. public static final int CAR_TYPE_TEMP = 2; //临时车辆
  58. public static final int CAR_TYPE_NO_DATA = 3; //没有数据
  59. public static final String TEMP_CAR_OWNER = "临时车车主";
  60. public static final String CODE_PREFIX_ID = "10";
  61. @Autowired
  62. private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
  63. @Autowired
  64. private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
  65. @Autowired
  66. private ICarInoutV1InnerServiceSMO carInoutV1InnerServiceSMOImpl;
  67. @Autowired
  68. private IBuildingOwnerV1InnerServiceSMO buildingOwnerV1InnerServiceSMOImpl;
  69. @Autowired
  70. private ICarInoutDetailV1InnerServiceSMO carInoutDetailV1InnerServiceSMOImpl;
  71. @Autowired
  72. private IOwnerCarV1InnerServiceSMO ownerCarV1InnerServiceSMOImpl;
  73. @Autowired
  74. private ITempCarFeeConfigInnerServiceSMO tempCarFeeConfigInnerServiceSMOImpl;
  75. @Autowired
  76. private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
  77. @Autowired
  78. private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl;
  79. @Autowired
  80. private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
  81. @Autowired
  82. private ICarInoutPaymentV1InnerServiceSMO carInoutPaymentV1InnerServiceSMOImpl;
  83. @Override
  84. public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
  85. Assert.hasKeyAndValue(reqJson, "machineCode", "必填,请填写设备编码");
  86. Assert.hasKeyAndValue(reqJson, "carNum", "必填,请填写车牌号");
  87. Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区");
  88. }
  89. @Override
  90. @Java110Transactional
  91. public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
  92. //是否是临时车
  93. int tempCar = CAR_TYPE_MONTH;
  94. //查询设备信息
  95. MachineDto machineDto = new MachineDto();
  96. machineDto.setMachineCode(reqJson.getString("machineCode"));
  97. machineDto.setCommunityId(reqJson.getString("communityId"));
  98. machineDto.setMachineTypeCd(MachineDto.MACHINE_TYPE_CAR);
  99. List<MachineDto> machineDtos = machineInnerServiceSMOImpl.queryMachines(machineDto);
  100. Assert.listOnlyOne(machineDtos, "设备不存在");
  101. //查询车辆
  102. OwnerCarDto ownerCarDto = new OwnerCarDto();
  103. ownerCarDto.setCarNum(reqJson.getString("carNum"));
  104. ownerCarDto.setCommunityId(reqJson.getString("communityId"));
  105. List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
  106. //说明是临时车
  107. if (ownerCarDtos == null || ownerCarDtos.size() == 0) {
  108. tempCar = CAR_TYPE_NO_DATA;
  109. } else {
  110. reqJson.put("carId", ownerCarDtos.get(0).getCarId());
  111. if (OwnerCarDto.CAR_TYPE_TEMP.equals(ownerCarDtos.get(0).getCarType())) {
  112. tempCar = CAR_TYPE_TEMP;
  113. }
  114. }
  115. //进场处理
  116. if (MachineDto.DIRECTION_IN.equals(machineDtos.get(0).getDirection())) {
  117. carIn(reqJson, machineDtos.get(0), tempCar);
  118. } else {
  119. carOut(reqJson, machineDtos.get(0), tempCar);
  120. }
  121. }
  122. /**
  123. * 车辆出场
  124. *
  125. * @param reqJson
  126. * @param machineDto
  127. * @param tempCar
  128. */
  129. private void carOut(JSONObject reqJson, MachineDto machineDto, int tempCar) {
  130. CarInoutDto carInoutDto = new CarInoutDto();
  131. carInoutDto.setCommunityId(reqJson.getString("communityId"));
  132. carInoutDto.setCarNum(reqJson.getString("carNum"));
  133. carInoutDto.setPaId(machineDto.getLocationObjId());
  134. carInoutDto.setStates(new String[]{
  135. CarInoutDto.STATE_IN,
  136. CarInoutDto.STATE_PAY,
  137. CarInoutDto.STATE_REPAY
  138. });
  139. List<CarInoutDto> carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
  140. if (carInoutDtos == null || carInoutDtos.size() < 1) {
  141. //可能车辆异常情况 没有 进场 记录 补一条 carInout
  142. CarInoutPo carInoutPo = new CarInoutPo();
  143. carInoutPo.setCarNum(reqJson.getString("carNum"));
  144. carInoutPo.setCommunityId(reqJson.getString("communityId"));
  145. carInoutPo.setInoutId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
  146. carInoutPo.setInTime(reqJson.getString("outTime"));
  147. carInoutPo.setState(CarInoutDto.STATE_IN);
  148. carInoutPo.setPaId(machineDto.getLocationObjId());
  149. int flag = carInoutV1InnerServiceSMOImpl.saveCarInout(carInoutPo);
  150. if (flag < 1) {
  151. throw new CmdException("出场保存记录失败");
  152. }
  153. carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
  154. }
  155. //保存出场明细
  156. CarInoutDetailPo carInoutDetailPo = new CarInoutDetailPo();
  157. carInoutDetailPo.setCarInout(CarInoutDetailDto.CAR_INOUT_OUT);
  158. carInoutDetailPo.setCarNum(reqJson.getString("carNum"));
  159. carInoutDetailPo.setCommunityId(reqJson.getString("communityId"));
  160. carInoutDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
  161. carInoutDetailPo.setInoutId(carInoutDtos.get(0).getInoutId());
  162. carInoutDetailPo.setMachineCode(machineDto.getMachineCode());
  163. carInoutDetailPo.setMachineId(machineDto.getMachineId());
  164. carInoutDetailPo.setPaId(machineDto.getLocationObjId());
  165. int flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
  166. if (flag < 1) {
  167. throw new CmdException("保存出记录明细失败");
  168. }
  169. //将状态更新为 出场状态
  170. CarInoutPo carInoutPo = new CarInoutPo();
  171. carInoutPo.setPaId(carInoutDtos.get(0).getPaId());
  172. carInoutPo.setOutTime(reqJson.getString("outTime"));
  173. carInoutPo.setInoutId(carInoutDtos.get(0).getInoutId());
  174. carInoutPo.setCommunityId(carInoutDtos.get(0).getCommunityId());
  175. carInoutPo.setState(CarInoutDto.STATE_OUT);
  176. flag = carInoutV1InnerServiceSMOImpl.updateCarInout(carInoutPo);
  177. if (flag < 1) {
  178. throw new CmdException("更新出场时间失败");
  179. }
  180. //写支付记录
  181. CarInoutPaymentPo carInoutPaymentPo = new CarInoutPaymentPo();
  182. carInoutPaymentPo.setCommunityId(carInoutDtos.get(0).getCommunityId());
  183. carInoutPaymentPo.setInoutId(carInoutDtos.get(0).getInoutId());
  184. carInoutPaymentPo.setPaId(carInoutDtos.get(0).getPaId());
  185. carInoutPaymentPo.setPayCharge(reqJson.getString("payCharge"));
  186. carInoutPaymentPo.setPayType(reqJson.getString("payType"));
  187. carInoutPaymentPo.setRealCharge(reqJson.getString("realCharge"));
  188. flag = carInoutPaymentV1InnerServiceSMOImpl.saveCarInoutPayment(carInoutPaymentPo);
  189. if (flag < 1) {
  190. throw new CmdException("更新出场时间失败");
  191. }
  192. }
  193. /**
  194. * 车辆入场
  195. *
  196. * @param reqJson
  197. * @param machineDto
  198. * @param tempCar
  199. */
  200. private void carIn(JSONObject reqJson, MachineDto machineDto, int tempCar) {
  201. //保存
  202. CarInoutPo carInoutPo = new CarInoutPo();
  203. carInoutPo.setCarNum(reqJson.getString("carNum"));
  204. carInoutPo.setCommunityId(reqJson.getString("communityId"));
  205. carInoutPo.setInoutId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
  206. carInoutPo.setInTime(reqJson.getString("inTime"));
  207. carInoutPo.setState(CarInoutDto.STATE_IN);
  208. carInoutPo.setPaId(machineDto.getLocationObjId());
  209. int flag = carInoutV1InnerServiceSMOImpl.saveCarInout(carInoutPo);
  210. if (flag < 1) {
  211. throw new CmdException("保存入记录失败");
  212. }
  213. //保存明细
  214. CarInoutDetailPo carInoutDetailPo = new CarInoutDetailPo();
  215. carInoutDetailPo.setCarInout(CarInoutDetailDto.CAR_INOUT_IN);
  216. carInoutDetailPo.setCarNum(reqJson.getString("carNum"));
  217. carInoutDetailPo.setCommunityId(reqJson.getString("communityId"));
  218. carInoutDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
  219. carInoutDetailPo.setInoutId(carInoutPo.getInoutId());
  220. carInoutDetailPo.setMachineCode(machineDto.getMachineCode());
  221. carInoutDetailPo.setMachineId(machineDto.getMachineId());
  222. carInoutDetailPo.setPaId(machineDto.getLocationObjId());
  223. flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
  224. if (flag < 1) {
  225. throw new CmdException("保存入记录明细失败");
  226. }
  227. //月租车
  228. if (tempCar != CAR_TYPE_NO_DATA && tempCar != CAR_TYPE_TEMP) {
  229. return;
  230. }
  231. //不是自己的道闸跳过
  232. if (!MachineDto.MACHINE_TYPE_CAR.equals(machineDto.getMachineTypeCd())) {
  233. return;
  234. }
  235. // 判断是否存在 临时车 虚拟业主
  236. OwnerDto ownerDto = new OwnerDto();
  237. ownerDto.setCommunityId(reqJson.getString("communityId"));
  238. ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
  239. ownerDto.setOwnerFlag(OwnerDto.OWNER_FLAG_FALSE);
  240. ownerDto.setName(TEMP_CAR_OWNER);
  241. List<OwnerDto> ownerDtos = buildingOwnerV1InnerServiceSMOImpl.queryBuildingOwners(ownerDto);
  242. if (ownerDtos == null || ownerDtos.size() < 1) {
  243. saveTempOwner(reqJson, machineDto);
  244. } else {
  245. reqJson.put("ownerId", ownerDtos.get(0).getMemberId());
  246. }
  247. if (tempCar == CAR_TYPE_NO_DATA) {
  248. saveTempCar(reqJson, machineDto);
  249. }
  250. //创建费用
  251. TempCarFeeConfigDto tempCarFeeConfigDto = new TempCarFeeConfigDto();
  252. tempCarFeeConfigDto.setCommunityId(reqJson.getString("communityId"));
  253. tempCarFeeConfigDto.setPaId(machineDto.getLocationObjId());
  254. List<TempCarFeeConfigDto> tempCarFeeConfigDtos = tempCarFeeConfigInnerServiceSMOImpl.queryTempCarFeeConfigs(tempCarFeeConfigDto);
  255. if (tempCarFeeConfigDtos == null || tempCarFeeConfigDtos.size() < 1) { // 停车场未配置收费规则 则不创建费用
  256. return;
  257. }
  258. saveTempCarFee(reqJson, machineDto, tempCarFeeConfigDtos.get(0));
  259. }
  260. /**
  261. * 创建临时车费用
  262. *
  263. * @param reqJson
  264. * @param machineDto
  265. * @param tempCarFeeConfigDto
  266. */
  267. private void saveTempCarFee(JSONObject reqJson, MachineDto machineDto, TempCarFeeConfigDto tempCarFeeConfigDto) {
  268. CommunityMemberDto communityMemberDto = new CommunityMemberDto();
  269. communityMemberDto.setCommunityId(reqJson.getString("communityId"));
  270. communityMemberDto.setMemberTypeCd(CommunityMemberDto.MEMBER_TYPE_PROPERTY);
  271. communityMemberDto.setAuditStatusCd(CommunityMemberDto.AUDIT_STATUS_NORMAL);
  272. List<CommunityMemberDto> communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
  273. Assert.listOnlyOne(communityMemberDtos, "小区成员不存在");
  274. List<PayFeePo> payFeePos = new ArrayList<>();
  275. List<FeeAttrPo> feeAttrPos = new ArrayList<>();
  276. PayFeePo payFeePo = new PayFeePo();
  277. payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
  278. payFeePo.setEndTime(reqJson.getString("inTime"));
  279. payFeePo.setState(FeeDto.STATE_DOING);
  280. payFeePo.setCommunityId(reqJson.getString("communityId"));
  281. payFeePo.setConfigId(tempCarFeeConfigDto.getFeeConfigId());
  282. payFeePo.setPayerObjId(reqJson.getString("carId"));
  283. payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CAR);
  284. payFeePo.setUserId("-1");
  285. payFeePo.setIncomeObjId(communityMemberDtos.get(0).getMemberId());
  286. payFeePo.setFeeTypeCd(FeeConfigDto.FEE_TYPE_CD_PARKING);
  287. payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
  288. payFeePo.setAmount("-1");
  289. payFeePo.setBatchId("-1");
  290. //payFeePo.setStartTime(importRoomFee.getStartTime());
  291. payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
  292. payFeePos.add(payFeePo);
  293. FeeAttrPo feeAttrPo = new FeeAttrPo();
  294. feeAttrPo.setCommunityId(reqJson.getString("communityId"));
  295. feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
  296. feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME);
  297. feeAttrPo.setValue(reqJson.getString("inTime"));
  298. feeAttrPo.setFeeId(payFeePo.getFeeId());
  299. feeAttrPos.add(feeAttrPo);
  300. feeAttrPo = new FeeAttrPo();
  301. feeAttrPo.setCommunityId(reqJson.getString("communityId"));
  302. feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
  303. feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
  304. feeAttrPo.setValue(reqJson.getString("ownerId"));
  305. feeAttrPo.setFeeId(payFeePo.getFeeId());
  306. feeAttrPos.add(feeAttrPo);
  307. feeAttrPo = new FeeAttrPo();
  308. feeAttrPo.setCommunityId(reqJson.getString("communityId"));
  309. feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
  310. feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME);
  311. feeAttrPo.setValue(TEMP_CAR_OWNER);
  312. feeAttrPo.setFeeId(payFeePo.getFeeId());
  313. feeAttrPos.add(feeAttrPo);
  314. feeAttrPo = new FeeAttrPo();
  315. feeAttrPo.setCommunityId(reqJson.getString("communityId"));
  316. feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
  317. feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK);
  318. feeAttrPo.setValue("11111111111");
  319. feeAttrPo.setFeeId(payFeePo.getFeeId());
  320. feeAttrPos.add(feeAttrPo);
  321. int flag = feeInnerServiceSMOImpl.saveFee(payFeePos);
  322. if (flag < 1) {
  323. throw new CmdException("保存临时车费用失败");
  324. }
  325. flag = feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrPos);
  326. if (flag < 1) {
  327. throw new CmdException("保存临时车费用属性失败");
  328. }
  329. }
  330. /**
  331. * 保存业主
  332. *
  333. * @param reqJson
  334. * @param machineDto
  335. */
  336. private void saveTempOwner(JSONObject reqJson, MachineDto machineDto) {
  337. OwnerPo ownerPo = new OwnerPo();
  338. ownerPo.setSex("1");
  339. ownerPo.setCommunityId(reqJson.getString("communityId"));
  340. ownerPo.setMemberId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId));
  341. reqJson.put("ownerId", ownerPo.getMemberId());
  342. ownerPo.setLink("11111111111");
  343. ownerPo.setUserId("-1");
  344. ownerPo.setAge("1");
  345. ownerPo.setIdCard("111111111111111111");
  346. ownerPo.setName(TEMP_CAR_OWNER);
  347. ownerPo.setOwnerId(ownerPo.getMemberId());
  348. ownerPo.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
  349. ownerPo.setRemark("虚拟业主 物联网同步");
  350. ownerPo.setbId("-1");
  351. ownerPo.setOwnerFlag(OwnerDto.OWNER_FLAG_FALSE);
  352. ownerPo.setState(OwnerDto.STATE_FINISH);
  353. int flag = buildingOwnerV1InnerServiceSMOImpl.saveBuildingOwner(ownerPo);
  354. if (flag < 1) {
  355. throw new CmdException("保存临时车主");
  356. }
  357. }
  358. /**
  359. * 保存车辆
  360. *
  361. * @param reqJson
  362. * @param machineDto
  363. */
  364. private void saveTempCar(JSONObject reqJson, MachineDto machineDto) {
  365. OwnerCarPo ownerCarPo = new OwnerCarPo();
  366. ownerCarPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
  367. ownerCarPo.setCarId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_carId));
  368. ownerCarPo.setState(OwnerCarDto.STATE_NORMAL);
  369. ownerCarPo.setCommunityId(machineDto.getCommunityId());
  370. ownerCarPo.setPsId("-1");
  371. ownerCarPo.setMemberId(ownerCarPo.getCarId());
  372. ownerCarPo.setCarTypeCd(OwnerCarDto.CAR_TYPE_CD_TEMP);
  373. ownerCarPo.setCarBrand("未知");
  374. ownerCarPo.setCarColor("未知");
  375. ownerCarPo.setCarNum(reqJson.getString("carNum"));
  376. ownerCarPo.setOwnerId(reqJson.getString("ownerId"));
  377. ownerCarPo.setRemark("临时车 物联网同步");
  378. ownerCarPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
  379. ownerCarPo.setUserId("-1");
  380. int flag = ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo);
  381. if (flag < 1) {
  382. throw new CmdException("保存临时车失败");
  383. }
  384. reqJson.put("carId", ownerCarPo.getCarId());
  385. }
  386. }