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/resources/mapping/HiddenDangerMapper.xml | 10 +++
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/impl/IntegralDetailServiceImpl.java | 92 ++++++++++++++++--------------
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java | 65 +++++++++++++--------
hd/pipe/secure/src/main/resources/mapping/IntegralDetailMapper.xml | 1
4 files changed, 99 insertions(+), 69 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 82cffe1..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
@@ -102,10 +102,20 @@
}
PageHelper.startPage(pageNum,pageSize);
List<HiddenDangerEntity> hiddenDangerEntities = new ArrayList<>();
- if(type == 1){
+ if(type == 1){//审核列表
+ if (sysUserInfo.getUserType() == 2){
+ map.put("createUser",sysUserInfo.getUserId());
+ }
//小程序 待审核排前面 待审核按时间正序 审核成功的倒叙
hiddenDangerEntities = hiddenDangerMapper.selectAppList(map);
- }else {
+ }else if(type == 2){//隐患举报详情列表
+ if (sysUserInfo.getUserType() == 2){
+ map.put("createUser",sysUserInfo.getUserId());
+ }
+ //小程序 待审核排前面 待审核按时间正序 审核成功的倒叙
+ hiddenDangerEntities = hiddenDangerMapper.selectPageList(map);
+ }
+ else {
//web 按时间倒序
hiddenDangerEntities = hiddenDangerMapper.selectPageList(map);
}
@@ -160,12 +170,10 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public BasicResult examine(HiddenDangerEntity hiddenDangerEntity) {
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
-
String platUserId = regionInspectionRecordMapper.selectPlatUserId(hiddenDangerEntity.getCreateUser());
- Map platUser = regionInspectionRecordMapper.getPlatUser(platUserId);
- Integer user_type = (int)platUser.get("user_type");
Map account = new HashMap();
account.put("userId",platUserId);
@@ -178,27 +186,36 @@
totalIntegral = queryAccount.getTotalIntegral();//当前余额
}
hiddenDangerEntity.setAuditStatus(1);//1审核通过
- hiddenDangerMapper.update(hiddenDangerEntity);
- IntegralAccountEntity integralAccountEntity = IntegralAccountEntity
- .builder()
- .userId(platUserId)
- .accumulateIntegral(accumulateIntegral+hiddenDangerEntity.getIntegral())
- .totalIntegral(totalIntegral+hiddenDangerEntity.getIntegral())
- .build();
+ 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(user_type)
- .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);
+ integralDetailMapper.insertAndUpdateAccount(integralAccountEntity);
+ integralDetailMapper.insertDetailAndUpdate(integralDetailEntity);
+ }
return BasicResult.success();
}
}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/impl/IntegralDetailServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/impl/IntegralDetailServiceImpl.java
index b4df2b5..fdb0edc 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/impl/IntegralDetailServiceImpl.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/impl/IntegralDetailServiceImpl.java
@@ -33,6 +33,7 @@
@Autowired
private IntegralDetailMapper integralDetailMapper;
+ private static final Object Lock= new Object();
/**
* 积分超市新增和修改
* @param integralDetailEntity
@@ -45,42 +46,44 @@
String sysUserId = sysUserInfo.getUserId();
String companyId = sysUserInfo.getCompanyId();
//扣积分逻辑
- IntegralAccountEntity integralAccountEntity = IntegralAccountEntity
- .builder()
- .userId(integralDetailEntity.getUserId())
- .updateUser(sysUserId)
- .updateTime(new Date())
- .id(UUIDUtils.create())
- .build();
- Map map = new HashMap();
- map.put("userId",integralDetailEntity.getUserId());
- //查询账户
- IntegralAccountEntity queryAccount = integralDetailMapper.selectByOne(map);
- if(queryAccount == null || queryAccount.getTotalIntegral()<integralDetailEntity.getIntegralWater()){//无账户
- return BasicResult.faild("500","积分不足,无法扣除积分",null);
- }
- //有账户
- Double totalConsumption = queryAccount.getTotalConsumption();//总消耗
- Double accumulateIntegral = queryAccount.getAccumulateIntegral();//累计积分
- Double totalIntegral = queryAccount.getTotalIntegral();//当前余额
+ synchronized (Lock){
+ IntegralAccountEntity integralAccountEntity = IntegralAccountEntity
+ .builder()
+ .userId(integralDetailEntity.getUserId())
+ .updateUser(sysUserId)
+ .updateTime(new Date())
+ .id(UUIDUtils.create())
+ .build();
+ Map map = new HashMap();
+ map.put("userId",integralDetailEntity.getUserId());
+ //查询账户
+ IntegralAccountEntity queryAccount = integralDetailMapper.selectByOne(map);
+ if(queryAccount == null || queryAccount.getTotalIntegral()<integralDetailEntity.getIntegralWater()){//无账户
+ return BasicResult.faild("500","积分不足,无法扣除积分",null);
+ }
+ //有账户
+ Double totalConsumption = queryAccount.getTotalConsumption();//总消耗
+ Double accumulateIntegral = queryAccount.getAccumulateIntegral();//累计积分
+ Double totalIntegral = queryAccount.getTotalIntegral();//当前余额
- integralAccountEntity.setTotalIntegral(totalIntegral-integralDetailEntity.getIntegralWater());
- integralAccountEntity.setAccumulateIntegral(accumulateIntegral);
- integralAccountEntity.setTotalConsumption(totalConsumption+integralDetailEntity.getIntegralWater());
- //修改账户
- integralDetailMapper.insertAndUpdateAccount(integralAccountEntity);
- if(id == null){
- integralDetailEntity.setCompanyId(companyId);
- integralDetailEntity.setId(UUIDUtils.create());
- integralDetailEntity.setCreateTime(new Date());
- integralDetailEntity.setCreateUser(sysUserId);
- }
- integralDetailEntity.setBalanc(totalIntegral-integralDetailEntity.getIntegralWater());//拿到当前余额
+ integralAccountEntity.setTotalIntegral(totalIntegral-integralDetailEntity.getIntegralWater());
+ integralAccountEntity.setAccumulateIntegral(accumulateIntegral);
+ integralAccountEntity.setTotalConsumption(totalConsumption+integralDetailEntity.getIntegralWater());
+ //修改账户
+ integralDetailMapper.insertAndUpdateAccount(integralAccountEntity);
+ if(id == null){
+ integralDetailEntity.setCompanyId(companyId);
+ integralDetailEntity.setId(UUIDUtils.create());
+ integralDetailEntity.setCreateTime(new Date());
+ integralDetailEntity.setCreateUser(sysUserId);
+ }
+ integralDetailEntity.setBalanc(totalIntegral-integralDetailEntity.getIntegralWater());//拿到当前余额
- integralDetailEntity.setType(2);
- integralDetailEntity.setIntegralSource("积分超市");
- //添加或修改明细
- integralDetailMapper.insertDetailAndUpdate(integralDetailEntity);
+ integralDetailEntity.setType(2);
+ integralDetailEntity.setIntegralSource("积分超市");
+ //添加或修改明细
+ integralDetailMapper.insertDetailAndUpdate(integralDetailEntity);
+ }
return BasicResult.success();
}
@@ -121,16 +124,17 @@
Double totalConsumption = queryAccount.getTotalConsumption();//总消耗
Double accumulateIntegral = queryAccount.getAccumulateIntegral();//累计积分
Double totalIntegral = queryAccount.getTotalIntegral();//当前余额
-
- IntegralAccountEntity integralAccountEntity = IntegralAccountEntity
- .builder()
- .userId(integralDetailEntity.getUserId())
- .totalConsumption(totalConsumption - integralWater)
- .accumulateIntegral(accumulateIntegral + integralWater)
- .totalIntegral(totalIntegral + integralWater)
- .build();
- integralDetailMapper.insertAndUpdateAccount(integralAccountEntity);
- integralDetailMapper.delete(id);
+ synchronized (Lock){
+ IntegralAccountEntity integralAccountEntity = IntegralAccountEntity
+ .builder()
+ .userId(integralDetailEntity.getUserId())
+ .totalConsumption(totalConsumption - integralWater)
+ .accumulateIntegral(accumulateIntegral + integralWater)
+ .totalIntegral(totalIntegral + integralWater)
+ .build();
+ integralDetailMapper.insertAndUpdateAccount(integralAccountEntity);
+ integralDetailMapper.delete(id);
+ }
return BasicResult.success();
}
diff --git a/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml b/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml
index 39bd177..aec436b 100644
--- a/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml
+++ b/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml
@@ -149,7 +149,9 @@
t.companyId,
t.level,
t.integral,
- su.real_name reporter
+ su.real_name reporter,
+ t.integral,
+ t.level
from t_hidden_danger t
LEFT JOIN sys_users su ON su.user_id = t.createUser
LEFT JOIN sys_users su1 ON su1.user_id = t.updateUser
@@ -184,6 +186,9 @@
<if test="startTime!= null and endTime!=null and startTime != '' and endTime !=''">
and t.createTime BETWEEN #{startTime} and #{endTime}
</if>
+ <if test="createUser!= null and createUser != ''">
+ and t.createUser =#{createUser}
+ </if>
order by t.createTime desc
</select>
@@ -214,6 +219,9 @@
<if test="startTime!= null and endTime!=null and startTime != '' and endTime !=''">
and t.createTime BETWEEN #{startTime} and #{endTime}
</if>
+ <if test="createUser!= null and createUser != ''">
+ and t.createUser =#{createUser}
+ </if>
ORDER BY
t.auditStatus,
case when t.auditStatus = 0 then t.createTime END,
diff --git a/hd/pipe/secure/src/main/resources/mapping/IntegralDetailMapper.xml b/hd/pipe/secure/src/main/resources/mapping/IntegralDetailMapper.xml
index 268dc7f..fb51580 100644
--- a/hd/pipe/secure/src/main/resources/mapping/IntegralDetailMapper.xml
+++ b/hd/pipe/secure/src/main/resources/mapping/IntegralDetailMapper.xml
@@ -275,6 +275,7 @@
<if test="startTime != null and startTime != '' and endTime !=null and endTime !=''">
AND t.createTime BETWEEN #{startTime} and #{endTime}
</if>
+ order by t.createTime desc
</select>
<select id="selectByOne" resultType="com.thhy.secure.modules.biz.integralAccount.entity.IntegralAccountEntity">
SELECT
--
Gitblit v1.9.3