From 858d95b05d61f992d4e510a5b44d3f2a9704d29a Mon Sep 17 00:00:00 2001
From: 邱宇豪 <qyh123230312>
Date: 星期二, 28 十一月 2023 09:21:38 +0800
Subject: [PATCH] 20231128_qiuyh_调整积分相关隐患举报

---
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java |   85 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 79 insertions(+), 6 deletions(-)

diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java
index cfbd110..c6fbf3b 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java
@@ -10,14 +10,17 @@
 import com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity;
 import com.thhy.secure.modules.biz.hiddenDanger.mapper.HiddenDangerMapper;
 import com.thhy.secure.modules.biz.hiddenDanger.service.HiddenDangerService;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralAccountEntity;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailEntity;
+import com.thhy.secure.modules.biz.integralAccount.mapper.IntegralDetailMapper;
+import com.thhy.secure.modules.biz.regionInspection.mapper.RegionInspectionRecordMapper;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @Author QiuYuHao
@@ -30,6 +33,11 @@
 	@Autowired
 	private HiddenDangerMapper hiddenDangerMapper;
 
+	@Autowired
+	private IntegralDetailMapper integralDetailMapper;
+
+	@Autowired
+	private RegionInspectionRecordMapper regionInspectionRecordMapper;
 	private static final Object Lock = new Object();
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -88,8 +96,29 @@
 		map.put("companyId",sysUserInfo.getCompanyId());
 		int pageNum = (int) map.get("pageNum");
 		int pageSize = (int) map.get("pageSize");
+		int type = 0;
+		if( map.get("type")!= null){
+			type = (int) map.get("type");//type =1 小程序来的
+		}
 		PageHelper.startPage(pageNum,pageSize);
-		List<HiddenDangerEntity> hiddenDangerEntities = hiddenDangerMapper.selectPageList(map);
+		List<HiddenDangerEntity> hiddenDangerEntities = new ArrayList<>();
+		if(type == 1){//审核列表
+			if (sysUserInfo.getUserType() == 2){
+				map.put("createUser",sysUserInfo.getUserId());
+			}
+			//小程序 待审核排前面 待审核按时间正序 审核成功的倒叙
+			hiddenDangerEntities = hiddenDangerMapper.selectAppList(map);
+		}else if(type == 2){//隐患举报详情列表
+			if (sysUserInfo.getUserType() == 2){
+				map.put("createUser",sysUserInfo.getUserId());
+			}
+			//小程序 待审核排前面 待审核按时间正序 审核成功的倒叙
+			hiddenDangerEntities = hiddenDangerMapper.selectPageList(map);
+		}
+		else {
+			//web 按时间倒序
+			hiddenDangerEntities = hiddenDangerMapper.selectPageList(map);
+		}
 		hiddenDangerEntities.forEach(obj ->{
 			String id = obj.getId();
 			obj.setImgEntities(hiddenDangerMapper.selectImgList(id));
@@ -110,7 +139,7 @@
 					obj.setAuditStatusName("未审核");
 					break;
 				case 1:
-					obj.setAuditStatusName("审核通过");
+					obj.setAuditStatusName("已审核");
 					break;
 				case 2:
 					obj.setAuditStatusName("审核失败");
@@ -141,8 +170,52 @@
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public BasicResult examine(HiddenDangerEntity hiddenDangerEntity) {
-		hiddenDangerMapper.update(hiddenDangerEntity);
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		String platUserId = regionInspectionRecordMapper.selectPlatUserId(hiddenDangerEntity.getCreateUser());
+
+		Map account = new HashMap();
+		account.put("userId",platUserId);
+		//查询账户
+		IntegralAccountEntity queryAccount = integralDetailMapper.selectByOne(account);
+		Double accumulateIntegral = 0.0;
+		Double totalIntegral = 0.0;
+		if (queryAccount != null){
+			 accumulateIntegral = queryAccount.getAccumulateIntegral();//累计积分
+			 totalIntegral = queryAccount.getTotalIntegral();//当前余额
+		}
+		hiddenDangerEntity.setAuditStatus(1);//1审核通过
+		hiddenDangerEntity.setDangerLocation(null);
+		synchronized (Lock){
+			hiddenDangerMapper.update(hiddenDangerEntity);
+			IntegralAccountEntity integralAccountEntity = IntegralAccountEntity
+					.builder()
+					.userId(platUserId)
+					.id(UUIDUtils.create())
+					.accumulateIntegral(accumulateIntegral+hiddenDangerEntity.getIntegral())
+					.totalIntegral(totalIntegral+hiddenDangerEntity.getIntegral())
+					.userType(sysUserInfo.getUserType())
+					.build();
+
+			IntegralDetailEntity integralDetailEntity = IntegralDetailEntity
+					.builder()
+					.id(UUIDUtils.create())
+					.balanc(totalIntegral+hiddenDangerEntity.getIntegral())
+					.integralSource("隐患审核")
+					.integralWater(hiddenDangerEntity.getIntegral())
+					.createTime(new Date())
+					.createUser(sysUserInfo.getUserId())
+					.userType(sysUserInfo.getUserType())
+					.userId(platUserId)
+					.type(1)
+					.remark("隐患审核")
+					.companyId(sysUserInfo.getCompanyId())
+					.build();
+
+			integralDetailMapper.insertAndUpdateAccount(integralAccountEntity);
+			integralDetailMapper.insertDetailAndUpdate(integralDetailEntity);
+		}
 		return BasicResult.success();
 	}
 }

--
Gitblit v1.9.3