From b26de01b922f2185feb62a69f20540b8693fb49b Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 08 Nov 2023 17:18:46 +0800
Subject: [PATCH] 场所详情任务新增审核和修改,查询修改

---
 src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml             |   10 ++
 src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java |   52 +++++++++++++
 src/main/java/org/springblade/modules/place/controller/PlaceExtController.java    |   22 +++++
 src/main/java/org/springblade/modules/place/service/IPlaceExtService.java         |   12 +++
 src/main/java/org/springblade/modules/place/service/IPlaceService.java            |    5 +
 src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java            |    3 
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java    |   87 ++++++++++++++-------
 src/main/java/org/springblade/modules/place/entity/PlaceExtEntity.java            |   30 +++++++
 src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java                    |    5 +
 9 files changed, 195 insertions(+), 31 deletions(-)

diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceExtController.java b/src/main/java/org/springblade/modules/place/controller/PlaceExtController.java
index b03cd4b..52dab51 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceExtController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceExtController.java
@@ -103,6 +103,28 @@
 	}
 
 	/**
+	 * 场所详情表 自定义更新
+	 * @param placeExt
+	 * @return
+	 */
+	@PostMapping("/updatePlaceExt")
+	@ApiOperation(value = "自定义更新", notes = "传入placeExt")
+	public R updatePlaceExt(@RequestBody PlaceExtEntity placeExt) {
+		return R.status(placeExtService.updatePlaceExt(placeExt));
+	}
+
+	/**
+	 * 场所详情表 审核
+	 * @param placeExt
+	 * @return
+	 */
+	@PostMapping("/checkPlaceExt")
+	@ApiOperation(value = "审核", notes = "传入placeExt")
+	public R checkPlaceExt(@RequestBody PlaceExtEntity placeExt) {
+		return R.status(placeExtService.checkPlaceExt(placeExt));
+	}
+
+	/**
 	 * 场所详情表 新增或修改
 	 */
 	@PostMapping("/submit")
diff --git a/src/main/java/org/springblade/modules/place/entity/PlaceExtEntity.java b/src/main/java/org/springblade/modules/place/entity/PlaceExtEntity.java
index 64bccd8..c785e08 100644
--- a/src/main/java/org/springblade/modules/place/entity/PlaceExtEntity.java
+++ b/src/main/java/org/springblade/modules/place/entity/PlaceExtEntity.java
@@ -54,6 +54,12 @@
 	private Long id;
 
 	/**
+	 * 任务id
+	 */
+	@ApiModelProperty(value = "任务id")
+	private Long taskId;
+
+	/**
 	 * 场所ID
 	 */
 	@ApiModelProperty(value = "场所ID")
@@ -85,6 +91,30 @@
 	private String planImageUrls;
 
 	/**
+	 * 确认用户ID
+	 */
+	@ApiModelProperty(value = "确认用户ID")
+	@JsonSerialize(using = ToStringSerializer.class)
+	private Long confirmUserId;
+	/**
+	 * 确认时间
+	 */
+	@ApiModelProperty(value = "确认时间")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date confirmTime;
+	/**
+	 * 确认标记 1:待审核  2:审核通过  3:审核不通过
+	 */
+	@ApiModelProperty(value = "确认标记 1:待审核  2:审核通过  3:审核不通过")
+	private Integer confirmFlag;
+	/**
+	 * 确认意见
+	 */
+	@ApiModelProperty(value = "确认意见")
+	private String confirmNotion;
+
+	/**
 	 * 创建人
 	 */
 	@JsonSerialize(using = ToStringSerializer.class)
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java
index 1944137..d823f2f 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java
@@ -16,6 +16,7 @@
  */
 package org.springblade.modules.place.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.modules.place.entity.PlaceExtEntity;
 import org.springblade.modules.place.vo.PlaceExtVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -37,7 +38,7 @@
 	 * @param placeExt
 	 * @return
 	 */
-	List<PlaceExtVO> selectPlaceExtPage(IPage page, PlaceExtVO placeExt);
+	List<PlaceExtVO> selectPlaceExtPage(IPage page,@Param("placeExt") PlaceExtVO placeExt);
 
 
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
index 2dd3b8c..3b8ae9c 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -4,7 +4,15 @@
 
     <!--自定义分页查询-->
     <select id="selectPlaceExtPage" resultType="org.springblade.modules.place.vo.PlaceExtVO">
-        select * from jczz_place_ext where is_deleted = 0
+        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
+        <if test="placeExt.placeName != null and placeExt.placeName != ''">
+            and jp.place_name like concat('%',#{placeExt.placeName},'%')
+        </if>
+        <if test="placeExt.confirmFlag != null">
+            and jpe.confirm_flag = #{placeExt.confirmFlag}
+        </if>
     </select>
 
 
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceExtService.java b/src/main/java/org/springblade/modules/place/service/IPlaceExtService.java
index 025da44..b70f8db 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceExtService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceExtService.java
@@ -39,5 +39,17 @@
 	 */
 	IPage<PlaceExtVO> selectPlaceExtPage(IPage<PlaceExtVO> page, PlaceExtVO placeExt);
 
+	/**
+	 * 场所详情表 自定义更新
+	 * @param placeExt
+	 * @return
+	 */
+	boolean updatePlaceExt(PlaceExtEntity placeExt);
 
+	/**
+	 * 场所详情表 审核
+	 * @param placeExt
+	 * @return
+	 */
+	boolean checkPlaceExt(PlaceExtEntity placeExt);
 }
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceService.java b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
index 31d6906..26af10a 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -49,5 +49,10 @@
 	 */
     List<TreeNode> selectPlaceNodeList(Long userId);
 
+	/**
+	 * 场所信息自定义新增
+	 * @param placeVO
+	 * @return
+	 */
 	Boolean addVO(PlaceVO placeVO);
 }
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
index 8dd1db9..6c37077 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
@@ -17,13 +17,20 @@
 package org.springblade.modules.place.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.modules.place.entity.PlaceExtEntity;
 import org.springblade.modules.place.vo.PlaceExtVO;
 import org.springblade.modules.place.mapper.PlaceExtMapper;
 import org.springblade.modules.place.service.IPlaceExtService;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.task.entity.TaskEntity;
+import org.springblade.modules.task.service.ITaskService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
 
 /**
  * 场所详情表 服务实现类
@@ -34,10 +41,55 @@
 @Service
 public class PlaceExtServiceImpl extends ServiceImpl<PlaceExtMapper, PlaceExtEntity> implements IPlaceExtService {
 
+	@Autowired
+	private ITaskService taskService;
+
+	/**
+	 * 自定义查询
+	 * @param page
+	 * @param placeExt
+	 * @return
+	 */
 	@Override
 	public IPage<PlaceExtVO> selectPlaceExtPage(IPage<PlaceExtVO> page, PlaceExtVO placeExt) {
 		return page.setRecords(baseMapper.selectPlaceExtPage(page, placeExt));
 	}
 
+	/**
+	 * 场所详情表 自定义更新
+	 * @param placeExt
+	 * @return
+	 */
+	@Override
+	public boolean updatePlaceExt(PlaceExtEntity placeExt) {
+		// 设置参数
+		placeExt.setUpdateTime(new Date());
+		placeExt.setUpdateUser(AuthUtil.getUserId());
+		// 更新
+		return updateById(placeExt);
+	}
 
+	/**
+	 * 场所详情表 审核
+	 * @param placeExt
+	 * @return
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public boolean checkPlaceExt(PlaceExtEntity placeExt) {
+		boolean flag = false;
+		// 设置更新时间
+		placeExt.setConfirmTime(new Date());
+		// 更新数据
+		boolean b = updateById(placeExt);
+		if (b) {
+			// 更新任务表状态
+			TaskEntity taskEntity = new TaskEntity();
+			taskEntity.setId(placeExt.getTaskId());
+			taskEntity.setStatus(placeExt.getConfirmFlag());
+			flag = taskService.updateById(taskEntity);
+		}
+		// 返回
+		return flag;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index ef7a4a3..2e2f100 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -64,53 +64,82 @@
 		return baseMapper.selectPlaceNodeList(userId.toString());
 	}
 
+	/**
+	 * 场所信息自定义新增
+	 * @param placeVO
+	 * @return
+	 */
 	@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.setPrincipalUserId(user.getId());
-		}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.setPrincipalUserId(newUser.getId());
-		}
-
+		// 绑定用户信息
+		bindUserHandle(placeVO);
+		// 新增场所信息
 		boolean save = save(placeVO);
+		// 场所标签信息绑定
+		placeLabelBind(placeVO);
+		// 返回结果
+		return save;
+	}
 
-
+	/**
+	 * 场所标签信息绑定入库
+	 * @param placeVO
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	public void placeLabelBind(PlaceVO 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);
 		});
+	}
 
+	/**
+	 * 场所负责人和用户绑定
+	 * @param placeVO
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	public void bindUserHandle(PlaceVO placeVO) {
+		if (null!=placeVO.getPhone() && !placeVO.getPhone().equals("")) {
+			//根据手机号查询库里的数据
+			User userParams = new User();
+			userParams.setPhone(placeVO.getPhone());
+			User user = userService.getOne(Condition.getQueryWrapper(userParams));
 
-		return save;
+			if (user != null) {
+				//如果用户存在,则该用户id绑定场所
+				placeVO.setPrincipalUserId(user.getId());
+			} else {
+				//如果用户不存在,则新增一个用户
+				User newUser = new User();
+				newUser.setAccount(placeVO.getPhone());
+				newUser.setPhone(placeVO.getPhone());
+				newUser.setName(placeVO.getUsername());
+				newUser.setRealName(placeVO.getUsername());
+				// 目前暂定居民角色,默认密码为 123456
+				newUser.setRoleId("1717429059648606209");
+				newUser.setPassword("123456");
+				// 用户新增
+				boolean submit = userService.submit(newUser);
+				//绑定id
+				placeVO.setPrincipalUserId(newUser.getId());
+				//给人员打上场所负责人的标签
+
+				// 用户插入后同时给场所详情表插入一条该场所信息
+				if (submit){
+
+				}
+			}
+		}
 	}
 
 
diff --git a/src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java b/src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java
index 6311eca..055a1f5 100644
--- a/src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java
+++ b/src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java
@@ -32,4 +32,9 @@
 public class PlaceExtVO extends PlaceExtEntity {
 	private static final long serialVersionUID = 1L;
 
+	/**
+	 * 场所名称
+	 */
+	private String placeName;
+
 }

--
Gitblit v1.9.3