huanghongfa
2021-07-05 00840f8bc8d724e910815f1be9a9515fe7450074
修改添加网格员关联楼栋以及关联浪潮网格员
5个文件已修改
1个文件已添加
170 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/GridMemberVO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/admin/GridMemberBuildingVO.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/EventGridMemberBuildingRelationMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/resources/mapper/EventGridMemberBuildingRelationDOMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>