Browse Source

后端修改

BourneCao 4 years ago
parent
commit
3430c9750e
20 changed files with 792 additions and 164 deletions
  1. 3 3
      src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/controller/MeterBaseCalibraNumRelController.java
  2. 3 3
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/controller/MeterBaseCalibraRelationController.java
  3. 4 4
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrationnum/controller/MeterBaseCalibrationNumController.java
  4. 4 4
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrationtime/controller/MeterBaseCalibrationTimeController.java
  5. 321 19
      src/main/java/com/steerinfo/baseinfo/meterbasecar/controller/MeterBaseCarController.java
  6. 8 2
      src/main/java/com/steerinfo/baseinfo/meterbasecar/mapper/MeterBaseCarMapper.java
  7. 104 62
      src/main/java/com/steerinfo/baseinfo/meterbasecar/mapper/MeterBaseCarMapper.xml
  8. 36 27
      src/main/java/com/steerinfo/baseinfo/meterbasecar/model/MeterBaseCar.java
  9. 11 4
      src/main/java/com/steerinfo/baseinfo/meterbasecar/service/IMeterBaseCarService.java
  10. 112 6
      src/main/java/com/steerinfo/baseinfo/meterbasecar/service/impl/MeterBaseCarServiceImpl.java
  11. 4 2
      src/main/java/com/steerinfo/baseinfo/meterbasecussupcar/controller/MeterBaseCusSupCarController.java
  12. 2 2
      src/main/java/com/steerinfo/baseinfo/meterbasedriver/controller/MeterBaseDriverController.java
  13. 2 2
      src/main/java/com/steerinfo/baseinfo/meterbasedriver/service/IMeterBaseDriverService.java
  14. 2 2
      src/main/java/com/steerinfo/baseinfo/meterbasedriver/service/impl/MeterBaseDriverServiceImpl.java
  15. 5 5
      src/main/java/com/steerinfo/baseinfo/meterbasehistarecount/controller/MeterBaseHisTareCountController.java
  16. 3 3
      src/main/java/com/steerinfo/baseinfo/meterbasehistaredata/controller/MeterBaseHisTareDataController.java
  17. 1 1
      src/main/java/com/steerinfo/baseinfo/meterbasespotinfo/controller/MeterBaseSpotInfoController.java
  18. 1 2
      src/main/java/com/steerinfo/baseinfo/meterbasevoicerelation/mapper/MeterBaseVoiceRelationMapper.xml
  19. 85 0
      src/main/java/com/steerinfo/util/HttpsRequest.java
  20. 81 11
      src/main/java/com/steerinfo/util/SSOUtil.java

+ 3 - 3
src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/controller/MeterBaseCalibraNumRelController.java

@@ -42,7 +42,7 @@ public class MeterBaseCalibraNumRelController extends BaseRESTfulController {
     @Autowired
     IMeterBaseCalibraNumRelService meterBaseCalibraNumRelService;
 
-    @ApiOperation(value = "获取列表", notes = "分页查询")
+    @ApiOperation(value = "获取列表-网页", notes = "分页查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
@@ -76,7 +76,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "创建", notes = "根据MeterBaseCalibraNumRel对象创建")
+    @ApiOperation(value = "创建-网页", notes = "根据MeterBaseCalibraNumRel对象创建")
     @ApiImplicitParam(name = "meterBaseCalibraNumRel", value = "详细实体meterBaseCalibraNumRel", required = true, dataType = "MeterBaseCalibraNumRel")
     //@RequiresPermissions("meterbasecalibranumrel:create")
     @Transactional
@@ -127,7 +127,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "删除", notes = "根据url的实体集来指定删除对象")
+    @ApiOperation(value = "删除-网页", notes = "根据url的实体集来指定删除对象")
     @ApiImplicitParam(name = "MeterBaseCalibraNumRel", value = "详细实体MeterBaseCalibraNumRel", required = true, dataType = "MeterBaseCalibraNumRel")
     @PutMapping(value = "/")
     public RESTfulResult delete(@RequestBody List<MeterBaseCalibraNumRel> models) {

+ 3 - 3
src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/controller/MeterBaseCalibraRelationController.java

@@ -41,7 +41,7 @@ public class MeterBaseCalibraRelationController extends BaseRESTfulController {
     @Autowired
     IMeterBaseCalibraRelationService meterBaseCalibraRelationService;
 
-    @ApiOperation(value = "获取列表", notes = "分页查询")
+    @ApiOperation(value = "获取列表-网页", notes = "分页查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
@@ -75,7 +75,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "创建", notes = "根据MeterBaseCalibraRelation对象创建")
+    @ApiOperation(value = "创建-网页", notes = "根据MeterBaseCalibraRelation对象创建")
     @ApiImplicitParam(name = "meterBaseCalibraRelation", value = "详细实体meterBaseCalibraRelation", required = true, dataType = "MeterBaseCalibraRelation")
     //@RequiresPermissions("meterbasecalibrarelation:create")
     @Transactional
@@ -127,7 +127,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "删除", notes = "根据url的实体集来指定删除对象")
+    @ApiOperation(value = "删除-网页", notes = "根据url的实体集来指定删除对象")
     @ApiImplicitParam(name = "MeterBaseCalibraRelation", value = "详细实体MeterBaseCalibraRelation", required = true, dataType = "MeterBaseCalibraRelation")
     @PutMapping(value = "/")
     public RESTfulResult delete(@RequestBody List<MeterBaseCalibraRelation> models) {

+ 4 - 4
src/main/java/com/steerinfo/baseinfo/meterbasecalibrationnum/controller/MeterBaseCalibrationNumController.java

@@ -44,7 +44,7 @@ public class MeterBaseCalibrationNumController extends BaseRESTfulController {
     @Autowired
     IMeterBaseCalibrationNumService meterBaseCalibrationNumService;
 
-    @ApiOperation(value = "获取列表", notes = "分页查询")
+    @ApiOperation(value = "获取列表-网页", notes = "分页查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
@@ -78,7 +78,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "创建", notes = "根据MeterBaseCalibrationNum对象创建")
+    @ApiOperation(value = "创建-网页", notes = "根据MeterBaseCalibrationNum对象创建")
     @ApiImplicitParam(name = "meterBaseCalibrationNum", value = "详细实体meterBaseCalibrationNum", required = true, dataType = "MeterBaseCalibrationNum")
     //@RequiresPermissions("meterbasecalibrationnum:create")
     @Transactional
@@ -112,7 +112,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "更新详细信息", notes = "根据url的id来指定更新对象,并根据传过来的meterBaseCalibrationNum信息来更新详细信息")
+    @ApiOperation(value = "更新详细信息-网页", notes = "根据url的id来指定更新对象,并根据传过来的meterBaseCalibrationNum信息来更新详细信息")
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String"),
             @ApiImplicitParam(name = "meterBaseCalibrationNum", value = "详细实体meterBaseCalibrationNum", required = true, dataType = "MeterBaseCalibrationNum")
@@ -148,7 +148,7 @@ throw new MarkerMetException(500, "操作异常!!");
         return success();
     }
 
-    @ApiOperation(value = "批量删除", notes = "根据url的MeterBaseCalibrationNum来指定删除对象")
+    @ApiOperation(value = "批量删除-网页", notes = "根据url的MeterBaseCalibrationNum来指定删除对象")
     @ApiImplicitParam(name = "meterBaseCalibrationNum", value = "详细实体meterBaseCalibrationNum", required = true, dataType = "MeterBaseCalibrationNum")
     //@RequiresPermissions("meterbasecalibrationtime:delete")
     @PutMapping(value = "/")

+ 4 - 4
src/main/java/com/steerinfo/baseinfo/meterbasecalibrationtime/controller/MeterBaseCalibrationTimeController.java

@@ -42,7 +42,7 @@ public class MeterBaseCalibrationTimeController extends BaseRESTfulController {
     @Autowired
     IMeterBaseCalibrationTimeService meterBaseCalibrationTimeService;
 
-    @ApiOperation(value = "获取列表", notes = "分页查询")
+    @ApiOperation(value = "获取列表-网页", notes = "分页查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
@@ -76,7 +76,7 @@ public class MeterBaseCalibrationTimeController extends BaseRESTfulController {
         }
     }
 
-    @ApiOperation(value = "创建", notes = "根据MeterBaseCalibrationTime对象创建")
+    @ApiOperation(value = "创建-网页", notes = "根据MeterBaseCalibrationTime对象创建")
     @ApiImplicitParam(name = "meterBaseCalibrationTime", value = "详细实体meterBaseCalibrationTime", required = true, dataType = "MeterBaseCalibrationTime")
     //@RequiresPermissions("meterbasecalibrationtime:create")
     @Transactional
@@ -109,7 +109,7 @@ public class MeterBaseCalibrationTimeController extends BaseRESTfulController {
         }
     }
 
-    @ApiOperation(value = "更新详细信息", notes = "根据url的id来指定更新对象,并根据传过来的meterBaseCalibrationTime信息来更新详细信息")
+    @ApiOperation(value = "更新详细信息-网页", notes = "根据url的id来指定更新对象,并根据传过来的meterBaseCalibrationTime信息来更新详细信息")
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String"),
             @ApiImplicitParam(name = "meterBaseCalibrationTime", value = "详细实体meterBaseCalibrationTime", required = true, dataType = "MeterBaseCalibrationTime")
@@ -132,7 +132,7 @@ public class MeterBaseCalibrationTimeController extends BaseRESTfulController {
         return success();
     }
 
-    @ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
+    @ApiOperation(value = "删除-网页", notes = "根据url的id来指定删除对象")
     @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String")
     //@RequiresPermissions("meterbasecalibrationtime:delete")
     @PutMapping(value = "/")

+ 321 - 19
src/main/java/com/steerinfo/baseinfo/meterbasecar/controller/MeterBaseCarController.java

@@ -1,32 +1,38 @@
 package com.steerinfo.baseinfo.meterbasecar.controller;
 
+import com.alibaba.fastjson.JSONObject;
+import com.steerinfo.baseinfo.meterbasecussupcar.model.MeterBaseCusSupCar;
+import com.steerinfo.baseinfo.meterbasedriver.model.MeterBaseDriver;
+import com.steerinfo.baseinfo.meterbasedriver.service.IMeterBaseDriverService;
 import com.steerinfo.framework.controller.BaseRESTfulController;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageList;
+import com.steerinfo.framework.user.UserPayload;
 import com.steerinfo.framework.utils.collection.ListUtils;
 import com.steerinfo.baseinfo.meterbasecar.model.MeterBaseCar;
 import com.steerinfo.baseinfo.meterbasecar.service.IMeterBaseCarService;
+import com.steerinfo.util.SSOUtil;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.ArrayList;
+import java.util.*;
 import java.math.BigDecimal;
 
 /**
  * MeterBaseCar RESTful接口:
  * @author generator
- * @version 1.0-SNAPSHORT 2022-01-08 04:36
+ * @version 1.0-SNAPSHORT 2022-01-10 10:09
  * 类描述
  * 修订历史:
- * 日期:2022-01-08
+ * 日期:2022-01-10
  * 作者:generator
  * 参考:
  * 描述:MeterBaseCar RESTful接口
@@ -35,11 +41,15 @@ import java.math.BigDecimal;
  */
 @RestController
 @RequestMapping("/${api.version}/meterbasecars")
+@Api(value = "/${api.version}/meterbasecars", tags = "车辆信息 - MeterBaseCarControllerv")
 public class MeterBaseCarController extends BaseRESTfulController {
 
     @Autowired
     IMeterBaseCarService meterBaseCarService;
 
+    @Autowired
+    IMeterBaseDriverService meterBaseDriverService;
+
     @ApiOperation(value="获取列表", notes="分页查询")
     @ApiImplicitParams({
         @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
@@ -74,31 +84,323 @@ public class MeterBaseCarController extends BaseRESTfulController {
     }
 
     @ApiOperation(value="获取详细信息", notes="根据url的id来获取详细信息")
-    @ApiImplicitParam(name = "model", value = "详细实体meterBaseCar的id值", required = true, dataType = "MeterBaseCar")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String")
     //@RequiresPermissions("meterbasecar:view")
-    @GetMapping(value = "/getById")
-    public RESTfulResult get(@ModelAttribute MeterBaseCar model){
-        MeterBaseCar meterBaseCar = meterBaseCarService.getById(model);
+    @GetMapping(value = "/{id}")
+    public RESTfulResult get(@PathVariable String id){
+        MeterBaseCar meterBaseCar = meterBaseCarService.getById(id);
         return success(meterBaseCar);
     }
 
     @ApiOperation(value="更新详细信息", notes="根据url的id来指定更新对象,并根据传过来的meterBaseCar信息来更新详细信息")
-    @ApiImplicitParam(name = "meterBaseCar", value = "详细实体meterBaseCar", required = true, dataType = "MeterBaseCar")
+    @ApiImplicitParams({
+        @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String"),
+        @ApiImplicitParam(name = "meterBaseCar", value = "详细实体meterBaseCar", required = true, dataType = "MeterBaseCar")
+    })
     //@RequiresPermissions("meterbasecar:update")
-    @PutMapping(value = "/", produces  = "application/json;charset=UTF-8")
-    public RESTfulResult update(@RequestBody MeterBaseCar model){
+    @PutMapping(value = "/{id}", produces  = "application/json;charset=UTF-8")
+    public RESTfulResult update(@PathVariable String id, @RequestBody MeterBaseCar model){
+        model.setId(id);
         MeterBaseCar meterBaseCar = meterBaseCarService.modify(model);
         return success(meterBaseCar);
     }
 
     @ApiOperation(value="删除", notes="根据url的id来指定删除对象")
-    @ApiImplicitParam(name = "models", value = "详细实体meterBaseCar", required = true, dataType = "MeterBaseCar")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String")
     //@RequiresPermissions("meterbasecar:delete")
-    @DeleteMapping(value = "/")//MeterBaseCar
-    public RESTfulResult delete(@RequestBody List<MeterBaseCar> models){
-    	if(ListUtils.isNotEmpty(models)) {
-			  meterBaseCarService.delete(models);
+    @DeleteMapping(value = "/{id}")//String
+    public RESTfulResult delete(@PathVariable String id){
+    	List<String> list = Arrays.asList(id.split(","));
+    	if(ListUtils.isNotEmpty(list)) {
+	    	List<String> ids = ListUtils.convertList(list);
+			  meterBaseCarService.delete(ids);
     	}
       return success();
     }
-}
+
+    @ApiOperation(value = "启用", notes = "根据传过来的MeterBaseCusSupCar集合信息来更新详细信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "MeterBaseCar", value = "详细实体MeterBaseCar", required = true, dataType = "MeterBaseCar")
+    })
+    @Transactional
+    @PostMapping(value = "/Recovery")
+    public RESTfulResult Recovery(@RequestBody List<MeterBaseCar> models) {
+        try {
+            String msg = meterBaseCarService.Recovery(models);
+            if (com.steerinfo.util.StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+    @ApiOperation(value = "停用", notes = "根据传过来的MeterBaseCar集合信息来更新详细信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "MeterBaseCar", value = "详细实体MeterBaseCar", required = true, dataType = "MeterBaseCar")
+    })
+    @Transactional
+    @PostMapping(value = "/abolish")
+    public RESTfulResult abolish(@RequestBody List<MeterBaseCar> models) {
+        try {
+            String msg = meterBaseCarService.abolish(models);
+            if (StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+    @ApiOperation(value = "app自助注册", notes = "app自助注册")
+    @Transactional
+    @PostMapping(value = "/appregister")
+    public RESTfulResult appregister(@RequestBody HashMap params) {
+        try {
+            String msg = "";
+            // sso注册
+            SSOUtil ssoUtil = new SSOUtil();
+            HashMap ssoMap = ssoUtil.ssoRegister(params);
+
+            // sso注册成功时,增加车辆表
+            if (ssoMap.get("code").equals("1")) {
+                return failed(null, ssoMap.get("msg").toString());
+            }
+            else {
+                // 清除SSO"账号已被注册"
+                msg = "";
+
+                // 查询车辆是否写入车辆表
+                HashMap queryCar = new HashMap();
+                queryCar.put("carNo", params.get("carNo").toString());
+                queryCar.put("validFlag", "0");
+                List<MeterBaseCar> queryList = meterBaseCarService.query(queryCar);
+
+                // 车辆表已存在时,跳过
+                if(queryList.size() == 0) {
+                    // 新增车辆
+                    MeterBaseCar car = new MeterBaseCar();
+                    car.setCarNo(params.get("carNo").toString());
+                    car.setValidFlag("0");
+                    car.setCarTypeNo(params.get("carTypeNo").toString());
+                    car.setCarTypeName(params.get("carTypeName").toString());
+                    if(params.get("carCarrierWeight") != null){
+                        new BigDecimal(params.get("carCarrierWeight").toString());
+                    }
+
+                    // 将sso id写入车辆表,便于以后删除和重置密码
+                    car.setSsoId(ssoMap.get("data").toString());
+
+                    car.setCreateManNo("admin");
+                    car.setCreateManName("admins");
+                    car.setCreateTime(new Date());
+
+                    meterBaseCarService.add(car);
+                }
+
+                // 拆分司机list,新增司机表
+                List<MeterBaseDriver> driverList = JSONObject.parseArray(params.get("driverList").toString(), MeterBaseDriver.class);
+                // 循环新增司机
+                for (MeterBaseDriver driver: driverList) {
+                    // 检查司机是否存在
+                    HashMap query = new HashMap();
+                    query.put("carNo", params.get("carNo").toString());
+                    query.put("telNum", driver.getTelNum());
+                    query.put("validFlag", "0");
+
+                    List<MeterBaseCusSupCar> list = meterBaseDriverService.query(query);
+                    // 司机表已存在时,跳过
+                    if(list.size() == 0){
+                        // 将司机信息加入实体
+                        // 司机号为车号+司机手机号
+                        driver.setId(params.get("carNo").toString()+driver.getTelNum());
+                        driver.setCarId(params.get("carNo").toString());
+                        driver.setValidFlag("0");
+
+                        driver.setCreateManNo("admin");
+                        driver.setCreateManName("admins");
+                        driver.setCreateTime(new Date());
+
+                        meterBaseDriverService.add(driver);
+                    }
+
+                    if(com.steerinfo.util.StringUtils.isNotEmpty(msg)){
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        break;
+                    }
+                }
+            }
+
+            if (com.steerinfo.util.StringUtils.isNotEmpty(msg)) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return failed(null, msg);
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+    @ApiOperation(value = "app登录", notes = "app登录")
+    @Transactional
+    @PostMapping(value = "/applogin")
+    public RESTfulResult applogin(@RequestBody HashMap params) {
+
+        String msg = "";
+        Object ssodata = "";
+
+        try {
+            if(params.get("carNo") == null || com.steerinfo.util.StringUtils.isEmpty(params.get("carNo").toString())) {
+                msg = "车号不能为空!!";
+            }
+            else if(params.get("telNum") == null || com.steerinfo.util.StringUtils.isEmpty(params.get("telNum").toString())) {
+                msg = "手机号不能为空!!";
+            }
+            else {
+                // 状态(0:服役;1:停役;2:删除)
+                params.put("validFlag", "0");
+
+                // 判断车号,司机手机号是否存在
+                List<MeterBaseCusSupCar> list = meterBaseDriverService.query(params);
+                if(list.size() >= 1){
+                    // sso登录
+
+                    SSOUtil ssoUtil = new SSOUtil();
+                    HashMap map = ssoUtil.ssoLogin(params, "");
+
+                    if(map.get("code").toString().equals("0")){
+                        ssodata = map.get("data").toString();
+                    }
+                    else {
+                        msg = map.get("msg").toString();
+                    }
+
+                }
+                else {
+                    msg = "没有此车号或手机号";
+                }
+            }
+
+            if (com.steerinfo.util.StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+
+        return success(ssodata);
+    }
+
+    @ApiOperation(value = "app修改密码", notes = "app修改密码")
+    @Transactional
+    @PostMapping(value = "/appchangepwd")
+    public RESTfulResult appchangepwd(@RequestBody HashMap params) {
+
+        String msg = "";
+
+        try {
+            if(params.get("carNo") == null || com.steerinfo.util.StringUtils.isEmpty(params.get("carNo").toString())) {
+                msg = "车号不能为空!!";
+            }
+            else if(params.get("telNum") == null || com.steerinfo.util.StringUtils.isEmpty(params.get("telNum").toString())) {
+                msg = "手机号不能为空!!";
+            }
+            else {
+                // 状态(0:服役;1:停役;2:删除)
+                params.put("validFlag", "0");
+
+                // 判断车号,司机手机号是否存在
+                List<MeterBaseCusSupCar> list = meterBaseDriverService.query(params);
+                if(list.size() >= 1){
+                    // SSO修改密码
+                    SSOUtil ssoUtil = new SSOUtil();
+                    HashMap map = ssoUtil.ssoChangePwd(params);
+
+                    if(map.get("code").toString().equals("0")){
+                    }
+                    else {
+                        msg = map.get("msg").toString();
+                    }
+                }
+                else {
+                    msg = "没有此车号或手机号";
+                }
+            }
+
+            if (com.steerinfo.util.StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+
+        return success();
+    }
+
+    @ApiOperation(value = "app重置密码", notes = "app重置密码")
+    @Transactional
+    @PostMapping(value = "/appresetpwd")
+    public RESTfulResult appresetpwd(@RequestBody HashMap params) {
+
+        String msg = "";
+
+        try {
+            if(params.get("carNo") == null || com.steerinfo.util.StringUtils.isEmpty(params.get("carNo").toString())) {
+                msg = "车号不能为空!!";
+            }
+            else if(params.get("telNum") == null || com.steerinfo.util.StringUtils.isEmpty(params.get("telNum").toString())) {
+                msg = "手机号不能为空!!";
+            }
+            else {
+                // 状态(0:服役;1:停役;2:删除)
+                params.put("validFlag", "0");
+
+                // 判断车号,司机手机号是否存在
+                List<MeterBaseDriver> list = meterBaseDriverService.query(params);
+                if(list.size() >= 1){
+                    // 获取车辆SSO ID
+                    HashMap queryMap = new HashMap();
+                    queryMap.put("carNo", params.get("carNo").toString());
+
+                    MeterBaseCar car = meterBaseCarService.getByParams(queryMap);
+
+                    // 通过车辆SSO ID重置密码
+                    if(car != null){
+                        // SSO重置密码
+                        SSOUtil ssoUtil = new SSOUtil();
+                        msg = ssoUtil.ssoResetPwd(car.getSsoId(), params.get("password").toString(),"");
+                    }
+                }
+                else {
+                    msg = "没有此车号或手机号";
+                }
+            }
+
+            if (com.steerinfo.util.StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+
+        return success();
+    }
+}

+ 8 - 2
src/main/java/com/steerinfo/baseinfo/meterbasecar/mapper/MeterBaseCarMapper.java

@@ -1,10 +1,16 @@
 package com.steerinfo.baseinfo.meterbasecar.mapper;
 
 import com.steerinfo.baseinfo.meterbasecar.model.MeterBaseCar;
-import com.steerinfo.framework.mapper.ICBaseMapper;
+import com.steerinfo.framework.mapper.IBaseMapper;
 import java.math.*;
+import java.util.List;
+import java.util.Map;
+
 import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
-public interface MeterBaseCarMapper extends ICBaseMapper<MeterBaseCar, String> {
+public interface MeterBaseCarMapper extends IBaseMapper<MeterBaseCar, String> {
+    String GetNewID();
+
+    List<MeterBaseCar> selectForUpdate(Map<String, Object> parameters);
 }

+ 104 - 62
src/main/java/com/steerinfo/baseinfo/meterbasecar/mapper/MeterBaseCarMapper.xml

@@ -3,7 +3,6 @@
 <mapper namespace="com.steerinfo.baseinfo.meterbasecar.mapper.MeterBaseCarMapper">
   <resultMap id="BaseResultMap" type="com.steerinfo.baseinfo.meterbasecar.model.MeterBaseCar">
     <id column="PK_NO" jdbcType="VARCHAR" property="pkNo" />
-    <id column="UPDATE_MAN_NO" jdbcType="VARCHAR" property="updateManNo" />
     <result column="CAR_NO" jdbcType="VARCHAR" property="carNo" />
     <result column="MNEMONIC_CODE" jdbcType="VARCHAR" property="mnemonicCode" />
     <result column="CUSTOMER_SUPPLIER_NO" jdbcType="VARCHAR" property="customerSupplierNo" />
@@ -17,23 +16,26 @@
     <result column="CREATE_MAN_NO" jdbcType="VARCHAR" property="createManNo" />
     <result column="CREATE_MAN_NAME" jdbcType="VARCHAR" property="createManName" />
     <result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="UPDATE_MAN_NO" jdbcType="VARCHAR" property="updateManNo" />
     <result column="UPDATE_MAN_NAME" jdbcType="VARCHAR" property="updateManName" />
     <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
     <result column="DELETE_MAN_NO" jdbcType="VARCHAR" property="deleteManNo" />
     <result column="DELETE_MAN_NAME" jdbcType="VARCHAR" property="deleteManName" />
     <result column="DELETE_TIME" jdbcType="TIMESTAMP" property="deleteTime" />
+    <result column="SSO_ID" jdbcType="VARCHAR" property="ssoId" />
   </resultMap>
   <sql id="columns">
-    PK_NO, UPDATE_MAN_NO, CAR_NO, MNEMONIC_CODE, CUSTOMER_SUPPLIER_NO, CUSTOMER_SUPPLIER_NAME, 
-    CAR_TYPE_NO, CAR_TYPE_NAME, CAR_CARRIER_WEIGHT, CAR_SELF_WEIGHT, MEMO, VALID_FLAG, 
-    CREATE_MAN_NO, CREATE_MAN_NAME, CREATE_TIME, UPDATE_MAN_NAME, UPDATE_TIME, DELETE_MAN_NO, 
-    DELETE_MAN_NAME, DELETE_TIME
+    PK_NO, CAR_NO, MNEMONIC_CODE, CUSTOMER_SUPPLIER_NO, CUSTOMER_SUPPLIER_NAME, CAR_TYPE_NO, 
+    CAR_TYPE_NAME, CAR_CARRIER_WEIGHT, CAR_SELF_WEIGHT, MEMO, VALID_FLAG, CREATE_MAN_NO, 
+    CREATE_MAN_NAME, CREATE_TIME, UPDATE_MAN_NO, UPDATE_MAN_NAME, UPDATE_TIME, DELETE_MAN_NO, 
+    DELETE_MAN_NAME, DELETE_TIME, SSO_ID
   </sql>
   <sql id="columns_alias">
-    t.PK_NO, t.UPDATE_MAN_NO, t.CAR_NO, t.MNEMONIC_CODE, t.CUSTOMER_SUPPLIER_NO, t.CUSTOMER_SUPPLIER_NAME, 
+    t.PK_NO, t.CAR_NO, t.MNEMONIC_CODE, t.CUSTOMER_SUPPLIER_NO, t.CUSTOMER_SUPPLIER_NAME, 
     t.CAR_TYPE_NO, t.CAR_TYPE_NAME, t.CAR_CARRIER_WEIGHT, t.CAR_SELF_WEIGHT, t.MEMO, 
-    t.VALID_FLAG, t.CREATE_MAN_NO, t.CREATE_MAN_NAME, t.CREATE_TIME, t.UPDATE_MAN_NAME, 
-    t.UPDATE_TIME, t.DELETE_MAN_NO, t.DELETE_MAN_NAME, t.DELETE_TIME
+    t.VALID_FLAG, t.CREATE_MAN_NO, t.CREATE_MAN_NAME, t.CREATE_TIME, t.UPDATE_MAN_NO, 
+    t.UPDATE_MAN_NAME, t.UPDATE_TIME, t.DELETE_MAN_NO, t.DELETE_MAN_NAME, t.DELETE_TIME, 
+    t.SSO_ID
   </sql>
   <sql id="select">
     SELECT <include refid="columns"/> FROM METER_BASE_CAR
@@ -46,9 +48,6 @@
       <if test="pkNo != null and pkNo != ''">
         and PK_NO = #{pkNo}
       </if>
-      <if test="updateManNo != null and updateManNo != ''">
-        and UPDATE_MAN_NO = #{updateManNo}
-      </if>
       <if test="carNo != null and carNo != ''">
         and CAR_NO = #{carNo}
       </if>
@@ -88,6 +87,9 @@
       <if test="createTime != null">
         and TO_CHAR(CREATE_TIME,'yyyy-MM-dd') = #{createTime}
       </if>
+      <if test="updateManNo != null and updateManNo != ''">
+        and UPDATE_MAN_NO = #{updateManNo}
+      </if>
       <if test="updateManName != null and updateManName != ''">
         and UPDATE_MAN_NAME = #{updateManName}
       </if>
@@ -103,6 +105,9 @@
       <if test="deleteTime != null">
         and TO_CHAR(DELETE_TIME,'yyyy-MM-dd') = #{deleteTime}
       </if>
+      <if test="ssoId != null and ssoId != ''">
+        and SSO_ID = #{ssoId}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -110,9 +115,6 @@
       <if test="pkNo != null and pkNo != ''">
         and PK_NO LIKE '%${pkNo}%'
       </if>
-      <if test="updateManNo != null and updateManNo != ''">
-        and UPDATE_MAN_NO LIKE '%${updateManNo}%'
-      </if>
       <if test="carNo != null and carNo != ''">
         and CAR_NO LIKE '%${carNo}%'
       </if>
@@ -152,6 +154,9 @@
       <if test="createTime != null">
         and TO_CHAR(CREATE_TIME,'yyyy-MM-dd') = #{createTime}
       </if>
+      <if test="updateManNo != null and updateManNo != ''">
+        and UPDATE_MAN_NO LIKE '%${updateManNo}%'
+      </if>
       <if test="updateManName != null and updateManName != ''">
         and UPDATE_MAN_NAME LIKE '%${updateManName}%'
       </if>
@@ -167,19 +172,18 @@
       <if test="deleteTime != null">
         and TO_CHAR(DELETE_TIME,'yyyy-MM-dd') = #{deleteTime}
       </if>
+      <if test="ssoId != null and ssoId != ''">
+        and SSO_ID LIKE '%${ssoId}%'
+      </if>
     </where>
   </sql>
-  <delete id="deleteByPrimaryKey" parameterType="map">
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
     delete from METER_BASE_CAR
     where PK_NO = #{pkNo,jdbcType=VARCHAR}
-      and UPDATE_MAN_NO = #{updateManNo,jdbcType=VARCHAR}
   </delete>
   <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
     delete from METER_BASE_CAR
     where 1!=1 
-      <if test="updateManNo != null and updateManNo != ''">
-        or UPDATE_MAN_NO = #{updateManNo}
-      </if>
       <if test="carNo != null and carNo != ''">
         or CAR_NO = #{carNo}
       </if>
@@ -219,6 +223,9 @@
       <if test="createTime != null">
         or TO_CHAR(CREATE_TIME,'yyyy-MM-dd') = '#{createTime}'
       </if>
+      <if test="updateManNo != null and updateManNo != ''">
+        or UPDATE_MAN_NO = #{updateManNo}
+      </if>
       <if test="updateManName != null and updateManName != ''">
         or UPDATE_MAN_NAME = #{updateManName}
       </if>
@@ -234,22 +241,27 @@
       <if test="deleteTime != null">
         or TO_CHAR(DELETE_TIME,'yyyy-MM-dd') = '#{deleteTime}'
       </if>
+      <if test="ssoId != null and ssoId != ''">
+        or SSO_ID = #{ssoId}
+      </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.baseinfo.meterbasecar.model.MeterBaseCar">
-    insert into METER_BASE_CAR (PK_NO, UPDATE_MAN_NO, CAR_NO, 
-      MNEMONIC_CODE, CUSTOMER_SUPPLIER_NO, CUSTOMER_SUPPLIER_NAME, 
+    insert into METER_BASE_CAR (PK_NO, CAR_NO, MNEMONIC_CODE, 
+      CUSTOMER_SUPPLIER_NO, CUSTOMER_SUPPLIER_NAME, 
       CAR_TYPE_NO, CAR_TYPE_NAME, CAR_CARRIER_WEIGHT, 
       CAR_SELF_WEIGHT, MEMO, VALID_FLAG, 
       CREATE_MAN_NO, CREATE_MAN_NAME, CREATE_TIME, 
-      UPDATE_MAN_NAME, UPDATE_TIME, DELETE_MAN_NO, 
-      DELETE_MAN_NAME, DELETE_TIME)
-    values (#{pkNo,jdbcType=VARCHAR}, #{updateManNo,jdbcType=VARCHAR}, #{carNo,jdbcType=VARCHAR}, 
-      #{mnemonicCode,jdbcType=VARCHAR}, #{customerSupplierNo,jdbcType=VARCHAR}, #{customerSupplierName,jdbcType=VARCHAR}, 
+      UPDATE_MAN_NO, UPDATE_MAN_NAME, UPDATE_TIME, 
+      DELETE_MAN_NO, DELETE_MAN_NAME, DELETE_TIME, 
+      SSO_ID)
+    values (#{pkNo,jdbcType=VARCHAR}, #{carNo,jdbcType=VARCHAR}, #{mnemonicCode,jdbcType=VARCHAR}, 
+      #{customerSupplierNo,jdbcType=VARCHAR}, #{customerSupplierName,jdbcType=VARCHAR}, 
       #{carTypeNo,jdbcType=VARCHAR}, #{carTypeName,jdbcType=VARCHAR}, #{carCarrierWeight,jdbcType=DECIMAL}, 
       #{carSelfWeight,jdbcType=DECIMAL}, #{memo,jdbcType=VARCHAR}, #{validFlag,jdbcType=VARCHAR}, 
       #{createManNo,jdbcType=VARCHAR}, #{createManName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
-      #{updateManName,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{deleteManNo,jdbcType=VARCHAR}, 
-      #{deleteManName,jdbcType=VARCHAR}, #{deleteTime,jdbcType=TIMESTAMP})
+      #{updateManNo,jdbcType=VARCHAR}, #{updateManName,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, 
+      #{deleteManNo,jdbcType=VARCHAR}, #{deleteManName,jdbcType=VARCHAR}, #{deleteTime,jdbcType=TIMESTAMP}, 
+      #{ssoId,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.baseinfo.meterbasecar.model.MeterBaseCar">
     insert into METER_BASE_CAR
@@ -257,9 +269,6 @@
       <if test="pkNo != null">
         PK_NO,
       </if>
-      <if test="updateManNo != null">
-        UPDATE_MAN_NO,
-      </if>
       <if test="carNo != null">
         CAR_NO,
       </if>
@@ -299,6 +308,9 @@
       <if test="createTime != null">
         CREATE_TIME,
       </if>
+      <if test="updateManNo != null">
+        UPDATE_MAN_NO,
+      </if>
       <if test="updateManName != null">
         UPDATE_MAN_NAME,
       </if>
@@ -314,14 +326,14 @@
       <if test="deleteTime != null">
         DELETE_TIME,
       </if>
+      <if test="ssoId != null">
+        SSO_ID,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="pkNo != null">
         #{pkNo,jdbcType=VARCHAR},
       </if>
-      <if test="updateManNo != null">
-        #{updateManNo,jdbcType=VARCHAR},
-      </if>
       <if test="carNo != null">
         #{carNo,jdbcType=VARCHAR},
       </if>
@@ -361,6 +373,9 @@
       <if test="createTime != null">
         #{createTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="updateManNo != null">
+        #{updateManNo,jdbcType=VARCHAR},
+      </if>
       <if test="updateManName != null">
         #{updateManName,jdbcType=VARCHAR},
       </if>
@@ -376,6 +391,9 @@
       <if test="deleteTime != null">
         #{deleteTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="ssoId != null">
+        #{ssoId,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.baseinfo.meterbasecar.model.MeterBaseCar">
@@ -393,13 +411,14 @@
       CREATE_MAN_NO = #{createManNo,jdbcType=VARCHAR},
       CREATE_MAN_NAME = #{createManName,jdbcType=VARCHAR},
       CREATE_TIME = #{createTime,jdbcType=TIMESTAMP},
+      UPDATE_MAN_NO = #{updateManNo,jdbcType=VARCHAR},
       UPDATE_MAN_NAME = #{updateManName,jdbcType=VARCHAR},
       UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
       DELETE_MAN_NO = #{deleteManNo,jdbcType=VARCHAR},
       DELETE_MAN_NAME = #{deleteManName,jdbcType=VARCHAR},
-      DELETE_TIME = #{deleteTime,jdbcType=TIMESTAMP}
+      DELETE_TIME = #{deleteTime,jdbcType=TIMESTAMP},
+      SSO_ID = #{ssoId,jdbcType=VARCHAR}
     where PK_NO = #{pkNo,jdbcType=VARCHAR}
-      and UPDATE_MAN_NO = #{updateManNo,jdbcType=VARCHAR}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.baseinfo.meterbasecar.model.MeterBaseCar">
     update METER_BASE_CAR
@@ -443,6 +462,9 @@
       <if test="createTime != null">
         CREATE_TIME = #{createTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="updateManNo != null">
+        UPDATE_MAN_NO = #{updateManNo,jdbcType=VARCHAR},
+      </if>
       <if test="updateManName != null">
         UPDATE_MAN_NAME = #{updateManName,jdbcType=VARCHAR},
       </if>
@@ -458,14 +480,15 @@
       <if test="deleteTime != null">
         DELETE_TIME = #{deleteTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="ssoId != null">
+        SSO_ID = #{ssoId,jdbcType=VARCHAR},
+      </if>
     </set>
     where PK_NO = #{pkNo,jdbcType=VARCHAR}
-      and UPDATE_MAN_NO = #{updateManNo,jdbcType=VARCHAR}
   </update>
-  <select id="selectByPrimaryKey" parameterType="map" resultMap="BaseResultMap">
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
     <include refid="select"/>
     where PK_NO = #{pkNo,jdbcType=VARCHAR}
-      and UPDATE_MAN_NO = #{updateManNo,jdbcType=VARCHAR}
   </select>
   <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
     <include refid="select"/>
@@ -478,25 +501,25 @@
   <insert id="batchInsert" parameterType="java.util.List">
     insert into METER_BASE_CAR 
       (PK_NO, 
-      UPDATE_MAN_NO, CAR_NO, MNEMONIC_CODE, 
-      CUSTOMER_SUPPLIER_NO, CUSTOMER_SUPPLIER_NAME, 
-      CAR_TYPE_NO, CAR_TYPE_NAME, CAR_CARRIER_WEIGHT, 
+      CAR_NO, MNEMONIC_CODE, CUSTOMER_SUPPLIER_NO, 
+      CUSTOMER_SUPPLIER_NAME, CAR_TYPE_NO, 
+      CAR_TYPE_NAME, CAR_CARRIER_WEIGHT, 
       CAR_SELF_WEIGHT, MEMO, VALID_FLAG, 
       CREATE_MAN_NO, CREATE_MAN_NAME, CREATE_TIME, 
-      UPDATE_MAN_NAME, UPDATE_TIME, 
-      DELETE_MAN_NO, DELETE_MAN_NAME, DELETE_TIME
-      )
+      UPDATE_MAN_NO, UPDATE_MAN_NAME, UPDATE_TIME, 
+      DELETE_MAN_NO, DELETE_MAN_NAME, DELETE_TIME, 
+      SSO_ID)
     ( <foreach collection="list" item="item" separator="union all"> 
    select  
       #{item.pkNo,jdbcType=VARCHAR}, 
-      #{item.updateManNo,jdbcType=VARCHAR}, #{item.carNo,jdbcType=VARCHAR}, #{item.mnemonicCode,jdbcType=VARCHAR}, 
-      #{item.customerSupplierNo,jdbcType=VARCHAR}, #{item.customerSupplierName,jdbcType=VARCHAR}, 
-      #{item.carTypeNo,jdbcType=VARCHAR}, #{item.carTypeName,jdbcType=VARCHAR}, #{item.carCarrierWeight,jdbcType=DECIMAL}, 
+      #{item.carNo,jdbcType=VARCHAR}, #{item.mnemonicCode,jdbcType=VARCHAR}, #{item.customerSupplierNo,jdbcType=VARCHAR}, 
+      #{item.customerSupplierName,jdbcType=VARCHAR}, #{item.carTypeNo,jdbcType=VARCHAR}, 
+      #{item.carTypeName,jdbcType=VARCHAR}, #{item.carCarrierWeight,jdbcType=DECIMAL}, 
       #{item.carSelfWeight,jdbcType=DECIMAL}, #{item.memo,jdbcType=VARCHAR}, #{item.validFlag,jdbcType=VARCHAR}, 
       #{item.createManNo,jdbcType=VARCHAR}, #{item.createManName,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, 
-      #{item.updateManName,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, 
-      #{item.deleteManNo,jdbcType=VARCHAR}, #{item.deleteManName,jdbcType=VARCHAR}, #{item.deleteTime,jdbcType=TIMESTAMP}
-       from dual  
+      #{item.updateManNo,jdbcType=VARCHAR}, #{item.updateManName,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, 
+      #{item.deleteManNo,jdbcType=VARCHAR}, #{item.deleteManName,jdbcType=VARCHAR}, #{item.deleteTime,jdbcType=TIMESTAMP}, 
+      #{item.ssoId,jdbcType=VARCHAR} from dual  
    </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -506,10 +529,6 @@
        <foreach collection="list" item="item" index="index" separator=" " open="case PK_NO" close="end">
           when #{item.pkNo,jdbcType=VARCHAR} then #{item.pkNo,jdbcType=VARCHAR}
        </foreach>
-       ,UPDATE_MAN_NO=
-       <foreach collection="list" item="item" index="index" separator=" " open="case PK_NO" close="end">
-          when #{item.pkNo,jdbcType=VARCHAR} then #{item.updateManNo,jdbcType=VARCHAR}
-       </foreach>
        ,CAR_NO=
        <foreach collection="list" item="item" index="index" separator=" " open="case PK_NO" close="end">
           when #{item.pkNo,jdbcType=VARCHAR} then #{item.carNo,jdbcType=VARCHAR}
@@ -562,6 +581,10 @@
        <foreach collection="list" item="item" index="index" separator=" " open="case PK_NO" close="end">
           when #{item.pkNo,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP}
        </foreach>
+       ,UPDATE_MAN_NO=
+       <foreach collection="list" item="item" index="index" separator=" " open="case PK_NO" close="end">
+          when #{item.pkNo,jdbcType=VARCHAR} then #{item.updateManNo,jdbcType=VARCHAR}
+       </foreach>
        ,UPDATE_MAN_NAME=
        <foreach collection="list" item="item" index="index" separator=" " open="case PK_NO" close="end">
           when #{item.pkNo,jdbcType=VARCHAR} then #{item.updateManName,jdbcType=VARCHAR}
@@ -582,19 +605,38 @@
        <foreach collection="list" item="item" index="index" separator=" " open="case PK_NO" close="end">
           when #{item.pkNo,jdbcType=VARCHAR} then #{item.deleteTime,jdbcType=TIMESTAMP}
        </foreach>
-    where (PK_NO,UPDATE_MAN_NO) in
-    <foreach collection="list" item="item" open="(" close=")" separator=",">
-     (#{item.pkNo, jdbcType=VARCHAR},#{item.updateManNo, jdbcType=VARCHAR})
-    </foreach>
+       ,SSO_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case PK_NO" close="end">
+          when #{item.pkNo,jdbcType=VARCHAR} then #{item.ssoId,jdbcType=VARCHAR}
+       </foreach>
+     where PK_NO in 
+     <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+    #{item.pkNo,jdbcType=VARCHAR}
+     </foreach> 
   </update>
   <delete id="batchDelete" parameterType="java.util.List">
     delete from METER_BASE_CAR
-    where (PK_NO,UPDATE_MAN_NO) in
-    <foreach collection="list" item="item" open="(" close=")" separator=",">
-     ( #{item.pkNo, jdbcType=VARCHAR}, #{item.updateManNo, jdbcType=VARCHAR})
+    where PK_NO in 
+    <foreach collection="list" item="id" open="(" close=")" separator=",">
+      #{id}
     </foreach>
   </delete>
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-  
+  <select id="GetNewID" parameterType="java.lang.String" resultType="java.lang.String">
+    SELECT LPAD(NVL(MAX(TO_NUMBER(SUBSTR(PK_NO, LENGTH(PK_NO) -3))),0) + 1,4,'0') PK_NO
+    FROM METER_BASE_CAR
+  </select>
+
+  <select id="selectForUpdate" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <where>
+      <if test="pkNo != null and pkNo != ''">
+        and PK_NO != #{pkNo}
+      </if>
+      <if test="carNo != null and carNo != ''">
+        and CCAR_NO = #{cusSupCarNo}
+      </if>
+    </where>
+  </select>
 </mapper>

+ 36 - 27
src/main/java/com/steerinfo/baseinfo/meterbasecar/model/MeterBaseCar.java

@@ -1,27 +1,19 @@
 package com.steerinfo.baseinfo.meterbasecar.model;
 
-import com.steerinfo.framework.model.ICBasePO;
+import com.steerinfo.framework.model.IBasePO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import java.math.BigDecimal;
 import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
 
 @ApiModel(value="null")
-public class MeterBaseCar implements ICBasePO<MeterBaseCar> {
+public class MeterBaseCar implements IBasePO<String> {
     /**
      * 主键编号(YYYYMMDD+4位流水)(PK_NO,VARCHAR,20)
      */
     @ApiModelProperty(value="主键编号(YYYYMMDD+4位流水)",required=true)
     private String pkNo;
 
-    /**
-     * 修改人编号(UPDATE_MAN_NO,VARCHAR,20)
-     */
-    @ApiModelProperty(value="修改人编号",required=true)
-    private String updateManNo;
-
     /**
      * 车号(CAR_NO,VARCHAR,20)
      */
@@ -100,6 +92,12 @@ public class MeterBaseCar implements ICBasePO<MeterBaseCar> {
     @ApiModelProperty(value="创建时间(YYYY-MM-DD HH:mm:SS)",required=true)
     private Date createTime;
 
+    /**
+     * 修改人编号(UPDATE_MAN_NO,VARCHAR,20)
+     */
+    @ApiModelProperty(value="修改人编号",required=false)
+    private String updateManNo;
+
     /**
      * 修改人姓名(UPDATE_MAN_NAME,VARCHAR,100)
      */
@@ -130,20 +128,22 @@ public class MeterBaseCar implements ICBasePO<MeterBaseCar> {
     @ApiModelProperty(value="删除时间(YYYY-MM-DD HH:mm:SS)",required=false)
     private Date deleteTime;
 
+    /**
+     * SSO用户ID(SSO_ID,VARCHAR,20)
+     */
+    @ApiModelProperty(value="SSO用户ID",required=false)
+    private String ssoId;
+
     private static final long serialVersionUID = 1L;
 
     @Override
-    public Map<String, Object> getId() {
-        Map<String, Object> params = new HashMap<>();
-        params.put("pkNo",this.pkNo);
-        params.put("updateManNo",this.updateManNo);
-        return params;
+    public String getId() {
+        return this.pkNo;
     }
 
     @Override
-    public void setId(MeterBaseCar meterBaseCar) {
-        this.pkNo = meterBaseCar.getPkNo();
-        this.updateManNo = meterBaseCar.getUpdateManNo();
+    public void setId(String pkNo) {
+        this.pkNo = pkNo == null ? null : pkNo.trim();
     }
 
     public String getPkNo() {
@@ -154,14 +154,6 @@ public class MeterBaseCar implements ICBasePO<MeterBaseCar> {
         this.pkNo = pkNo == null ? null : pkNo.trim();
     }
 
-    public String getUpdateManNo() {
-        return updateManNo;
-    }
-
-    public void setUpdateManNo(String updateManNo) {
-        this.updateManNo = updateManNo == null ? null : updateManNo.trim();
-    }
-
     public String getCarNo() {
         return carNo;
     }
@@ -266,6 +258,14 @@ public class MeterBaseCar implements ICBasePO<MeterBaseCar> {
         this.createTime = createTime;
     }
 
+    public String getUpdateManNo() {
+        return updateManNo;
+    }
+
+    public void setUpdateManNo(String updateManNo) {
+        this.updateManNo = updateManNo == null ? null : updateManNo.trim();
+    }
+
     public String getUpdateManName() {
         return updateManName;
     }
@@ -306,6 +306,14 @@ public class MeterBaseCar implements ICBasePO<MeterBaseCar> {
         this.deleteTime = deleteTime;
     }
 
+    public String getSsoId() {
+        return ssoId;
+    }
+
+    public void setSsoId(String ssoId) {
+        this.ssoId = ssoId == null ? null : ssoId.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -313,7 +321,6 @@ public class MeterBaseCar implements ICBasePO<MeterBaseCar> {
         sb.append(" [");
         sb.append("Hash = ").append(hashCode());
         sb.append(", pkNo=").append(pkNo);
-        sb.append(", updateManNo=").append(updateManNo);
         sb.append(", carNo=").append(carNo);
         sb.append(", mnemonicCode=").append(mnemonicCode);
         sb.append(", customerSupplierNo=").append(customerSupplierNo);
@@ -327,11 +334,13 @@ public class MeterBaseCar implements ICBasePO<MeterBaseCar> {
         sb.append(", createManNo=").append(createManNo);
         sb.append(", createManName=").append(createManName);
         sb.append(", createTime=").append(createTime);
+        sb.append(", updateManNo=").append(updateManNo);
         sb.append(", updateManName=").append(updateManName);
         sb.append(", updateTime=").append(updateTime);
         sb.append(", deleteManNo=").append(deleteManNo);
         sb.append(", deleteManName=").append(deleteManName);
         sb.append(", deleteTime=").append(deleteTime);
+        sb.append(", ssoId=").append(ssoId);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 11 - 4
src/main/java/com/steerinfo/baseinfo/meterbasecar/service/IMeterBaseCarService.java

@@ -1,23 +1,30 @@
 package com.steerinfo.baseinfo.meterbasecar.service;
 
-import com.steerinfo.framework.service.ICBaseService;
+import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.baseinfo.meterbasecar.model.MeterBaseCar;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * MeterBaseCar服务接口:
  * @author generator
- * @version 1.0-SNAPSHORT 2022-01-08 04:36
+ * @version 1.0-SNAPSHORT 2022-01-10 10:09
  * 类描述
  * 修订历史:
- * 日期:2022-01-08
+ * 日期:2022-01-10
  * 作者:generator
  * 参考:
  * 描述:MeterBaseCar服务接口
  * @see null
  * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  */
-public interface IMeterBaseCarService extends ICBaseService<MeterBaseCar, String>{
+public interface IMeterBaseCarService extends IBaseService<MeterBaseCar, String>{
+    String checkandadd(MeterBaseCar model);
 
+    String Recovery(List<MeterBaseCar> models);
+
+    String abolish(List<MeterBaseCar> models);
+
+    String checkandupdate(String id,MeterBaseCar model);
 }

+ 112 - 6
src/main/java/com/steerinfo/baseinfo/meterbasecar/service/impl/MeterBaseCarServiceImpl.java

@@ -1,22 +1,27 @@
 package com.steerinfo.baseinfo.meterbasecar.service.impl;
 
-import com.steerinfo.framework.mapper.ICBaseMapper;
-import com.steerinfo.framework.service.impl.CBaseServiceImpl;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import com.steerinfo.baseinfo.meterbasecar.model.MeterBaseCar;
 import com.steerinfo.baseinfo.meterbasecar.mapper.MeterBaseCarMapper;
 import com.steerinfo.baseinfo.meterbasecar.service.IMeterBaseCarService;
+import com.steerinfo.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * MeterBaseCar服务实现:
  * @author generator
- * @version 1.0-SNAPSHORT 2022-01-08 04:36
+ * @version 1.0-SNAPSHORT 2022-01-10 10:09
  * 类描述
  * 修订历史:
- * 日期:2022-01-08
+ * 日期:2022-01-10
  * 作者:generator
  * 参考:
  * 描述:MeterBaseCar服务实现
@@ -24,13 +29,114 @@ import java.math.BigDecimal;
  * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  */
 @Service(value = "meterBaseCarService")
-public class MeterBaseCarServiceImpl extends CBaseServiceImpl<MeterBaseCar, String> implements IMeterBaseCarService {
+public class MeterBaseCarServiceImpl extends BaseServiceImpl<MeterBaseCar, String> implements IMeterBaseCarService {
 
     @Autowired
     private MeterBaseCarMapper meterBaseCarMapper;
 
     @Override
-    protected ICBaseMapper<MeterBaseCar, String> getMapper() {
+    protected IBaseMapper<MeterBaseCar, String> getMapper() {
         return meterBaseCarMapper;
     }
+
+    @Override
+    public String checkandadd(MeterBaseCar model)
+    {
+        String msg=check(model);
+        if (StringUtils.isNotEmpty(msg)){
+            return msg;
+        }
+//        HashMap<String, Object> obj = new HashMap<>();
+//        obj.put("cusSupCarNo", model.getCusSupCarNo());
+//        List<MeterBaseCusSupCar> com =meterBaseCusSupCarMapper.selectByParameters(obj);
+//        if(!com.isEmpty()){
+//            return "该车号已存在!";
+//        }
+        String no=meterBaseCarMapper.GetNewID();
+        model.setId(new SimpleDateFormat("yyyyMMdd").format(new Date())+no);
+        meterBaseCarMapper.insert(model);
+        return "";
+    }
+
+    @Override
+    public String Recovery(List<MeterBaseCar> models)
+    {
+        try {
+            if (models == null || models.size() < 1) {
+                return "请传入参数!";
+            }
+            for (MeterBaseCar model:models) {
+                model.setValidFlag("0");
+                model.setUpdateManName(model.getUpdateManName());
+                model.setUpdateManNo(model.getUpdateManNo());
+                model.setUpdateTime(new Date());
+                meterBaseCarMapper.updateByPrimaryKey(model);
+
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
+        }
+        return "";
+    }
+
+    @Override
+    public String abolish(List<MeterBaseCar> models)
+    {
+        try {
+            if (models == null || models.size() < 1) {
+                return "请传入参数!";
+            }
+            for (MeterBaseCar model:models) {
+                model.setValidFlag("1");
+                model.setUpdateManName(model.getUpdateManName());
+                model.setUpdateManNo(model.getUpdateManNo());
+                model.setUpdateTime(new Date());
+                meterBaseCarMapper.updateByPrimaryKey(model);
+
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
+        }
+        return "";
+    }
+
+    @Override
+    public String checkandupdate(String id,MeterBaseCar model)
+    {
+        String msg=check(model);
+        if (StringUtils.isNotEmpty(msg)){
+            return msg;
+        }
+//        HashMap<String, Object> obj = new HashMap<>();
+//        obj.put("cusSupCarNo", model.getCusSupCarNo());
+//        obj.put("pkNo", id);
+//        List<MeterBaseCusSupCar> com =meterBaseCusSupCarMapper.selectForUpdate(obj);
+//        if(!com.isEmpty()){
+//            return "该车号已存在!";
+//        }
+        meterBaseCarMapper.updateByPrimaryKeySelective(model);
+        return "";
+    }
+
+    private String check(MeterBaseCar model)
+    {
+        if (model == null){
+            return "参数不能为空!!";
+        }
+        if (StringUtils.isEmpty(model.getPkNo())){
+            return "车号不能为空!!";
+        }
+
+        if(StringUtils.isEmpty(model.getPkNo())){
+            model.setCreateTime(new Date());
+            model.setValidFlag("0");//服役
+        }else {
+            model.setUpdateTime(new Date());
+        }
+        return "";
+    }
 }

+ 4 - 2
src/main/java/com/steerinfo/baseinfo/meterbasecussupcar/controller/MeterBaseCusSupCarController.java

@@ -232,7 +232,8 @@ public class MeterBaseCusSupCarController extends BaseRESTfulController {
             String msg = "";
             // sso注册
             SSOUtil ssoUtil = new SSOUtil();
-            msg = ssoUtil.ssoRegister(params);
+            //msg = ssoUtil.ssoRegister(params);
+            msg = "";
 
             // sso注册成功时,增加车辆表
             if (StringUtils.isNotEmpty(msg) && !msg.equals("账号已被注册")) {
@@ -420,7 +421,8 @@ public class MeterBaseCusSupCarController extends BaseRESTfulController {
             if(list.size() == 0){
                 // sso注册
                 SSOUtil ssoUtil = new SSOUtil();
-                msg = ssoUtil.ssoRegister(params);
+                //msg = ssoUtil.ssoRegister(params);
+                msg = "";
 
                 // sso注册成功时,增加车辆表
                 if (StringUtils.isNotEmpty(msg) && !msg.equals("账号已被注册")) {

+ 2 - 2
src/main/java/com/steerinfo/baseinfo/meterbasedriver/controller/MeterBaseDriverController.java

@@ -23,10 +23,10 @@ import java.math.BigDecimal;
 /**
  * MeterBaseDriver RESTful接口:
  * @author generator
- * @version 1.0-SNAPSHORT 2022-01-08 04:36
+ * @version 1.0-SNAPSHORT 2022-01-10 03:09
  * 类描述
  * 修订历史:
- * 日期:2022-01-08
+ * 日期:2022-01-10
  * 作者:generator
  * 参考:
  * 描述:MeterBaseDriver RESTful接口

+ 2 - 2
src/main/java/com/steerinfo/baseinfo/meterbasedriver/service/IMeterBaseDriverService.java

@@ -8,10 +8,10 @@ import java.math.BigDecimal;
 /**
  * MeterBaseDriver服务接口:
  * @author generator
- * @version 1.0-SNAPSHORT 2022-01-08 04:36
+ * @version 1.0-SNAPSHORT 2022-01-10 03:09
  * 类描述
  * 修订历史:
- * 日期:2022-01-08
+ * 日期:2022-01-10
  * 作者:generator
  * 参考:
  * 描述:MeterBaseDriver服务接口

+ 2 - 2
src/main/java/com/steerinfo/baseinfo/meterbasedriver/service/impl/MeterBaseDriverServiceImpl.java

@@ -13,10 +13,10 @@ import java.math.BigDecimal;
 /**
  * MeterBaseDriver服务实现:
  * @author generator
- * @version 1.0-SNAPSHORT 2022-01-08 04:36
+ * @version 1.0-SNAPSHORT 2022-01-10 03:09
  * 类描述
  * 修订历史:
- * 日期:2022-01-08
+ * 日期:2022-01-10
  * 作者:generator
  * 参考:
  * 描述:MeterBaseDriver服务实现

+ 5 - 5
src/main/java/com/steerinfo/baseinfo/meterbasehistarecount/controller/MeterBaseHisTareCountController.java

@@ -43,7 +43,7 @@ public class MeterBaseHisTareCountController extends BaseRESTfulController {
     @Autowired
     IMeterBaseHisTareCountService meterBaseHisTareCountService;
 
-    @ApiOperation(value = "获取列表", notes = "分页查询")
+    @ApiOperation(value = "获取列表-网页", notes = "分页查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
@@ -77,7 +77,7 @@ public class MeterBaseHisTareCountController extends BaseRESTfulController {
         }
     }
 
-    @ApiOperation(value = "创建", notes = "根据MeterBaseHisTareCount对象创建")
+    @ApiOperation(value = "创建-网页", notes = "根据MeterBaseHisTareCount对象创建")
     @ApiImplicitParam(name = "meterBaseHisTareCount", value = "详细实体meterBaseHisTareCount", required = true, dataType = "MeterBaseHisTareCount")
     //@RequiresPermissions("meterbasehistarecount:create")
     @Transactional
@@ -111,7 +111,7 @@ public class MeterBaseHisTareCountController extends BaseRESTfulController {
         }
     }
 
-    @ApiOperation(value = "更新详细信息", notes = "根据url的id来指定更新对象,并根据传过来的meterBaseHisTareCount信息来更新详细信息")
+    @ApiOperation(value = "更新详细信息-网页", notes = "根据url的id来指定更新对象,并根据传过来的meterBaseHisTareCount信息来更新详细信息")
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String"),
             @ApiImplicitParam(name = "meterBaseHisTareCount", value = "详细实体meterBaseHisTareCount", required = true, dataType = "MeterBaseHisTareCount")
@@ -152,7 +152,7 @@ public class MeterBaseHisTareCountController extends BaseRESTfulController {
         }
     }
 
-    @ApiOperation(value = "启用", notes = "根据传过来的MeterBaseHisTareCount集合信息来更新详细信息")
+    @ApiOperation(value = "启用-网页", notes = "根据传过来的MeterBaseHisTareCount集合信息来更新详细信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "MeterBaseHisTareCount", value = "详细实体MeterBaseHisTareCount", required = true, dataType = "MeterBaseHisTareCount")
     })
@@ -172,7 +172,7 @@ public class MeterBaseHisTareCountController extends BaseRESTfulController {
         return success();
     }
 
-    @ApiOperation(value = "废除", notes = "根据传过来的MeterBaseHisTareCount集合信息来更新详细信息")
+    @ApiOperation(value = "废除-网页", notes = "根据传过来的MeterBaseHisTareCount集合信息来更新详细信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "MeterBaseHisTareCount", value = "详细实体MeterBaseHisTareCount", required = true, dataType = "MeterBaseHisTareCount")
     })

+ 3 - 3
src/main/java/com/steerinfo/baseinfo/meterbasehistaredata/controller/MeterBaseHisTareDataController.java

@@ -60,7 +60,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "获取列表", notes = "分页模糊查询")
+    @ApiOperation(value = "获取列表-网页", notes = "分页模糊查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
@@ -141,7 +141,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "启用", notes = "根据传过来的MeterBaseHisTareData集合信息来更新详细信息")
+    @ApiOperation(value = "启用-网页", notes = "根据传过来的MeterBaseHisTareData集合信息来更新详细信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "MeterBaseHisTareData", value = "详细实体MeterBaseHisTareData", required = true, dataType = "MeterBaseHisTareData")
     })
@@ -161,7 +161,7 @@ throw new MarkerMetException(500, "操作异常!!");
         return success();
     }
 
-    @ApiOperation(value = "逻辑删除", notes = "根据传过来的MeterBaseHisTareData集合信息来更新详细信息")
+    @ApiOperation(value = "逻辑删除-网页", notes = "根据传过来的MeterBaseHisTareData集合信息来更新详细信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "MeterBaseHisTareData", value = "详细实体MeterBaseHisTareData", required = true, dataType = "MeterBaseHisTareData")
     })

+ 1 - 1
src/main/java/com/steerinfo/baseinfo/meterbasespotinfo/controller/MeterBaseSpotInfoController.java

@@ -240,7 +240,7 @@ public class MeterBaseSpotInfoController extends BaseRESTfulController {
     }
 
 
-    @ApiOperation(value = "校秤计量关联查询", notes = "根据url的id来获取详细信息")
+    @ApiOperation(value = "校秤计量关联查询-校秤网页", notes = "根据url的id来获取详细信息")
     @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String")
     //@RequiresPermissions("meterbasematterinfo:view")
     @GetMapping(value = "/calibcorrelation")

+ 1 - 2
src/main/java/com/steerinfo/baseinfo/meterbasevoicerelation/mapper/MeterBaseVoiceRelationMapper.xml

@@ -238,8 +238,7 @@
     SELECT LPAD(NVL(MAX(TO_NUMBER(SUBSTR(RELATION_ID, LENGTH(RELATION_ID)-4 ))),0) + 1,5,'0') RELATION_ID
     FROM METER_BASE_VOICE_RELATION
   </select>
-
-
+  
   <select id="selectRelationByParameters" parameterType="java.util.HashMap" resultType="hashmap">
     select a.RELATION_ID,a.CREATE_MAN_NO,a.CREATE_MAN_NAME,a.CREATE_TIME,b.VOICE_NO,b.VOICE_NAME,b.VOICE_FILE_NAME,b.VOICE_FILE_URL,c.BASE_SPOT_NO,c.BASE_SPOT_NAME from METER_BASE_VOICE_RELATION a
         inner join METER_BASE_VOICE b on a.VOICE_ID=b.VOICE_NO

+ 85 - 0
src/main/java/com/steerinfo/util/HttpsRequest.java

@@ -1,7 +1,12 @@
 package com.steerinfo.util;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+
 import java.io.*;
 import java.net.URL;
+import java.util.HashMap;
 import java.util.Map;
 
 import javax.net.ssl.HttpsURLConnection;
@@ -347,4 +352,84 @@ public class HttpsRequest {
         }
         return result.toString();
     }
+
+    /**
+     * 向指定 URL 发送PUT方法的请求
+     *
+     * @param url
+     *            发送请求的 URL
+     * @return 所代表远程资源的响应结果
+     */
+    public static String sendPut(String url, Map<String, String> params, String token) {
+        OutputStreamWriter out = null;
+        BufferedReader in = null;
+        StringBuilder result = new StringBuilder();
+        try {
+
+            // 创建SSLContext对象,并使用我们指定的信任管理器初始化
+            TrustManager[] tm = { new MyX509TrustManager() };
+            SSLContext sslContext = SSLContext.getInstance("SSL");
+            sslContext.init(null, tm, new java.security.SecureRandom());
+
+            // 从上述SSLContext对象中得到SSLSocketFactory对象
+            SSLSocketFactory ssf = sslContext.getSocketFactory();
+
+            // 打开和URL之间的连接
+            URL realUrl = new URL(url);
+            HttpsURLConnection conn = (HttpsURLConnection) realUrl.openConnection();
+            conn.setSSLSocketFactory(ssf);
+
+            // POST方法
+            conn.setRequestMethod("PUT");
+            // 发送POST请求必须设置如下两行
+            conn.setDoOutput(true);
+            conn.setDoInput(true);
+            // 设置通用的请求属性
+            conn.setRequestProperty("accept", "*/*");
+            conn.setRequestProperty("connection", "Keep-Alive");
+            conn.setRequestProperty("user-agent",
+                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+            conn.setRequestProperty("Content-Type",
+                    "application/json;charset=UTF-8");
+            conn.setRequestProperty("authorization",
+                    "Bearer " + token);
+            conn.connect();
+
+
+            // 获取URLConnection对象对应的输出流
+            out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
+            // 发送json请求参数
+            String json = JSON.toJSONString(params);
+            //json = java.net.URLEncoder.encode(json, "utf-8");
+            out.write(json);
+            // flush输出流的缓冲
+            out.flush();
+            // 定义BufferedReader输入流来读取URL的响应
+            in = new BufferedReader(new InputStreamReader(
+                    conn.getInputStream(), "UTF-8"));
+            String line;
+            while ((line = in.readLine()) != null) {
+                result.append(line);
+            }
+            System.out.println("-----result-----"+result);
+        } catch (Exception e) {
+            System.out.println("发送 PUT 请求出现异常!"+e);
+            e.printStackTrace();
+        }
+        //使用finally块来关闭输出流、输入流
+        finally{
+            try{
+                if(out!=null){
+                    out.close();
+                }
+                if(in!=null){
+                    in.close();
+                }
+            }
+            catch(IOException ex){
+                ex.printStackTrace();
+            }
+        }
+        return result.toString();
+    }
 }

+ 81 - 11
src/main/java/com/steerinfo/util/SSOUtil.java

@@ -18,8 +18,9 @@ import java.util.Map;
 public class SSOUtil {
 
     // sso注册用户
-    public String ssoRegister(HashMap params) throws Exception {
-        String msg = "";
+    public HashMap ssoRegister(HashMap params) throws Exception {
+        HashMap<String, String> map = new HashMap<>();
+
         String ssoUrl = Configuration.readConfigString("sso.url", "application");
 
         // *将司机注册sso账户*
@@ -30,8 +31,8 @@ public class SSOUtil {
         if(!StringUtils.isEmpty(accessToken)){
             // 新增车辆SSO账号
             Map<String, String> userMap = new HashMap<>();
-            userMap.put("userCode", params.get("cusSupCarNo").toString());
-            userMap.put("userName", params.get("cusSupCarNo").toString());
+            userMap.put("userCode", params.get("carNo").toString());
+            userMap.put("userName", params.get("carNo").toString());
             userMap.put("orgCode", "123456789");
             userMap.put("orgName", "测试机构");
             userMap.put("groupData", "506514577756917769");
@@ -62,16 +63,49 @@ public class SSOUtil {
 
                 if(!jsonObject3.get("code").toString().equals("0")) {
                     ssoDeleter(tempObject2.get("userId").toString(),accessToken);
-
-                    msg = jsonObject3.get("resultMessage").toString();
+                }
+                else {
+                    // 返回sso返回的data
+                    map.put("code", "0");
+                    map.put("data", tempObject2.get("userId").toString());
                 }
             }
             else {
-                msg = jsonObject2.get("resultMessage").toString();
+                map.put("code", "1");
+                map.put("msg", jsonObject2.get("resultMessage").toString());
             }
         }
         else {
-            msg = "没有SSO默认账户,请联系系统管理员";
+            map.put("code", "1");
+            map.put("msg", "没有SSO默认账户,请联系系统管理员");
+        }
+
+        return map;
+    }
+
+    /**
+     * sso修改
+     * @param id
+     * @param params
+     * @param accessToken
+     * @return
+     */
+    public String ssoUpdate(String id, HashMap params, String accessToken) throws Exception {
+        String msg = "";
+        String ssoUrl = Configuration.readConfigString("sso.url", "application");
+
+        // 不传token时,自行获取默认账户的token
+        if(StringUtils.isEmpty(accessToken)){
+            accessToken = ssoDefaultLogin();
+        }
+
+        // 修改用户密码
+        String ssomsg3 = HttpsRequest.sendPost(ssoUrl + "/v1/sysusers/updateUser/"+id, params, accessToken);
+
+        JSONObject jsonObject = JSONObject.parseObject(ssomsg3);
+
+        if(!jsonObject.get("code").toString().equals("0")){
+            msg = jsonObject.get("message").toString();
         }
 
         return msg;
@@ -152,7 +186,7 @@ public class SSOUtil {
         String shaPass = SHAUtil.shaEncode(params.get("password").toString());
 
         Map<String, String> loginMap = new HashMap<>();
-        loginMap.put("loginName", params.get("cusSupCarNo").toString());
+        loginMap.put("loginName", params.get("carNo").toString());
         loginMap.put("password", shaPass);
 
         String ssomsg1 = HttpsRequest.sendPost(ssoUrl + "/auth/login", loginMap);
@@ -173,7 +207,7 @@ public class SSOUtil {
     }
 
     /**
-     * sso登录
+     * sso修改
      * @param params
      * @return
      */
@@ -187,7 +221,7 @@ public class SSOUtil {
         String shaPass = SHAUtil.shaEncode(params.get("oldpassword").toString());
 
         Map<String, String> loginMap = new HashMap<>();
-        loginMap.put("loginName", params.get("cusSupCarNo").toString());
+        loginMap.put("loginName", params.get("carNo").toString());
         loginMap.put("password", shaPass);
 
         String ssomsg1 = HttpsRequest.sendPost(ssoUrl + "/auth/login", loginMap);
@@ -229,4 +263,40 @@ public class SSOUtil {
 
         return map;
     }
+
+    /**
+     * sso重置密码
+     * @param id
+     * @return
+     */
+    public String ssoResetPwd(String id, String password, String accessToken) throws Exception {
+        String msg = "";
+        String ssoUrl = Configuration.readConfigString("sso.url", "application");
+
+        // 不传token时,自行获取默认账户的token
+        if(StringUtils.isEmpty(accessToken)){
+            accessToken = ssoDefaultLogin();
+        }
+
+        Map<String, String> map = new HashMap<>();
+        map.put("password", password);
+
+        String ssomsg4 = HttpsRequest.sendPut(ssoUrl + "/v1/sysusers/resetPassword/"+id, map, accessToken);
+
+        JSONObject jsonObject2 = JSONObject.parseObject(ssomsg4);
+
+        if(jsonObject2.get("code").toString().equals("0")) {
+            // 将用户状态置为启用
+            // 参数生成
+            HashMap<String, String> pwdMap = new HashMap<>();
+            pwdMap.put("loginStatus", "1");
+            pwdMap.put("leave", "");
+            ssoUpdate(id, pwdMap, accessToken);
+        }
+        else {
+            msg = jsonObject2.get("resultMessage").toString();
+        }
+
+        return msg;
+    }
 }