springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/GridMemberVO.java
@@ -1,8 +1,11 @@ package com.panzhihua.common.model.vos.grid; import com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel("管理后台-网格员返回参数") @@ -28,5 +31,9 @@ private Integer workStartTime; @ApiModelProperty(value = "网格员上班结束时间") private Integer workEndTime; @ApiModelProperty(value = "市平台网格员关联id") private Long lcMemberId; @ApiModelProperty(value = "网格员关联楼栋信息") private List<GridMemberBuildingVO> memberBuildingList; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/admin/GridMemberBuildingVO.java
New file @@ -0,0 +1,29 @@ package com.panzhihua.common.model.vos.grid.admin; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("管理后台-网格员与楼栋关联关系返回参数") public class GridMemberBuildingVO { @ApiModelProperty(value = "社区id") @JsonSerialize(using = ToStringSerializer.class) private Long communityId; @ApiModelProperty(value = "社区名字") private String communityName; @ApiModelProperty(value = "小区id") @JsonSerialize(using = ToStringSerializer.class) private Long villageId; @ApiModelProperty(value = "小区名字") private String villageName; @ApiModelProperty(value = "楼栋id") @JsonSerialize(using = ToStringSerializer.class) private Long buildingId; @ApiModelProperty(value = "楼栋名字") private String buildingName; } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/EventGridMemberBuildingRelationMapper.java
@@ -1,8 +1,12 @@ package com.panzhihua.service_user.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO; import com.panzhihua.service_user.model.dos.EventGridMemberBuildingRelationDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * @auther lyq @@ -12,4 +16,6 @@ @Mapper public interface EventGridMemberBuildingRelationMapper extends BaseMapper<EventGridMemberBuildingRelationDO> { List<GridMemberBuildingVO> getGridMemberBuildingRelation(@Param("gridMemberId") Long gridMemberId); } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
@@ -23,14 +23,12 @@ import com.panzhihua.common.model.vos.user.UpdateUserArchivesVO; import com.panzhihua.service_user.model.dos.SysUserDO; import com.panzhihua.service_user.model.dtos.DataKanbanDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import org.apache.ibatis.annotations.*; import org.springframework.web.bind.annotation.RequestParam; import java.util.Date; import java.util.List; import java.util.Map; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -412,7 +410,19 @@ "</script>") void passResetUser(@Param("gridMemberDTO") EventGridMemberPassResetDTO gridMemberDTO); // @Update("update lc_compare_code_member set local_grid_member_id = #{userId},grid_member_name = #{userName} where id = #{lcMemberId}") // void addLcMember(@Param("lcMemberId") Long lcMemberId,@Param("userId") Long userId,@Param("userName") Long userName); @Update("update lc_compare_code_member set local_grid_member_id = #{userId},grid_member_name = #{userName} where id = #{lcMemberId}") void addLcMember(@Param("lcMemberId") Long lcMemberId,@Param("userId") Long userId,@Param("userName") String userName); @Update("update lc_compare_code_member set local_grid_member_id = null,grid_member_name = null where local_grid_member_id = #{gridMemberId}") void delLcMember(@Param("gridMemberId") Long gridMemberId); @Select("select id,village_id,act_id from com_mng_building where id = #{buildingId}") Map<String,Long> getBuilding(@Param("buildingId") Long buildingId); @Delete("delete from event_grid_member_building_relation where grid_member_id = #{gridMemberId}") void delGridMemberRelation(@Param("gridMemberId") Long gridMemberId); @Select("select id from lc_compare_code_member where local_grid_member_id = #{gridMemberId}") Long getLcMemberId(@Param("gridMemberId") Long gridMemberId); } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -17,6 +17,8 @@ import com.panzhihua.common.model.vos.community.ComActVO; import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO; import com.panzhihua.common.model.vos.grid.EventGridMemberRelationVO; import com.panzhihua.common.model.vos.grid.GridMemberVO; import com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO; import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO; import com.panzhihua.common.model.vos.shop.ShopStoreVO; import com.panzhihua.common.model.vos.user.*; @@ -28,6 +30,7 @@ import com.panzhihua.service_user.dao.*; import com.panzhihua.service_user.model.dos.*; import com.panzhihua.service_user.model.dtos.DataKanbanDTO; import com.panzhihua.service_user.service.EventGridMemberBuildingRelationService; import com.panzhihua.service_user.service.UserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.time.DateFormatUtils; @@ -81,6 +84,10 @@ private SysMenuDAO sysMenuDAO; @Resource private SysUserInputDAO sysUserInputDAO; @Resource private EventGridMemberBuildingRelationService buildingRelationService; @Resource private EventGridMemberBuildingRelationMapper eventGridMemberBuildingRelationMapper; // @Resource // private GridService gridService; @@ -1903,11 +1910,6 @@ menuRoleVO.setRoleId(roleId); this.putMenuRole(menuRoleVO); //关联市平台网格员 // if(eventGridMemberAddDTO.getLcMemberId() != null){ // // } //参数校验 SysUserDO oldUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType,6) .eq(SysUserDO::getNickName,eventGridMemberAddDTO.getNickName())); @@ -1933,6 +1935,31 @@ sysUserRoleDO.setUserId(sysUserDO.getUserId()); sysUserRoleDO.setRoleId(roleId); sysUserRoleDAO.insert(sysUserRoleDO); //关联市平台网格员 if(eventGridMemberAddDTO.getLcMemberId() != null){ this.userDao.addLcMember(eventGridMemberAddDTO.getLcMemberId(),sysUserDO.getUserId(),sysUserDO.getNickName()); } //网格员关联楼栋 if(!eventGridMemberAddDTO.getBuildingIds().isEmpty()){ List<EventGridMemberBuildingRelationDO> buildingRelationList = new ArrayList<>(); eventGridMemberAddDTO.getBuildingIds().forEach(buildingId -> { Map<String,Long> resultMap = this.userDao.getBuilding(buildingId); if(resultMap != null){ EventGridMemberBuildingRelationDO buildingRelationDO = new EventGridMemberBuildingRelationDO(); buildingRelationDO.setBuildingId(buildingId); buildingRelationDO.setGridMemberId(sysUserDO.getUserId()); buildingRelationDO.setVillageId(Long.parseLong(resultMap.get("village_id").toString())); buildingRelationDO.setCommunityId(Long.parseLong(resultMap.get("act_id").toString())); buildingRelationDO.setCreateAt(new Date()); buildingRelationList.add(buildingRelationDO); } }); if(!buildingRelationList.isEmpty()){ buildingRelationService.saveBatch(buildingRelationList); } } } catch (Exception e) { e.printStackTrace(); log.error("新增后台用户报错【{}】", e.getMessage()); @@ -1956,7 +1983,26 @@ */ @Override public R getGridMemberList(PageEventGridMemberRelationDTO memberRelationDTO){ return R.ok(userDao.getGridMemberList(new Page(memberRelationDTO.getPageNum(),memberRelationDTO.getPageSize()),memberRelationDTO)); IPage<GridMemberVO> gridMemberPage = userDao.getGridMemberList(new Page(memberRelationDTO.getPageNum() ,memberRelationDTO.getPageSize()),memberRelationDTO); if(!gridMemberPage.getRecords().isEmpty()){ gridMemberPage.getRecords().forEach(gridMember -> { //查询网格员关联市平台网格员id gridMember.setLcMemberId(this.userDao.getLcMemberId(gridMember.getUserId())); //查询网格员关联楼栋信息 List<GridMemberBuildingVO> memberBuildingList = eventGridMemberBuildingRelationMapper.getGridMemberBuildingRelation(gridMember.getUserId()); if(!memberBuildingList.isEmpty()){ memberBuildingList.forEach(memberBuilding -> { if(!memberBuilding.getBuildingName().contains("栋")){ memberBuilding.setBuildingName(memberBuilding.getBuildingName() + "栋"); } }); gridMember.setMemberBuildingList(memberBuildingList); } }); } return R.ok(gridMemberPage); } /** @@ -1988,6 +2034,36 @@ int insert = 0; try { insert = userDao.updateById(sysUserDO); //关联市平台网格员 if(gridMemberDTO.getLcMemberId() != null){ this.userDao.addLcMember(gridMemberDTO.getLcMemberId(),sysUserDO.getUserId(),sysUserDO.getNickName()); }else{ this.userDao.delLcMember(sysUserDO.getUserId()); } //清除原网格员与楼栋关联关系 this.userDao.delGridMemberRelation(sysUserDO.getUserId()); //新增网格员关联楼栋 if(!gridMemberDTO.getBuildingIds().isEmpty()){ List<EventGridMemberBuildingRelationDO> buildingRelationList = new ArrayList<>(); gridMemberDTO.getBuildingIds().forEach(buildingId -> { Map<String,Long> resultMap = this.userDao.getBuilding(buildingId); if(resultMap != null){ EventGridMemberBuildingRelationDO buildingRelationDO = new EventGridMemberBuildingRelationDO(); buildingRelationDO.setBuildingId(buildingId); buildingRelationDO.setGridMemberId(sysUserDO.getUserId()); buildingRelationDO.setVillageId(Long.parseLong(resultMap.get("village_id").toString())); buildingRelationDO.setCommunityId(Long.parseLong(resultMap.get("act_id").toString())); buildingRelationDO.setCreateAt(new Date()); buildingRelationList.add(buildingRelationDO); } }); if(!buildingRelationList.isEmpty()){ buildingRelationService.saveBatch(buildingRelationList); } } } catch (Exception e) { e.printStackTrace(); log.error("修改网格员用户报错【{}】", e.getMessage()); @@ -2044,6 +2120,7 @@ return R.ok(); } @Override public R noTips(Long userId){ SysUserDO userDO = this.userDao.selectById(userId); if(userDO != null){ springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/resources/mapper/EventGridMemberBuildingRelationDOMapper.xml
@@ -17,4 +17,21 @@ id, grid_member_id, community_id, village_id, building_id, create_at </sql> <select id="getGridMemberBuildingRelation" resultType="com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO"> SELECT egmbr.community_id, ca.`name` as communityName, egmbr.village_id, cmv.`name` as villageName, egmbr.building_id, cmb.`name` as buildingName FROM event_grid_member_building_relation as egmbr left join com_act as ca on ca.community_id = egmbr.community_id left join com_mng_village as cmv on cmv.village_id = egmbr.village_id left join com_mng_building as cmb on cmb.id = egmbr.building_id WHERE egmbr.grid_member_id = #{gridMemberId} </select> </mapper>