Browse Source

机构管理

suntianwu 3 years ago
parent
commit
017190b268

+ 148 - 0
src/main/java/com/care/bms/controller/OrganizationController.java

@@ -0,0 +1,148 @@
+package com.care.bms.controller;
+
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.care.bms.service.OrganizationService;
+import com.care.common.annotation.Permission;
+import com.care.common.entity.CareOrganization;
+import com.care.common.entity.CareSysUser;
+import com.care.common.exception.BDException;
+import com.care.common.service.CareOrganizationService;
+import com.care.common.service.CareSysUserService;
+import com.care.common.util.PageResult;
+import com.care.common.util.Result;
+import com.care.common.util.WebPageUtils;
+import com.care.common.vo.PageReqVO;
+import com.care.common.vo.UserLogindConvertVO;
+import com.care.common.vo.org.OrganizationVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: lilt
+ * @Date: 2021/5/26
+ * @Desc:
+ */
+@RestController
+@Api(value = "OrganizationController", tags = { "机构管理" })
+@Slf4j
+@RequestMapping("/bms/org")
+@Permission
+public class OrganizationController {
+
+    @Autowired
+    private OrganizationService organizationService;
+
+    @Resource
+    private CareOrganizationService careOrganizationService;
+    @Resource
+    private CareSysUserService careSysUserService;
+
+    @GetMapping("/listOrganization")
+    @ApiOperation(value = "机构列表分页  --四期新增")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(paramType = "query", name = "name", value = "机构名称"),
+            @ApiImplicitParam(paramType = "systemName", name = "systemName", value = "系统名称")
+    })
+    public PageResult<List<OrganizationVO>> listOrganization(HttpServletRequest request, @RequestHeader(value = "token") String token,
+                                                             @RequestParam(value = "name", required = false) String name,
+                                                             @RequestParam(value = "systemName", required = false) String systemName,
+                                                             PageReqVO pageReqVo){
+        try {
+            UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
+            IPage<OrganizationVO> pageResponse = this.organizationService.listOrganization(name,systemName,loginUser ,pageReqVo);
+            return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
+        }catch (BDException e) {
+            log.error("机构列表查询-分页列表出现异常",e);
+            return  PageResult.error(e.getMessage());
+        } catch (Exception e) {
+            log.error("机构管理: 机构列表查询出现异常",e);
+            return PageResult.error( "获取列表失败");
+        }
+    }
+
+    @GetMapping("/synOrganization")
+    @ApiOperation(value = "同步机构 -- 四期新增")
+    public Result<Object> synOrganization(@RequestHeader("token") String token) {
+        try {
+            if (organizationService.synOrganization()){
+                return  Result.success("同步成功!");
+            } else {
+                return Result.error("同步失败!");
+            }
+
+        }catch (BDException e) {
+            log.error("同步机构-出现异常",e);
+            return Result.error(e.getMessage());
+        } catch (Exception e) {
+            log.error("同步机构: 同步机构出现异常",e);
+            return Result.error("同步失败!");
+        }
+    }
+
+
+    @PostMapping("/updateOrganization")
+    @ApiOperation(value = "修改机构 --四期新增")
+    public Result<Object> updateOrganization(@RequestHeader("token") String token,
+                                        @RequestBody OrganizationVO vo){
+        try {
+            organizationService.updateOrganization(vo);
+            return Result.success("修改成功!");
+        }catch (BDException e) {
+            log.error("修改机构-出现异常",e);
+            return Result.error(e.getMessage());
+        } catch (Exception e) {
+            log.error("机构管理: 修改机构出现异常",e);
+            return Result.error("修改失败!");
+        }
+    }
+
+    @GetMapping("/getOrganizationInfo/{organizationId}")
+    @ApiOperation(value = "机构详情  --四期新增")
+    public Result<OrganizationVO> getOrganizationInfo(@RequestHeader("token") String token,@PathVariable("organizationId") Long organizationId){
+        OrganizationVO vo = this.organizationService.getOrganizationInfo(organizationId);
+        if(vo != null){
+            return  Result.success("查询成功!",vo);
+        } else {
+            return  Result.error("查询失败!");
+        }
+
+    }
+
+    @PostMapping("/resetOrgAccountPassword/{orgAccountId}")
+    @ApiOperation(value = "重置密码 --四期新增")
+    public Result<Object> resetOrgAccountPassword(@RequestHeader("token") String token,
+                                                      @PathVariable("orgAccountId") Long orgAccountId){
+        try {
+            UpdateWrapper<CareSysUser> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.lambda().eq(CareSysUser::getId,orgAccountId)
+                    .set(CareSysUser::getPassword, DigestUtils.md5Hex("123456"))
+                    .set(CareSysUser::getModifyTime, new Date());
+            if (careSysUserService.update(updateWrapper)){
+                return  Result.success("重置成功!");
+            } else {
+                return  Result.error("重置失败!");
+            }
+
+        }catch (BDException e) {
+            log.error("重置密码-出现异常",e);
+            return Result.error(e.getMessage());
+        } catch (Exception e) {
+            log.error("机构管理: 重置密码出现异常",e);
+            return Result.error("重置密码失败!");
+        }
+    }
+}

+ 0 - 2
src/main/java/com/care/bms/controller/StationAccountController.java

@@ -73,8 +73,6 @@ public class StationAccountController {
         try {
 
             UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
-            String md5Password = DigestUtils.md5Hex("123456");
-            vo.setPassword(md5Password);
             int flag = this.bmsSysUserService.createStationAccount(vo,loginUser);
             if (flag == 1) {
                 return  Result.error("电话已存在!");

+ 60 - 32
src/main/java/com/care/bms/controller/StationController.java

@@ -2,20 +2,23 @@ package com.care.bms.controller;
 
 
 import cn.hutool.core.bean.BeanUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.care.bms.service.DeviceService;
 import com.care.bms.service.StationService;
 import com.care.common.annotation.Permission;
+import com.care.common.entity.CareDevice;
 import com.care.common.entity.CareStation;
 import com.care.common.exception.BDException;
+import com.care.common.service.CareDeviceService;
 import com.care.common.service.CareStationService;
 import com.care.common.util.PageResult;
-import com.care.common.util.RandomCodeUtil;
 import com.care.common.util.Result;
 import com.care.common.util.WebPageUtils;
 
 import com.care.common.vo.PageReqVO;
 import com.care.common.vo.UserLogindConvertVO;
+import com.care.common.vo.device.DeviceVO;
 import com.care.common.vo.device.StationVO;
 import com.care.common.vo.station.CareStationVO;
 import io.swagger.annotations.Api;
@@ -28,6 +31,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -48,6 +52,10 @@ public class StationController {
     @Resource
     private CareStationService careStationService;
 
+    @Autowired
+    private DeviceService deviceService;
+    @Autowired
+    private CareDeviceService careDeviceService;
 
 
     /**
@@ -73,25 +81,10 @@ public class StationController {
     public Result<Object> addStation(HttpServletRequest request,@RequestHeader("token") String token,
                                      @RequestBody CareStationVO vo){
         try {
-            QueryWrapper<CareStation> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().eq(CareStation::getName,vo.getName());
-            CareStation careStationDb = this.careStationService.getOne(queryWrapper);
-            if(careStationDb != null ){
-                return  Result.error("名称已经存在已存在!");
-            }
-
             UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
-            CareStation careStation = new CareStation();
-            BeanUtil.copyProperties(vo,careStation);
-            careStation.setOrgId(loginUser.getOrgId());
-            careStation.setCode(getCode());
-            boolean flag = this.careStationService.save(careStation);
-            if (flag) {
-                return  Result.success("新增成功!");
-            }  else {
-                return  Result.error("新增失败!");
-            }
-
+            vo.setOrgId(loginUser.getOrgId());
+            stationService.addStation(vo);
+            return  Result.success("新增成功!");
         }catch (BDException e) {
             log.error("新增服务站-出现异常",e);
             return Result.error(e.getMessage());
@@ -101,17 +94,7 @@ public class StationController {
         }
     }
 
-    private String getCode(){
-        String code = RandomCodeUtil.radomNumberCode(10);
-        QueryWrapper<CareStation> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(CareStation::getCode,code);
-        CareStation careStationDb1 = this.careStationService.getOne(queryWrapper);
-        if(careStationDb1 == null) {
-            return code;
-        } else {
-            return getCode();
-        }
-    }
+
 
     @PostMapping("/updateStation")
     @ApiOperation(value = "修改服务站 --四期新增")
@@ -150,7 +133,7 @@ public class StationController {
                                                        PageReqVO pageReqVo){
         try {
             UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
-            IPage<CareStationVO> pageResponse = this.stationService.listCareStation(name,loginUser ,pageReqVo);
+            IPage<CareStationVO> pageResponse = this.stationService.listStation(name,loginUser ,pageReqVo);
             return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
         }catch (BDException e) {
             log.error("服务站列表查询-分页列表出现异常",e);
@@ -160,4 +143,49 @@ public class StationController {
             return PageResult.error( "获取列表失败");
         }
     }
+
+    @GetMapping("/listDeviceNonStation")
+    @ApiOperation(value = "查询站点为空的设备列表分页--四期期新增")
+    public PageResult<List<DeviceVO>> listDeviceNonStation(HttpServletRequest request, @RequestHeader(value = "token") String token,
+                                                           PageReqVO pageReqVo){
+        try {
+            UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
+            IPage<DeviceVO> pageResponse = this.deviceService.listDeviceNonStation(loginUser ,pageReqVo);
+            return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
+        }catch (BDException e) {
+            log.error("设备列表查询-分页列表出现异常",e);
+            return  PageResult.error(e.getMessage());
+        } catch (Exception e) {
+            log.error("设备管理: 设备列表查询出现异常",e);
+            return PageResult.error( "获取列表失败");
+        }
+    }
+
+    @PostMapping("/distributeDevice")
+    @ApiOperation(value = "分配设备(对象list中只设置stationId和设备的id) --四期新增 ")
+    public Result<Object> distributeDevice( @RequestHeader("token") String token,
+                                            @RequestBody List<DeviceVO> vos) {
+        try {
+
+            if (CollUtil.isEmpty(vos)) {
+                return Result.error("分配设备列表不能为空!");
+            }
+            List<CareDevice> careDevices = new ArrayList<>();
+            for (DeviceVO vo : vos) {
+                CareDevice careDevice = new CareDevice();
+                BeanUtil.copyProperties(vo, careDevice);
+                careDevices.add(careDevice);
+            }
+
+            this.careDeviceService.updateBatchById(careDevices);
+
+            return Result.success("分配设备成功!");
+        } catch (BDException e) {
+            log.error("分配设备-出现异常", e);
+            return Result.error(e.getMessage());
+        } catch (Exception e) {
+            log.error("设备管理: 分配设备出现异常", e);
+            return Result.error("分配设备失败!");
+        }
+    }
 }

+ 3 - 1
src/main/java/com/care/bms/service/BmsSysUserService.java

@@ -435,10 +435,12 @@ public class BmsSysUserService{
         //保存服务站账号
         CareSysUser careSysUser = new CareSysUser();
         BeanUtil.copyProperties(vo,careSysUser);
+        careSysUser.setName(this.careStationService.getById(vo.getStationId()).getShortName() + "管理账号");
         careSysUser.setCreateTime(new Date());
         careSysUser.setRole(UserRoleEnum.STATION.getValue());
         careSysUser.setOrgId(loginUser.getOrgId());
-
+        String md5Password = DigestUtils.md5Hex("123456");
+        careSysUser.setPassword(md5Password);
         this.careSysUserService.save(careSysUser);
 
         return 0;

+ 235 - 0
src/main/java/com/care/bms/service/OrganizationService.java

@@ -0,0 +1,235 @@
+package com.care.bms.service;
+
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.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.care.common.entity.*;
+
+import com.care.common.enums.UserRoleEnum;
+import com.care.common.exception.BDException;
+import com.care.common.service.CareDeviceService;
+import com.care.common.service.CareOrganizationService;
+import com.care.common.service.CareStationService;
+import com.care.common.service.CareSysUserService;
+import com.care.common.util.DateUtils;
+
+import com.care.common.util.HttpUtil;
+import com.care.common.util.ImgUtil;
+import com.care.common.util.Result;
+import com.care.common.vo.org.OrganizationVO;
+import com.care.common.vo.PageReqVO;
+import com.care.common.vo.UserLogindConvertVO;
+
+import com.care.common.vo.station.CareStationVO;
+import com.care.common.vo.sysuser.CareSysUserVO;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.FileOutputStream;
+import java.util.*;
+
+
+/**
+ * @Author: lilt
+ * @Date: 2021/7/14
+ * @Desc:
+ */
+@Service
+public class OrganizationService {
+    @Resource
+    private CareOrganizationService careOrganizationService;
+    @Resource
+    private CareDeviceService careDeviceService;
+    @Resource
+    private CareStationService careStationService;
+    @Resource
+    private CareSysUserService careSysUserService;
+    @Resource
+    private StationService stationService;
+
+    @Value("${file.savePath:#{null}}")
+    private String savePath;
+    @Value("${file.url:#{null}}")
+    private String fileUrl;
+
+    @Value("${syn.org.url:#{null}}")
+    private String synOrgUrl;
+
+    /**
+     * 查询服务站列表
+     *
+     * @return
+     */
+    public IPage<OrganizationVO> listOrganization(String name, String systemName, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
+        IPage<CareOrganization> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
+        QueryWrapper<CareOrganization> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().like(StrUtil.isNotEmpty(name), CareOrganization::getName, name)
+                .like(StrUtil.isNotEmpty(systemName), CareOrganization::getSystemName, systemName)
+                .orderByAsc(CareOrganization::getName);
+
+        IPage<CareOrganization> pageRes = this.careOrganizationService.page(page, queryWrapper);
+        IPage<OrganizationVO> results = new Page<>(pageRes.getCurrent(), pageRes.getSize(), pageRes.getTotal());
+        if (CollUtil.isNotEmpty(pageRes.getRecords())) {
+            List<OrganizationVO> list = new ArrayList<>();
+            pageRes.getRecords().forEach(item -> {
+                OrganizationVO resVO = new OrganizationVO();
+                BeanUtils.copyProperties(item, resVO);
+                //服务站数量
+                QueryWrapper<CareStation> queryWrapper0 = new QueryWrapper<>();
+                queryWrapper0.lambda().eq(CareStation::getOrgId, resVO.getId());
+                resVO.setStationCount(this.careStationService.count(queryWrapper0));
+
+                //服务设备数量
+                QueryWrapper<CareDevice> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.lambda().eq(CareDevice::getOrgId, resVO.getId());
+                resVO.setDevCount(this.careDeviceService.count(queryWrapper1));
+
+                //服务有效期
+                QueryWrapper<CareSysUser> queryWrapper2 = new QueryWrapper<>();
+                queryWrapper2.lambda().eq(CareSysUser::getOrgId, resVO.getId()).eq(CareSysUser::getRole,UserRoleEnum.ORG);
+                CareSysUser careSysUser = this.careSysUserService.getOne(queryWrapper2);
+                if (careSysUser != null && careSysUser.getServStartDate() != null && careSysUser.getServEndDate() != null) {
+                    resVO.setServValidPeriod(DateUtils.formatToDateStr(careSysUser.getServStartDate(), "yyyy-MM-dd") + "~" + DateUtils.formatToDateStr(careSysUser.getServEndDate(), "yyyy-MM-dd"));
+                }
+
+                list.add(resVO);
+            });
+            results.setRecords(list);
+        }
+        return results;
+    }
+
+    public OrganizationVO getOrganizationInfo(Long organizationId) {
+        OrganizationVO vo = new OrganizationVO();
+        CareOrganization organizationInfo = this.careOrganizationService.getById(organizationId);
+        BeanUtil.copyProperties(organizationInfo,vo);
+        //服务有效期
+        QueryWrapper<CareSysUser> queryWrapper2 = new QueryWrapper<>();
+        queryWrapper2.lambda().eq(CareSysUser::getOrgId, organizationId).eq(CareSysUser::getRole,UserRoleEnum.ORG);
+        CareSysUser careSysUser = this.careSysUserService.getOne(queryWrapper2);
+        CareSysUserVO careSysUserVO = new CareSysUserVO();
+        BeanUtil.copyProperties(careSysUser,careSysUserVO);
+        vo.setCareSysUserVO(careSysUserVO);
+
+        return vo;
+    }
+
+    /**
+     * 同步机构
+     */
+    public boolean synOrganization() {
+
+        try {
+            // 通过synOrgUrl获取data
+            JSONObject jsonObject = HttpUtil.httpGet(synOrgUrl);
+            int code = jsonObject.getInt("code");
+            if (code == 1) {
+                JSONArray data = jsonObject.getJSONArray("data");
+                Iterator it = data.iterator();
+
+                while (it.hasNext()) {
+                    JSONObject obj = (JSONObject) it.next();
+                    CareOrganization careOrganization = new CareOrganization();
+
+                    careOrganization.setName(obj.getStr("companyName"));
+                    careOrganization.setShortName(obj.getStr("shortName"));
+                    careOrganization.setCompanyId(obj.getStr("companyId"));
+                    careOrganization.setOrgCode(obj.getStr("companyId"));
+                    careOrganization.setCompanyKey(obj.getStr("companyKey"));
+                    careOrganizationService.synOrganization(careOrganization);
+                }
+
+                return true;
+            } else {
+                return false;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+
+    }
+
+    /**
+     * 修改机构
+     * @param vo
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void updateOrganization(OrganizationVO vo) throws Exception {
+        Result<Object> ret = Result.success("修改成功!");
+        MultipartFile logoImg = vo.getLogoImg();
+        if (logoImg != null) {
+            //获取文件名
+            String fileName = logoImg.getOriginalFilename();
+            if (StringUtils.isEmpty(fileName) || logoImg.getSize() == 0) {
+                throw new BDException("logo文件不能为空!");
+            }
+            //验证文件名是否合格
+            if (!ImgUtil.isImg(fileName)) {
+                throw new BDException("logo文件必须是图片格式!");
+            }
+            String saveFileName = UUID.randomUUID().toString() + "_" + fileName;
+            String picFullFileName = savePath + "/logo/" + saveFileName;
+            FileOutputStream fos = new FileOutputStream(picFullFileName);
+            fos.write(logoImg.getBytes());
+            vo.setLogo(fileUrl + "logo/" + saveFileName);
+        }
+
+        CareOrganization careOrganization = new CareOrganization();
+        BeanUtil.copyProperties(vo, careOrganization);
+        if(!this.careOrganizationService.updateById(careOrganization)){
+            throw new BDException("机构修改失败!");
+        }
+
+        //机构账号
+        CareSysUserVO careSysUserVO = vo.getCareSysUserVO();
+        QueryWrapper<CareSysUser> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareSysUser::getPhone,careSysUserVO.getPhone());
+        CareSysUser careSysUserDb = careSysUserService.getOne(queryWrapper);
+        if(careSysUserDb != null){
+            careSysUserVO.setId(careSysUserDb.getId());
+            CareSysUser careSysUser = new CareSysUser();
+            BeanUtil.copyProperties(careSysUserVO,careSysUser);
+            if(!this.careSysUserService.updateById(careSysUser)){
+                throw new BDException("机构账号修改失败!");
+            };
+        } else {
+            CareSysUser careSysUser = new CareSysUser();
+            BeanUtil.copyProperties(careSysUserVO,careSysUser);
+            careSysUser.setName(vo.getShortName() + "管理账号");
+            careSysUser.setCreateTime(new Date());
+            careSysUser.setRole(UserRoleEnum.ORG.getValue());
+            careSysUser.setOrgId(vo.getId());
+            String md5Password = DigestUtils.md5Hex("123456");
+            careSysUser.setPassword(md5Password);
+            this.careSysUserService.save(careSysUser);
+
+            //创建一个默认服务站
+
+            CareOrganization careOrganizationDb = this.careOrganizationService.getById(vo.getId());
+
+            CareStationVO careStationVO = new CareStationVO();
+            careStationVO.setOrgId(vo.getId());
+            careStationVO.setName(careOrganizationDb.getName());
+            careStationVO.setShortName(careOrganizationDb.getShortName());
+             careStationVO.setPhone(careSysUser.getPhone());
+             stationService.addStation(careStationVO);
+        }
+
+    }
+}
+
+
+

+ 36 - 1
src/main/java/com/care/bms/service/StationService.java

@@ -8,8 +8,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.care.common.entity.CareDevice;
 import com.care.common.entity.CareStation;
+import com.care.common.exception.BDException;
 import com.care.common.service.CareDeviceService;
 import com.care.common.service.CareStationService;
+import com.care.common.util.RandomCodeUtil;
+import com.care.common.util.Result;
+import com.care.common.util.WebPageUtils;
 import com.care.common.vo.PageReqVO;
 import com.care.common.vo.UserLogindConvertVO;
 import com.care.common.vo.device.StationVO;
@@ -37,7 +41,7 @@ public class StationService {
      * 查询服务站列表
      * @return
      */
-    public IPage<CareStationVO> listCareStation(String name, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
+    public IPage<CareStationVO> listStation(String name, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
         IPage<CareStation> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
         QueryWrapper<CareStation> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().like(StrUtil.isNotEmpty(name),CareStation::getName,name)
@@ -86,4 +90,35 @@ public class StationService {
         }
         return datas;
     }
+
+    public void addStation(CareStationVO vo) throws Exception {
+        QueryWrapper<CareStation> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareStation::getName,vo.getName());
+        int count = this.careStationService.count(queryWrapper);
+        if(count > 0){
+            throw new BDException("服务站名称已经存在已存在!");
+        }
+
+        CareStation careStation = new CareStation();
+        BeanUtil.copyProperties(vo,careStation);
+
+        careStation.setCode(getCode());
+
+        boolean flag = this.careStationService.save(careStation);
+        if (!flag) {
+            throw new BDException("新增服务站失败!");
+        }
+    }
+
+    private String getCode(){
+        String code = RandomCodeUtil.radomNumberCode(10);
+        QueryWrapper<CareStation> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareStation::getCode,code);
+        CareStation careStationDb1 = this.careStationService.getOne(queryWrapper);
+        if(careStationDb1 == null) {
+            return code;
+        } else {
+            return getCode();
+        }
+    }
 }

+ 7 - 3
src/main/java/com/care/common/entity/CareOrganization.java

@@ -42,7 +42,7 @@ public class CareOrganization implements Serializable {
     private String shortName;
 
 
-    @ApiModelProperty("机构编码:登陆时使用")
+    @ApiModelProperty("机构编码")
     @TableField("ORG_CODE")
     private String orgCode;
 
@@ -79,8 +79,12 @@ public class CareOrganization implements Serializable {
     @TableField("MODIFY_TIME")
     private Date modifyTime;
 
-    @TableField("company_key")
+
+    @ApiModelProperty("企业KEY")
+    @TableField("COMPANY_KEY")
     private  String companyKey;
-    @TableField("company_id")
+
+    @ApiModelProperty("企业ID")
+    @TableField("COMPANY_ID")
     private String companyId;
 }

+ 1 - 1
src/main/java/com/care/common/mapper/CareOrganizationMapper.java

@@ -11,5 +11,5 @@ import com.care.common.entity.CareOrganization;
  * @since 2021-05-21 00:08:35
  */
 public interface CareOrganizationMapper extends BaseMapper<CareOrganization> {
-
+    void synOrganization(CareOrganization careOrganization);
 }

+ 1 - 1
src/main/java/com/care/common/service/CareOrganizationService.java

@@ -10,5 +10,5 @@ import com.care.common.entity.CareOrganization;
  * @since 2021-05-21 00:08:36
  */
 public interface CareOrganizationService extends IService<CareOrganization> {
-
+    void synOrganization(CareOrganization careOrganization);
 }

+ 3 - 1
src/main/java/com/care/common/service/impl/CareOrganizationServiceImpl.java

@@ -14,5 +14,7 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class CareOrganizationServiceImpl extends ServiceImpl<CareOrganizationMapper, CareOrganization> implements CareOrganizationService {
-
+    public void synOrganization(CareOrganization careOrganization) {
+        this.baseMapper.synOrganization(careOrganization);
+    }
 }

+ 13 - 0
src/main/java/com/care/common/util/ImgUtil.java

@@ -0,0 +1,13 @@
+package com.care.common.util;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class ImgUtil {
+    public static boolean isImg(String fileName) {
+        String reg = ".+(.JPEG|.jpeg|.JPG|.jpg|.PNG|.png)$";
+        Pattern pattern = Pattern.compile(reg);
+        Matcher matcher = pattern.matcher(fileName);
+        return matcher.find();
+    }
+}

+ 90 - 0
src/main/java/com/care/common/vo/org/OrganizationVO.java

@@ -0,0 +1,90 @@
+package com.care.common.vo.org;
+
+
+import com.care.common.vo.sysuser.CareSysUserVO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 机构(CareOrganization)实体类
+ *
+ * @author makejava
+ * @since 2021-06-02 21:44:00
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "机构", description = "")
+public class OrganizationVO implements Serializable {
+    private static final long serialVersionUID = 783765292295776882L;
+
+    private Long id;
+
+
+    @ApiModelProperty("机构名称")
+    private String name;
+
+
+    @ApiModelProperty("机构简称")
+    private String shortName;
+
+
+    @ApiModelProperty("机构编码")
+    private String orgCode;
+
+
+    @ApiModelProperty("地址")
+    private String addr;
+
+
+    @ApiModelProperty("经度")
+    private Double longitude;
+
+
+    @ApiModelProperty("纬度")
+    private Double latitude;
+
+    @ApiModelProperty("系统名称")
+    private String systemName;
+
+    @ApiModelProperty("log")
+    private String logo;
+
+    @ApiModelProperty("log图片MultipartFile对象")
+    private MultipartFile logoImg;
+
+    @ApiModelProperty("createTime")
+    private Date createTime;
+
+
+    @ApiModelProperty("modifyTime")
+    private Date modifyTime;
+
+    @ApiModelProperty("企业KEY")
+    private  String companyKey;
+
+    @ApiModelProperty("企业ID")
+    private String companyId;
+
+    @ApiModelProperty("服务站数量")
+    private Integer stationCount;
+
+    @ApiModelProperty("服务设备数量")
+    private Integer devCount;
+
+    @ApiModelProperty("服务有效期")
+    private String servValidPeriod ;
+
+    @ApiModelProperty("机构账号")
+    private CareSysUserVO careSysUserVO ;
+
+
+}

+ 6 - 1
src/main/resources/application-dev.properties

@@ -52,4 +52,9 @@ mqtt.topic.work.template=/shangxingkeji/XXXXX/event
 
 #设备安装时发送消息的mqtt topic
 mqtt.topic.install.template=5JPD/monintor/XXXXX/control
-############# 设备MQTT消息配置 end #####################
+############# 设备MQTT消息配置 end #####################
+
+#同步机构地址
+syn.org.url=http://49.233.41.108:8100/rfc/sys/company/syncCompany
+#同步设备地址
+syn.dev.url=http://49.233.41.108:8100/rfc/device/syncDevice

+ 6 - 1
src/main/resources/application-prod.properties

@@ -57,4 +57,9 @@ mqtt.topic.work.template=5JPD/monitor/XXXXX/event
 
 #设备安装时发送消息的mqtt topic
 mqtt.topic.install.template=5JPD/monintor/XXXXX/control
-############# 设备MQTT消息配置 end #####################
+############# 设备MQTT消息配置 end #####################
+
+#同步机构地址
+syn.org.url=http://49.233.41.108:8100/rfc/sys/company/syncCompany
+#同步设备地址
+syn.dev.url=http://49.233.41.108:8100/rfc/device/syncDevice

+ 9 - 1
src/main/resources/mybatis/CareOrganizationMapper.xml

@@ -1,6 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.care.common.mapper.CareOrganizationMapper">
-   
+
+    <insert id = "synOrganization">
+        insert into care_organization(name,short_name,org_code,company_key,company_id,create_time)
+        values(#{name},#{shortName},#{orgCode},#{companyKey},#{companyId},now())
+        on duplicate key update
+        name = values(name),
+        short_name = values(short_name),
+        company_key = values(company_key)
+    </insert>
 
 </mapper>