guoshilong
2023-11-03 485256bd5190ab58708114965550ffdd0c2d4cee
场所上报
4 files modified
5 files added
146 ■■■■■ changed files
src/main/java/org/springblade/modules/place/controller/PlaceController.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/entity/PlacePoiLabel.java 33 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlacePoiLabelMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlacePoiLabelMapper.xml 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/IPlacePoiLabelService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/IPlaceService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/impl/PlacePoiLabelServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java 65 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/vo/PlaceVO.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -92,6 +92,11 @@
        return R.status(placeService.save(place));
    }
    @PostMapping("/add")
    public R add(@RequestBody PlaceVO placeVO){
        return R.status(placeService.addVO(placeVO));
    }
    /**
     * 场所表 修改
     */
src/main/java/org/springblade/modules/place/entity/PlacePoiLabel.java
New file
@@ -0,0 +1,33 @@
package org.springblade.modules.place.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
 * 场所标签中间表
 */
@Data
@TableName("jczz_place_poi_label")
public class PlacePoiLabel implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty("主键id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
    private Long placeId;
    private Integer poiCode;
}
src/main/java/org/springblade/modules/place/mapper/PlacePoiLabelMapper.java
New file
@@ -0,0 +1,7 @@
package org.springblade.modules.place.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.modules.place.entity.PlacePoiLabel;
public interface PlacePoiLabelMapper extends BaseMapper<PlacePoiLabel> {
}
src/main/java/org/springblade/modules/place/mapper/PlacePoiLabelMapper.xml
New file
@@ -0,0 +1,7 @@
<?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="org.springblade.modules.place.mapper.PlacePoiLabelMapper">
</mapper>
src/main/java/org/springblade/modules/place/service/IPlacePoiLabelService.java
New file
@@ -0,0 +1,8 @@
package org.springblade.modules.place.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.place.entity.PlacePoiLabel;
public interface IPlacePoiLabelService extends IService<PlacePoiLabel> {
}
src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -48,4 +48,6 @@
     * @return
     */
    List<TreeNode> selectPlaceNodeList(Long userId);
    Boolean addVO(PlaceVO placeVO);
}
src/main/java/org/springblade/modules/place/service/impl/PlacePoiLabelServiceImpl.java
New file
@@ -0,0 +1,11 @@
package org.springblade.modules.place.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.place.entity.PlacePoiLabel;
import org.springblade.modules.place.mapper.PlacePoiLabelMapper;
import org.springblade.modules.place.service.IPlacePoiLabelService;
import org.springframework.stereotype.Service;
@Service
public class PlacePoiLabelServiceImpl extends ServiceImpl<PlacePoiLabelMapper, PlacePoiLabel> implements IPlacePoiLabelService {
}
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -17,15 +17,24 @@
package org.springblade.modules.place.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springblade.common.node.TreeNode;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.place.entity.PlaceEntity;
import org.springblade.modules.place.entity.PlacePoiLabel;
import org.springblade.modules.place.service.IPlacePoiLabelService;
import org.springblade.modules.place.vo.PlaceVO;
import org.springblade.modules.place.mapper.PlaceMapper;
import org.springblade.modules.place.service.IPlaceService;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
@@ -35,7 +44,10 @@
 * @since 2023-10-28
 */
@Service
@AllArgsConstructor
public class PlaceServiceImpl extends ServiceImpl<PlaceMapper, PlaceEntity> implements IPlaceService {
    private final IUserService userService;
    private final IPlacePoiLabelService placePoiLabelService;
    @Override
    public IPage<PlaceVO> selectPlacePage(IPage<PlaceVO> page, PlaceVO place) {
@@ -51,4 +63,55 @@
    public List<TreeNode> selectPlaceNodeList(Long userId) {
        return baseMapper.selectPlaceNodeList(userId.toString());
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Boolean addVO(PlaceVO placeVO) {
        placeVO.setCreateUser(AuthUtil.getUserId());
        placeVO.setCreateTime(new Date());
        placeVO.setUpdateUser(AuthUtil.getUserId());
        placeVO.setUpdateTime(new Date());
        //根据手机号查询库里的数据
        User userParams = new User();
        userParams.setPhone(placeVO.getPhone());
        User user = userService.getOne(Condition.getQueryWrapper(userParams));
        if (user != null){
            //如果用户存在,则该用户id绑定场所
            placeVO.setPrincipal(user.getId().toString());
        }else{
            //如果用户不存在,则新增一个用户
            User newUser = new User();
            newUser.setAccount(placeVO.getPhone());
            newUser.setPhone(placeVO.getPhone());
            newUser.setName(placeVO.getUsername());
            newUser.setRealName(placeVO.getUsername());
            newUser.setRoleId("1717429193350434818");
            newUser.setPassword("123456");
            userService.submit(newUser);
            //绑定id
            placeVO.setPrincipal(newUser.getId().toString());
        }
        boolean save = save(placeVO);
        List<String> labelList = Arrays.asList(placeVO.getLabel().split(","));
        labelList.forEach(labelId->{
            PlacePoiLabel placePoiLabel = new PlacePoiLabel();
            placePoiLabel.setPlaceId(placeVO.getId());
            placePoiLabel.setPoiCode(Integer.parseInt(labelId));
            placePoiLabelService.save(placePoiLabel);
        });
        return save;
    }
}
src/main/java/org/springblade/modules/place/vo/PlaceVO.java
@@ -32,4 +32,12 @@
public class PlaceVO extends PlaceEntity {
    private static final long serialVersionUID = 1L;
    private String label;
    private String username;
    private String phone;
}