zhongrj
2023-11-10 c5d71879fd0e880ca1886a378126a69e878f2edf
场所数据处理和查询调整
11 files modified
221 ■■■■■ changed files
src/main/java/org/springblade/modules/place/controller/PlaceController.java 19 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/controller/PlaceExtController.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java 7 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml 16 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml 23 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/IPlaceExtService.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/IPlaceService.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java 23 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java 64 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -127,5 +127,24 @@
        return R.status(placeService.removeByIds(Func.toLongList(ids)));
    }
    /**
     * 历史场所挂接处理-临时
     * @param place
     * @return
     */
    @GetMapping("/historyPlaceHandle")
    public R historyPlaceHandle(PlaceVO place) {
        return R.data(placeService.historyPlaceHandle(place));
    }
    /**
     * 历史场所标签挂接处理-场所标签-临时
     * @param place
     * @return
     */
    @GetMapping("/historyPlaceLabelHandle")
    public R historyPlaceLabelHandle(PlaceVO place) {
        return R.data(placeService.historyPlaceLabelHandle(place));
    }
}
src/main/java/org/springblade/modules/place/controller/PlaceExtController.java
@@ -60,6 +60,19 @@
        PlaceExtEntity detail = placeExtService.getOne(Condition.getQueryWrapper(placeExt));
        return R.data(PlaceExtWrapper.build().entityVO(detail));
    }
    /**
     * 场所详情表 自定义详情
     * @param placeExt
     * @return
     */
    @GetMapping("/getDetail")
    @ApiOperation(value = "自定义详情", notes = "传入placeExt")
    public R<PlaceExtVO> getDetail(PlaceExtVO placeExt) {
        return R.data(placeExtService.getDetail(placeExt));
    }
    /**
     * 场所详情表 分页
     */
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java
@@ -40,5 +40,10 @@
     */
    List<PlaceExtVO> selectPlaceExtPage(IPage page,@Param("placeExt") PlaceExtVO placeExt);
    /**
     * 场所详情表 自定义详情
     * @param placeExt
     * @return
     */
    PlaceExtVO getDetail(@Param("placeExt") PlaceExtVO placeExt);
}
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -2,6 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.place.mapper.PlaceExtMapper">
    <resultMap id="detailMap" type="org.springblade.modules.place.vo.PlaceExtVO" autoMapping="true">
        <id property="id" column="id"/>
        <collection property="placePractitioner" javaType="java.util.List"
                    ofType="org.springblade.modules.place.vo.PlacePractitionerVO" autoMapping="true">
            <id property="id" column="cid"/>
        </collection>
    </resultMap>
    <!--自定义分页查询-->
    <select id="selectPlaceExtPage" resultType="org.springblade.modules.place.vo.PlaceExtVO">
        select jpe.*,jp.place_name as placeName from jczz_place_ext jpe
@@ -18,5 +26,13 @@
        </if>
    </select>
    <!--自定义详情查询-->
    <select id="getDetail" resultType="org.springblade.modules.place.vo.PlaceExtVO">
        select jpe.*,jp.place_name as placeName from jczz_place_ext jpe
        left join jczz_place jp on jpe.place_id = jp.id and jp.is_deleted = 0
        where jpe.is_deleted = 0
        and jpe.place_id = #{placeExt.placeId}
    </select>
</mapper>
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
@@ -47,4 +47,29 @@
     * @return
     */
    List<TreeNode> selectPlaceNodeList(@Param("userId") String userId);
    /**
     * 插入用户标签
     * @param userId
     * @param labelId
     */
    int saveUserLabel(@Param("userId") Long userId,@Param("labelId")  int labelId);
    /**
     * 查询所有的场所(手机号不为空)
     * @return
     */
    List<PlaceVO> getPlaceNotNullPhone();
    /**
     * 查询所有的场所
     * @return
     */
    List<PlaceVO> getAllHistoryPlace();
    /**
     * 更新场所信息
     * @param place
     */
    int updatePlaceEntity(@Param("place") PlaceVO place);
}
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -37,4 +37,27 @@
        and principal_user_id = #{userId}
    </select>
    <!--插入用户标签-->
    <insert id="saveUserLabel">
        insert into jczz_user_label(user_id,label_id,create_time,update_time)
        values(#{userId},#{labelId},now(),now())
    </insert>
    <!--查询所有的场所(手机号不为空)-->
    <select id="getPlaceNotNullPhone" resultType="org.springblade.modules.place.vo.PlaceVO">
        select link_person as username,link_tel as phone,std_id as houseCode from wgccp_place
        WHERE link_person !='' and link_tel!=''
    </select>
    <!--查询所有的场所-->
    <select id="getAllHistoryPlace" resultType="org.springblade.modules.place.vo.PlaceVO">
        select place_id as id,third_level_id as label,std_id as houseCode from wgccp_place
    </select>
    <!--更新场所信息-->
    <update id="updatePlaceEntity">
        update jczz_place set principal_user_id = #{place.principalUserId}
        WHERE house_code = #{place.houseCode}
    </update>
</mapper>
src/main/java/org/springblade/modules/place/service/IPlaceExtService.java
@@ -59,4 +59,11 @@
     * @return
     */
    boolean savePlaceExt(PlaceExtEntity placeExt);
    /**
     * 场所详情表 自定义详情
     * @param placeExt
     * @return
     */
    PlaceExtVO getDetail(PlaceExtVO placeExt);
}
src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -55,4 +55,19 @@
     * @return
     */
    Boolean addVO(PlaceVO placeVO);
    /**
     * 历史场所挂接处理-临时
     * @param place
     * @return
     */
    Object historyPlaceHandle(PlaceVO place);
    /**
     * 历史场所标签挂接处理-临时
     * @param place
     * @return
     */
    Object historyPlaceLabelHandle(PlaceVO place);
}
src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
@@ -16,10 +16,13 @@
 */
package org.springblade.modules.place.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.place.entity.PlaceEntity;
import org.springblade.modules.place.entity.PlaceExtEntity;
import org.springblade.modules.place.entity.PlacePractitionerEntity;
import org.springblade.modules.place.service.IPlacePractitionerService;
import org.springblade.modules.place.service.IPlaceService;
import org.springblade.modules.place.vo.PlaceExtVO;
import org.springblade.modules.place.mapper.PlaceExtMapper;
@@ -33,6 +36,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
 * 场所详情表 服务实现类
@@ -48,6 +52,9 @@
    @Autowired
    private IPlaceService placeService;
    @Autowired
    private IPlacePractitionerService placePractitionerService;
    /**
     * 自定义查询
@@ -128,4 +135,20 @@
        }
        return false;
    }
    /**
     * 场所详情表 自定义详情
     * @param placeExt
     * @return
     */
    @Override
    public PlaceExtVO getDetail(PlaceExtVO placeExt) {
        PlaceExtVO detail = baseMapper.getDetail(placeExt);
        // 查询从业人员信息
        QueryWrapper<PlacePractitionerEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("place_id",placeExt.getPlaceId());
        detail.setPlacePractitioner(placePractitionerService.list(queryWrapper));
        // 返回
        return detail;
    }
}
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -16,6 +16,7 @@
 */
package org.springblade.modules.place.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springblade.common.node.TreeNode;
@@ -116,7 +117,8 @@
     * @param placeVO
     */
    @Transactional(rollbackFor = Exception.class)
    public void bindUserHandle(PlaceVO placeVO) {
    public User bindUserHandle(PlaceVO placeVO) {
        User newUser = new User();
        if (null!=placeVO.getPhone() && !placeVO.getPhone().equals("")) {
            //根据手机号查询库里的数据
            User userParams = new User();
@@ -126,9 +128,9 @@
            if (user != null) {
                //如果用户存在,则该用户id绑定场所
                placeVO.setPrincipalUserId(user.getId());
                return user;
            } else {
                //如果用户不存在,则新增一个用户
                User newUser = new User();
                newUser.setAccount(placeVO.getPhone());
                newUser.setPhone(placeVO.getPhone());
                newUser.setName(placeVO.getUsername());
@@ -141,17 +143,69 @@
                //绑定id
                placeVO.setPrincipalUserId(newUser.getId());
                //给人员打上场所负责人的标签
                baseMapper.saveUserLabel(newUser.getId(),1002);
                // 用户插入后同时给场所详情表插入一条该场所信息
                if (submit){
                    PlaceExtEntity placeExtEntity = new PlaceExtEntity();
                    placeExtEntity.setPlaceId(placeVO.getId());
                    //新增
                    placeExtService.savePlaceExt(placeExtEntity);
                    // 判断是否已存在,已存在则不新增
                    QueryWrapper<PlaceExtEntity> wrapper = new QueryWrapper<>();
                    wrapper.eq("is_deleted",0)
                        .eq("place_id",placeVO.getId());
                    PlaceExtEntity one = placeExtService.getOne(wrapper);
                    if (null == one) {
                        //新增
                        placeExtService.savePlaceExt(placeExtEntity);
                    }
                }
            }
        }
        return newUser;
    }
    /**
     * 历史场所挂接处理-临时
     * @param place
     * @return
     */
    @Override
    public Object historyPlaceHandle(PlaceVO place) {
        // 查询所有的场所(手机号不为空)
        List<PlaceVO> list = baseMapper.getPlaceNotNullPhone();
        // 遍历
        for (PlaceVO placeVO : list) {
            User user = bindUserHandle(placeVO);
            if (null!=user){
                placeVO.setPrincipalUserId(user.getId());
                //更新场所用户id绑定
                baseMapper.updatePlaceEntity(placeVO);
            }
        }
        return null;
    }
    /**
     * 历史场所标签挂接处理-临时
     * @param place
     * @return
     */
    @Override
    @Transactional
    public Object historyPlaceLabelHandle(PlaceVO place) {
        // 查询所有的场所
        List<PlaceVO> list = baseMapper.getAllHistoryPlace();
        // 遍历
        for (PlaceVO placeVO : list) {
            if (null!=placeVO.getLabel()){
                String[] split = placeVO.getLabel().split(",");
                for (String s : split) {
                    PlacePoiLabel placePoiLabel = new PlacePoiLabel();
                    placePoiLabel.setPlaceId(placeVO.getId());
                    placePoiLabel.setPoiCode(Integer.parseInt(s));
                    placePoiLabelService.save(placePoiLabel);
                }
            }
        }
        return null;
    }
}
src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java
@@ -20,6 +20,10 @@
import org.springblade.core.tool.node.INode;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.modules.place.entity.PlacePractitionerEntity;
import java.util.ArrayList;
import java.util.List;
/**
 * 场所详情表 视图实体类
@@ -42,4 +46,9 @@
     */
    private String houseCode;
    /**
     * 从业人员
     */
    private List<PlacePractitionerEntity> placePractitioner = new ArrayList<>();
}