From 9906987f77abf2f0669a44a877ad86ac730fdfdd Mon Sep 17 00:00:00 2001
From: 张磊磊 <201175954@qq.com>
Date: 星期二, 12 十二月 2023 12:08:01 +0800
Subject: [PATCH] 图片转换
---
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/impl/IntegralDetailServiceImpl.java | 124 +++++++++++++++++++++++++----------------
1 files changed, 76 insertions(+), 48 deletions(-)
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..9e9c823 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
@@ -8,6 +8,7 @@
import com.thhy.general.utils.UUIDUtils;
import com.thhy.general.utils.UserInfoUtils;
import com.thhy.secure.modules.biz.integralAccount.entity.IntegralAccountEntity;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailDto;
import com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailEntity;
import com.thhy.secure.modules.biz.integralAccount.mapper.IntegralDetailMapper;
import com.thhy.secure.modules.biz.integralAccount.service.IntegralDetailService;
@@ -33,6 +34,7 @@
@Autowired
private IntegralDetailMapper integralDetailMapper;
+ private static final Object Lock= new Object();
/**
* 积分超市新增和修改
* @param integralDetailEntity
@@ -45,42 +47,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();
}
@@ -111,7 +115,7 @@
public BasicResult delete(String id){
Map map =new HashMap();
map.put("id",id);
- IntegralDetailEntity integralDetailEntity = integralDetailMapper.selectSafeIntegralInfo(map).get(0);
+ IntegralDetailDto integralDetailEntity = integralDetailMapper.selectSafeIntegralInfo(map).get(0);
Double integralWater = integralDetailEntity.getIntegralWater();//获取消耗积分
Map account = new HashMap();
account.put("userId",integralDetailEntity.getUserId());
@@ -121,16 +125,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();
}
@@ -165,7 +170,7 @@
int pageSize = (int) map.get("pageSize");
PageHelper.startPage(pageNum,pageSize);
map.put("companyId",companyId);
- List<IntegralDetailEntity> integralDetailEntities = integralDetailMapper.selectSafeIntegralInfo(map);
+ List<IntegralDetailDto> integralDetailEntities = integralDetailMapper.selectSafeIntegralInfo(map);
map.put("data",new PageInfo<>(integralDetailEntities));
return BasicResult.success(map);
}
@@ -177,6 +182,14 @@
map.put("companyId",companyId);
List<IntegralDetailEntity> integralDetailEntities = integralDetailMapper.selectPageList(map);
+ integralDetailEntities.forEach(obj->{
+ if(obj.getUserType() ==1){
+ obj.setUserTypeName("管服人员");
+ }
+ if(obj.getUserType() ==2){
+ obj.setUserTypeName("劳务人员");
+ }
+ });
ExcelUtils.downExcel(integralDetailEntities,IntegralDetailEntity.class,rsp,"班组列表");
}
@@ -184,11 +197,26 @@
public void exportSafeIntegralInfo(Map map, HttpServletResponse rsp) {
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
String companyId = sysUserInfo.getCompanyId();
+
IntegralAccountEntity integralAccountEntity = integralDetailMapper.selectByOne(map);
map.put("integral",integralAccountEntity.getTotalIntegral());
map.put("companyId",companyId);
- List<IntegralDetailEntity> integralDetailEntities = integralDetailMapper.selectSafeIntegralInfo(map);
- ExcelUtils.downExcel(integralDetailEntities,IntegralDetailEntity.class,rsp,"班组列表");
+ List<IntegralDetailDto> integralDetailEntities = integralDetailMapper.selectSafeIntegralInfo(map);
+ integralDetailEntities.forEach(obj->{
+ if(obj.getUserType() ==1){
+ obj.setUserTypeName("管服人员");
+ }
+ if(obj.getUserType() ==2){
+ obj.setUserTypeName("劳务人员");
+ }
+ if(obj.getType() == 1){
+ obj.setTypeName("获取");
+ }
+ if(obj.getType() == 2){
+ obj.setTypeName("消耗");
+ }
+ });
+ ExcelUtils.downExcel(integralDetailEntities,IntegralDetailDto.class,rsp,"班组列表");
}
}
--
Gitblit v1.9.3