From caefe9a9cc486247f831e46356b0b03ca450fdf9 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期五, 25 二月 2022 10:14:36 +0800
Subject: [PATCH] Merge branch 'dev' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into dev
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngCarServiceImpl.java | 200 +++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 182 insertions(+), 18 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngCarServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngCarServiceImpl.java
index 481784d..f069af3 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngCarServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngCarServiceImpl.java
@@ -1,21 +1,38 @@
package com.panzhihua.service_community.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.panzhihua.common.model.dtos.community.ComMngCarAppletDTO;
-import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.community.ComMngCarVO;
-import com.panzhihua.service_community.dao.ComMngCarDAO;
-import com.panzhihua.service_community.model.dos.ComMngCarDO;
-import com.panzhihua.service_community.service.ComMngCarService;
-import org.springframework.beans.BeanUtils;
-import org.springframework.context.annotation.Bean;
-import org.springframework.stereotype.Service;
+import java.util.*;
import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+
+import com.panzhihua.common.utlis.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.community.ComMngCarAppletDTO;
+import com.panzhihua.common.model.dtos.community.ComMngCarSaveDTO;
+import com.panzhihua.common.model.dtos.community.ExportComMngCarExcelDTO;
+import com.panzhihua.common.model.dtos.community.PageComMngCarDTO;
+import com.panzhihua.common.model.helper.AESUtil;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.ComMngCarExcelVO;
+import com.panzhihua.common.model.vos.community.ComMngCarVO;
+import com.panzhihua.common.model.vos.user.SysUserVO;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.utlis.ParamRegularUtil;
+import com.panzhihua.service_community.dao.ComMngCarDAO;
+import com.panzhihua.service_community.dao.ComMngStructAreaDAO;
+import com.panzhihua.service_community.dao.ComMngVillageDAO;
+import com.panzhihua.service_community.model.dos.ComMngCarDO;
+import com.panzhihua.service_community.model.dos.ComMngStructAreaDO;
+import com.panzhihua.service_community.model.dos.ComMngVillageDO;
+import com.panzhihua.service_community.service.ComMngCarService;
/**
* @description:
@@ -27,10 +44,20 @@
@Resource
private ComMngCarDAO comMngCarDAO;
+ @Resource
+ private ComMngStructAreaDAO comMngStructAreaDAO;
+ @Resource
+ private ComMngVillageDAO comMngVillageDAO;
+ @Resource
+ private UserService userService;
+ @Value("${domain.aesKey:}")
+ private String aesKey;
@Override
public R addComMngCarApplet(ComMngCarAppletDTO comCvtBusinessDTO) {
- int count = comMngCarDAO.selectCount(new QueryWrapper<ComMngCarDO>().lambda().eq(ComMngCarDO::getPlateNum, comCvtBusinessDTO.getPlateNum()));
+ int count = comMngCarDAO.selectCount(
+ new QueryWrapper<ComMngCarDO>().lambda().eq(ComMngCarDO::getPlateNum, comCvtBusinessDTO.getPlateNum())
+ .and(wrapper -> wrapper.eq(ComMngCarDO::getSource, 1)));
if (count > 0) {
return R.ok("车辆已存在");
}
@@ -47,12 +74,149 @@
@Override
public R userComMngCarList(Long userId) {
List<ComMngCarVO> comMngCarVOS = new ArrayList<>();
- List<ComMngCarDO> carDOS = comMngCarDAO.selectList(new QueryWrapper<ComMngCarDO>().lambda().eq(ComMngCarDO::getUserId,userId));
- carDOS.forEach(carDO->{
+ List<ComMngCarDO> carDOS =
+ comMngCarDAO.selectList(new QueryWrapper<ComMngCarDO>().lambda().eq(ComMngCarDO::getUserId, userId));
+ carDOS.forEach(carDO -> {
ComMngCarVO carVO = new ComMngCarVO();
- BeanUtils.copyProperties(carDO,carVO);
+ BeanUtils.copyProperties(carDO, carVO);
comMngCarVOS.add(carVO);
});
return R.ok(comMngCarVOS);
}
+
+ @Override
+ public R pageQueryComMngCar(PageComMngCarDTO pageComMngCarDTO) {
+ Page page = new Page<>();
+ Long pageNum = pageComMngCarDTO.getPageNum();
+ Long pageSize = pageComMngCarDTO.getPageSize();
+ if (null == pageNum || 0 == pageNum) {
+ pageNum = 1l;
+ }
+ if (null == pageSize || 0 == pageSize) {
+ pageSize = 10l;
+ }
+ page.setSize(pageSize);
+ page.setCurrent(pageNum.longValue());
+ IPage<ComMngCarVO> iPage = comMngCarDAO.pageQueryComMngCar(page, pageComMngCarDTO);
+ return R.ok(iPage);
+ }
+
+ @Override
+ public R saveComMngCar(ComMngCarSaveDTO comMngCarSaveDTO) {
+ boolean carResult = ParamRegularUtil.carNumRegular(comMngCarSaveDTO.getPlateNum());
+ if (!carResult) {
+ return R.fail("车牌号有误!");
+ }
+ if (comMngCarSaveDTO.getId() == null) {
+ List<ComMngCarDO> existList = comMngCarDAO.selectList(
+ new QueryWrapper<ComMngCarDO>().lambda().eq(ComMngCarDO::getPlateNum, comMngCarSaveDTO.getPlateNum()));
+ if (!existList.isEmpty()) {
+ return R.fail("车辆已存在");
+ }
+ }
+ ComMngVillageDO comMngVillageDO = comMngVillageDAO.selectById(comMngCarSaveDTO.getAreaId());
+ if (ObjectUtils.isEmpty(comMngVillageDO)) {
+ return R.fail("小区不存在");
+ }
+ if (ObjectUtils.isEmpty(comMngCarSaveDTO.getMobile())) {
+ return R.fail("车主手机号码不能为空");
+ }
+ if (ObjectUtils.isEmpty(comMngCarSaveDTO.getCardNo())) {
+ return R.fail("车主身份证号码不能为空");
+ }
+ ComMngCarDO comMngCarDO = new ComMngCarDO();
+ BeanUtils.copyProperties(comMngCarSaveDTO, comMngCarDO);
+ //如果小区没有名字,则将街路巷和地区号拼接起来
+ if(comMngVillageDO.getName() != null && StringUtils.isNotEmpty(comMngVillageDO.getName())){
+ comMngCarDO.setAreaName(comMngVillageDO.getName());
+ }else{
+ StringBuilder sb = new StringBuilder();
+ sb.append(comMngVillageDO.getAlley());
+ if(!comMngVillageDO.getHouseNum().contains("号")){
+ sb.append(comMngVillageDO.getHouseNum() + "号");
+ }
+ comMngCarDO.setAreaName(sb.toString());
+ }
+// if(comMngVillageDO.getGroupAt() == null){
+// comMngCarDO.setAreaName(comMngVillageDO.getGroupAt());
+// }
+ comMngCarDO.setCommunityId(comMngVillageDO.getCommunityId());
+ try {
+ comMngCarDO.setCardNo(AESUtil.encrypt128(comMngCarSaveDTO.getCardNo(), aesKey));
+ } catch (Exception e) {
+
+ }
+ comMngCarDO.setCreateAt(new Date());
+ comMngCarDO.setSource(2);
+ R<SysUserVO> sysUserVOR = userService.getSysUserVOByPhone(comMngCarSaveDTO.getMobile());
+ if (R.isOk(sysUserVOR)) {
+ SysUserVO sysUserVO =
+ JSONObject.parseObject(JSONObject.toJSONString(sysUserVOR.getData()), SysUserVO.class);
+ comMngCarSaveDTO.setUserId(sysUserVO.getUserId());
+ }
+ if (null != comMngCarDO.getId() && comMngCarDO.getId() != 0) {
+ boolean update = this.updateById(comMngCarDO);
+ if (update) {
+ return R.ok();
+ }
+ } else {
+ boolean insert = this.save(comMngCarDO);
+ if (insert) {
+ return R.ok();
+ }
+ }
+ return R.fail();
+ }
+
+ @Override
+ public R deleteComMngCar(Long id) {
+ int delete = comMngCarDAO.deleteById(id);
+ if (delete == 0) {
+ return R.fail("车辆信息不存在");
+ }
+ return R.ok();
+ }
+
+ @Override
+ public R listSaveMngCarExcelVO(List<ComMngCarExcelVO> list, Long communityId) {
+ // 获取社区下所有的小区
+ List<ComMngStructAreaDO> comMngStructAreaDOs = comMngStructAreaDAO.selectList(
+ new QueryWrapper<ComMngStructAreaDO>().lambda().eq(ComMngStructAreaDO::getCommunityId, communityId));
+ Map<String, ComMngStructAreaDO> areaMap = new HashMap<>(comMngStructAreaDOs.size());
+ comMngStructAreaDOs.forEach(comMngStructAreaDO -> {
+ areaMap.put(comMngStructAreaDO.getAreaName(), comMngStructAreaDO);
+ });
+ List<ComMngCarDO> comMngCarDOS = new ArrayList<>();
+ list.forEach(vo -> {
+ int count = comMngCarDAO.selectCount(new QueryWrapper<ComMngCarDO>().lambda()
+ .eq(ComMngCarDO::getPlateNum, vo.getPlateNum()).and(wrapper -> wrapper.eq(ComMngCarDO::getSource, 2)));
+ if (count == 0 && areaMap.containsKey(vo.getAreaName())) {
+ ComMngCarDO comMngCarDO = new ComMngCarDO();
+ BeanUtils.copyProperties(vo, comMngCarDO);
+ try {
+ comMngCarDO.setCardNo(AESUtil.encrypt128(vo.getCardNo(), aesKey));
+ } catch (Exception e) {
+
+ }
+ comMngCarDO.setCommunityId(communityId);
+ comMngCarDO.setAreaId(areaMap.get(vo.getAreaName()).getId());
+ R<SysUserVO> sysUserVOR = userService.getSysUserVOByPhone(vo.getMobile());
+ if (R.isOk(sysUserVOR)) {
+ SysUserVO sysUserVO =
+ JSONObject.parseObject(JSONObject.toJSONString(sysUserVOR.getData()), SysUserVO.class);
+ comMngCarDO.setUserId(sysUserVO.getUserId());
+ }
+ comMngCarDO.setSource(2);
+ comMngCarDOS.add(comMngCarDO);
+ }
+ });
+ this.saveBatch(comMngCarDOS);
+ return R.ok("共计导入车辆数量:" + comMngCarDOS.size());
+ }
+
+ @Override
+ public R exportRealCar(ExportComMngCarExcelDTO exportComMngCarExcelDTO) {
+ List<ComMngCarExcelVO> list = comMngCarDAO.exportRealCar(exportComMngCarExcelDTO);
+ return R.ok(list);
+ }
}
--
Gitblit v1.7.1