Jelajahi Sumber

后端修改

dengyj 4 tahun lalu
induk
melakukan
9a9c57c896

+ 53 - 56
src/main/java/com/steerinfo/baseinfo/meterbasecar/controller/MeterBaseCarController.java

@@ -228,16 +228,20 @@ public class MeterBaseCarController extends BaseRESTfulController {
     @Transactional
     @PostMapping(value = "/appregister")
     public RESTfulResult appregister(@RequestBody HashMap params) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        //重置密码是否报错
+        String msg = "";
+        //记录注册或者更新了多少个司机
+        int count = 0;
         try {
-            String msg = "";
             SSOUtil ssoUtil = new SSOUtil();
             HashMap ssoMap = ssoUtil.ssoRegister(params);
             // sso注册成功或者没有注册成功都新增车辆和司机信息
-            if (ssoMap.get("code").equals("1") && !"账号已被注册".equals(ssoMap.get("msg").toString())) {
-                return failed(null, ssoMap.get("msg").toString());
+            if (ssoMap.get("code").equals("1") && !"账号已被注册".equals(ssoMap.get("msg").toString()) && false) {
+                rm.setMessage(ssoMap.get("msg").toString());
+                return rm;
             } else {
-                // 清除SSO"账号已被注册"
-                msg = "";
                 String carNo = params.get("carNo").toString();
                 HashMap queryCar = new HashMap();
                 queryCar.put("carNo", carNo);
@@ -319,62 +323,50 @@ public class MeterBaseCarController extends BaseRESTfulController {
                     car.setUpdateManName("admins");
                     car.setUpdateTime(new Date());
                     meterBaseCarMapper.updateByPrimaryKeySelective(car);
-                    ssoUtil.ssoResetPwd(car.getSsoId(), params.get("password").toString(), "");
-                }else if(queryList01.size() >= 1) {
-                    return failed(null, "车辆配置表已存在服役的车辆信息,请停役"+ carNo +"车辆,在进行车辆注册!!");
+                    // 将sso id写入车辆表,便于以后删除和重置密码
+                    if(StringUtils.isNotEmpty(car.getSsoId())){
+                        msg = ssoUtil.ssoResetPwd(car.getSsoId(), params.get("password").toString(), "");
+                    }
                 }
+
                 // 拆分司机list,新增司机表
                 List<MeterBaseDriver> driverList = JSONObject.parseArray(params.get("driverList").toString(), MeterBaseDriver.class);
-                // 循环新增司机
                 for (MeterBaseDriver driver : driverList) {
-                    // 检查司机是否存在
+                    //主键:车号+电话号码
+                    driver.setId(params.get("carNo").toString() + driver.getTelNum());
+                    driver.setDriverNo(params.get("carNo").toString() + driver.getTelNum());
+                    driver.setCarId(params.get("carNo").toString());
+                    driver.setDriverName(driver.getDriverName());
+                    driver.setTelNum(driver.getTelNum());
+
                     HashMap query = new HashMap();
                     query.put("carId", params.get("carNo").toString());
-                    query.put("driverName", driver.getDriverName());
                     query.put("telNum", driver.getTelNum());
-                    query.put("validFlag", "0");
                     List<MeterBaseDriver> list = meterBaseDriverService.query(query);
-                    // 司机表已存在时,跳过
-                    if (list.size() == 0) {
-                        // 将司机信息加入实体
-                        // 主键改为日期主键
-//                        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
-//                        String no = meterBaseDriverMapper.getNewID(sdf.format(new Date()));
-//                        driver.setId(sdf.format(new Date()) + no);
-                        String pkNO = params.get("carNo").toString() + driver.getTelNum();
-                        driver.setId(pkNO);
-                        driver.setCarId(params.get("carNo").toString());
-                        driver.setDriverName(driver.getDriverName());
-                        driver.setTelNum(driver.getTelNum());
-                        driver.setValidFlag("0");
-                        driver.setCreateManNo("admin");
-                        driver.setCreateManName("admins");
-                        driver.setCreateTime(new Date());
-
-                        MeterBaseDriver list1 = meterBaseDriverMapper.selectByPrimaryKey(pkNO);
-                        if(list1 == null){
-                            meterBaseDriverService.checkandadd(driver);
-                        } else {
-                            list1.setValidFlag("0");
-                            meterBaseDriverMapper.updateByPrimaryKeySelective(list1);
-                        }
-                    }
-                    if (com.steerinfo.util.StringUtils.isNotEmpty(msg)) {
-                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        break;
+                    // 车辆信息已存在,则更新;车辆信息不存在,则插入
+                    if (list.size() >= 1) {
+                        driver.setUpdateManNo("admin");
+                        driver.setUpdateManName("admins");
+                        driver.setUpdateTime(new Date());
+                        meterBaseDriverMapper.updateByPrimaryKeySelective(driver);
+                    }else{
+                        meterBaseDriverService.checkandadd(driver);
                     }
+                    count ++;
                 }
             }
             if (com.steerinfo.util.StringUtils.isNotEmpty(msg)) {
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return failed(null, msg);
+                rm.setMessage("重置密码失败,请确认!!");
+                return rm;
             }
         } catch (Exception e) {
             e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return failed(null, "操作异常,请确认!");
+            rm.setMessage("操作异常,请确认!!!>>>" + e.getMessage());
+            return rm;
         }
-        return success("车辆注册成功");
+        rm.setSucceed();
+        rm.setMessage(params.get("carNo") + "车辆包含"+ count +"名司机注册成功");
+        return rm;
     }
 
     @ApiOperation(value = "app登录", notes = "app登录")
@@ -717,9 +709,11 @@ public class MeterBaseCarController extends BaseRESTfulController {
     @Transactional
     @PostMapping(value = "/addcar")
     public RESTfulResult addcar(@RequestBody HashMap params) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        //重置密码信息报错
+        String msg = "";
         try {
-            String msg = "";
-
             // 检查车辆是否存在
             HashMap query = new HashMap();
             query.put("carNo", params.get("carNo").toString());
@@ -728,7 +722,6 @@ public class MeterBaseCarController extends BaseRESTfulController {
                 // sso注册
                 SSOUtil ssoUtil = new SSOUtil();
                 HashMap ssoMap = ssoUtil.ssoRegister(params);
-
                 // sso注册成功时,增加车辆表
                 if (ssoMap.get("code").equals("1") && false) {
                     return failed(null, ssoMap.get("msg").toString());
@@ -755,7 +748,6 @@ public class MeterBaseCarController extends BaseRESTfulController {
                     car.setCreateTime(new Date());
                     // 将sso id写入车辆表,便于以后删除和重置密码
                     car.setSsoId(ssoMap.get("data").toString());
-
                     msg = meterBaseCarService.checkandadd(car);
                 }
             } else {
@@ -778,24 +770,29 @@ public class MeterBaseCarController extends BaseRESTfulController {
                 car.setUpdateManNo("admin");
                 car.setUpdateManName("admins");
                 car.setUpdateTime(new Date());
-
                 // 将sso id写入车辆表,便于以后删除和重置密码
-                if (car.getSsoId() != null) {
+                if (StringUtils.isNotEmpty(car.getSsoId())) {
                     // SSO重置密码
                     SSOUtil ssoUtil = new SSOUtil();
                     msg = ssoUtil.ssoResetPwd(car.getSsoId(), params.get("password").toString(), "");
                 }
                 meterBaseCarMapper.updateByPrimaryKeySelective(car);
             }
-            if (com.steerinfo.util.StringUtils.isNotEmpty(msg)) {
-                return failed(null, msg);
+            HashMap<String, Object> obj = new HashMap<>();
+            obj.put("carId", params.get("carNo").toString());
+            meterBaseDriverMapper.updateValidFlagByCarId(obj);
+            if (StringUtils.isNotEmpty(msg)) {
+                rm.setMessage("重置密码失败,请确认!!");
+                return rm;
             }
         } catch (Exception e) {
             e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return failed(null, "操作异常,请确认!");
+            rm.setMessage("操作异常,请确认!!>>>>>" + e.getMessage());
+            return rm;
         }
-        return success();
+        rm.setSucceed();
+        rm.setMessage("添加车辆成功");
+        return rm;
     }
 
     @ApiOperation(value = "PC新增车辆", notes = "PC新增车辆")