+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.controller;
+
+import com.elink.esua.epdc.commons.tools.page.PageData;
+import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
+import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
+import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
+import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
+import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
+import com.elink.esua.epdc.dto.SysEpmetUserRelationDTO;
+import com.elink.esua.epdc.service.SysEpmetUserRelationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+
+/**
+ * 项目产品工作人员关系表
+ *
+ * @author qu qu@elink-cn.com
+ * @since v1.0.0 2021-07-08
+ */
+@RestController
+@RequestMapping("sysepmetuserrelation")
+public class SysEpmetUserRelationController {
+
+ @Autowired
+ private SysEpmetUserRelationService sysEpmetUserRelationService;
+
+ @GetMapping("page")
+ public Result> page(@RequestParam Map params){
+ PageData page = sysEpmetUserRelationService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ SysEpmetUserRelationDTO data = sysEpmetUserRelationService.get(id);
+ return new Result().ok(data);
+ }
+
+ @PostMapping
+ public Result save(@RequestBody SysEpmetUserRelationDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ sysEpmetUserRelationService.save(dto);
+ return new Result();
+ }
+
+ @PutMapping
+ public Result update(@RequestBody SysEpmetUserRelationDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ sysEpmetUserRelationService.update(dto);
+ return new Result();
+ }
+
+ @DeleteMapping
+ public Result delete(@RequestBody String[] ids){
+ //效验数据
+ AssertUtils.isArrayEmpty(ids, "id");
+ sysEpmetUserRelationService.delete(ids);
+ return new Result();
+ }
+
+ /**
+ * 根据手机号获取产品工作人员信息
+ *
+ * @param mobile 当前用户手机号
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @author liuchuang
+ * @since 2021/7/8 16:42
+ */
+ @GetMapping("getstaffuser/{mobile}")
+ public Result getStaffUserFromEpmet(@PathVariable("mobile") String mobile) {
+ return sysEpmetUserRelationService.getStaffUserFromEpmet(mobile);
+ }
+
+}
diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysUserController.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysUserController.java
index e88340b..690c574 100644
--- a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysUserController.java
+++ b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysUserController.java
@@ -64,6 +64,8 @@ public class SysUserController {
private SysDeptService sysDeptService;
@Autowired
private OptSysDeptService optSysDeptService;
+ @Autowired
+ private SysEpmetUserRelationService sysEpmetUserRelationService;
@GetMapping("page")
@ApiOperation("分页")
@@ -89,6 +91,15 @@ public class SysUserController {
List roleIdList = sysRoleUserService.getRoleIdList(id);
data.setRoleIdList(roleIdList);
+ // 绑定的网格员信息
+ SysEpmetUserRelationDTO wgyInfo = sysEpmetUserRelationService.getSysUserRelationEpmetInfo(id);
+ if (null == wgyInfo) {
+ SysEpmetUserRelationDTO wgy = new SysEpmetUserRelationDTO();
+ data.setWgyInfo(wgy);
+ } else {
+ data.setWgyInfo(wgyInfo);
+ }
+
return new Result().ok(data);
}
diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/dao/SysEpmetUserRelationDao.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/dao/SysEpmetUserRelationDao.java
new file mode 100644
index 0000000..dea043f
--- /dev/null
+++ b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/dao/SysEpmetUserRelationDao.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.dao;
+
+import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
+import com.elink.esua.epdc.entity.SysEpmetUserRelationEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 项目产品工作人员关系表
+ *
+ * @author qu qu@elink-cn.com
+ * @since v1.0.0 2021-07-08
+ */
+@Mapper
+public interface SysEpmetUserRelationDao extends BaseDao {
+
+ /**
+ * 获取当前用户已绑定的产品工作人员信息
+ *
+ * @param id 当前用户ID
+ * @return com.elink.esua.epdc.epmet.modules.userrelation.entity.SysEpmetUserRelationEntity
+ * @author liuchuang
+ * @since 2021/7/8 17:04
+ */
+ SysEpmetUserRelationEntity selectSysUserRelationEpmetInfo(Long id);
+
+ /**
+ * 删除已绑定网格员信息
+ *
+ * @param id 系统用户ID
+ * @return void
+ * @author liuchuang
+ * @since 2021/7/10 14:29
+ */
+ void deleteRelationInfoBySysUserId(Long id);
+}
diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/entity/SysEpmetUserRelationEntity.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/entity/SysEpmetUserRelationEntity.java
new file mode 100644
index 0000000..a9d1aa2
--- /dev/null
+++ b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/entity/SysEpmetUserRelationEntity.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
+import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
+import com.elink.esua.epdc.commons.tools.page.PageData;
+import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
+import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.dao.SysEpmetUserRelationDao;
+import com.elink.esua.epdc.dto.SysEpmetUserRelationDTO;
+import com.elink.esua.epdc.dto.admin.SysEpmetUserFormDTO;
+import com.elink.esua.epdc.dto.admin.SysEpmetUserResultDTO;
+import com.elink.esua.epdc.entity.SysEpmetUserRelationEntity;
+import com.elink.esua.epdc.feign.AnalysisFeignClient;
+import com.elink.esua.epdc.service.SysEpmetUserRelationService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 项目产品工作人员关系表
+ *
+ * @author qu qu@elink-cn.com
+ * @since v1.0.0 2021-07-08
+ */
+@Service
+public class SysEpmetUserRelationServiceImpl extends BaseServiceImpl implements SysEpmetUserRelationService {
+
+ @Autowired
+ private AnalysisFeignClient analysisFeignClient;
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, SysEpmetUserRelationDTO.class);
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, SysEpmetUserRelationDTO.class);
+ }
+
+ private QueryWrapper getWrapper(Map params){
+ String id = (String)params.get(FieldConstant.ID_HUMP);
+
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
+
+ return wrapper;
+ }
+
+ @Override
+ public SysEpmetUserRelationDTO get(String id) {
+ SysEpmetUserRelationEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, SysEpmetUserRelationDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(SysEpmetUserRelationDTO dto) {
+ SysEpmetUserRelationEntity entity = ConvertUtils.sourceToTarget(dto, SysEpmetUserRelationEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(SysEpmetUserRelationDTO dto) {
+ SysEpmetUserRelationEntity entity = ConvertUtils.sourceToTarget(dto, SysEpmetUserRelationEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+
+ @Override
+ public SysEpmetUserRelationDTO getSysUserRelationEpmetInfo(Long id) {
+ SysEpmetUserRelationEntity entity = baseDao.selectSysUserRelationEpmetInfo(id);
+ return ConvertUtils.sourceToTarget(entity, SysEpmetUserRelationDTO.class);
+ }
+
+ @Override
+ public Result getStaffUserFromEpmet(String mobile) {
+ SysEpmetUserFormDTO formDto = new SysEpmetUserFormDTO();
+ formDto.setMobile(mobile);
+ Result result = analysisFeignClient.getEpmetUserInfoByMobile(formDto);
+ if (result.success()) {
+ SysEpmetUserRelationDTO data = ConvertUtils.sourceToTarget(result.getData(), SysEpmetUserRelationDTO.class);
+ return new Result().ok(data);
+ }
+
+ return new Result().error(result.getMsg());
+ }
+
+ @Override
+ public Result saveOrUpdateUserEpmetRelation(Long id, SysEpmetUserRelationDTO wgyInfo) {
+ // 删除已绑定网格员信息
+ baseDao.deleteRelationInfoBySysUserId(id);
+ if (StringUtils.isNotEmpty(wgyInfo.getStaffId())) {
+ wgyInfo.setSysUserId(id);
+ insert(ConvertUtils.sourceToTarget(wgyInfo, SysEpmetUserRelationEntity.class));
+ }
+
+ return new Result();
+ }
+
+}
diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java
index 8a8b2a4..310c458 100644
--- a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java
+++ b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java
@@ -30,6 +30,7 @@ import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.entity.SysUserEntity;
import com.elink.esua.epdc.service.SysDeptService;
+import com.elink.esua.epdc.service.SysEpmetUserRelationService;
import com.elink.esua.epdc.service.SysRoleUserService;
import com.elink.esua.epdc.service.SysUserService;
import org.apache.commons.lang3.StringUtils;
@@ -54,6 +55,9 @@ public class SysUserServiceImpl extends BaseServiceImpl page(Map params) {
//转换成like
@@ -120,6 +124,9 @@ public class SysUserServiceImpl extends BaseServiceImpl
+
+
+
+
+
+
+
+ DELETE FROM sys_epmet_user_relation WHERE SYS_USER_ID = #{id}
+
+
+
diff --git a/epdc-cloud-client-yushan b/epdc-cloud-client-yushan
index 80264ec..982b1ff 160000
--- a/epdc-cloud-client-yushan
+++ b/epdc-cloud-client-yushan
@@ -1 +1 @@
-Subproject commit 80264ec0f84a8692e3d23254710bf6f987f126a9
+Subproject commit 982b1ff01e69e7cb48180e3d68c94664605ae73e