|
@@ -1,6 +1,8 @@
|
|
package com.huimv.farm.damsubsidy.service.impl;
|
|
package com.huimv.farm.damsubsidy.service.impl;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
@@ -18,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
@@ -25,6 +28,7 @@ import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -221,7 +225,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- @Transactional
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
public Result add(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
|
|
public Result add(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
|
|
|
|
|
|
@@ -343,6 +347,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
sysUser.setFarmName(paramsMap.get("farmName"));
|
|
sysUser.setFarmName(paramsMap.get("farmName"));
|
|
sysUser.setAccoutType(1);
|
|
sysUser.setAccoutType(1);
|
|
userMapper.updateById(sysUser);
|
|
userMapper.updateById(sysUser);
|
|
|
|
+ updateSeller();
|
|
|
|
+ updateBuyer();
|
|
return new Result(ResultCode.SUCCESS, sysUser);
|
|
return new Result(ResultCode.SUCCESS, sysUser);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -352,6 +358,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
}
|
|
}
|
|
user.setIsRealName(1);
|
|
user.setIsRealName(1);
|
|
userMapper.insert(user);
|
|
userMapper.insert(user);
|
|
|
|
+ updateSeller();
|
|
|
|
+ updateBuyer();
|
|
return new Result(ResultCode.SUCCESS, userMapper.selectOne(new QueryWrapper<SysUser>().eq("phone", paramsMap.get("phone"))));
|
|
return new Result(ResultCode.SUCCESS, userMapper.selectOne(new QueryWrapper<SysUser>().eq("phone", paramsMap.get("phone"))));
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -373,6 +381,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
return new Result(10001, "实名手机号与当前手机号不一致", false);
|
|
return new Result(10001, "实名手机号与当前手机号不一致", false);
|
|
}
|
|
}
|
|
userMapper.insert(user);
|
|
userMapper.insert(user);
|
|
|
|
+ updateSeller();
|
|
|
|
+ updateBuyer();
|
|
return new Result(10004, "待审核", false);
|
|
return new Result(10004, "待审核", false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -515,6 +525,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
public Result add(SysUser sysUser, Long userId) {
|
|
public Result add(SysUser sysUser, Long userId) {
|
|
|
|
|
|
int account = this.count(new QueryWrapper<SysUser>().eq("account_num", sysUser.getAccountNum()));
|
|
int account = this.count(new QueryWrapper<SysUser>().eq("account_num", sysUser.getAccountNum()));
|
|
@@ -527,6 +538,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
sysUser.setPid(userId);
|
|
sysUser.setPid(userId);
|
|
sysUser.setPids(byId.getPids() + "," + userId);
|
|
sysUser.setPids(byId.getPids() + "," + userId);
|
|
userMapper.insert(sysUser);
|
|
userMapper.insert(sysUser);
|
|
|
|
+ updateSeller();
|
|
|
|
+ updateBuyer();
|
|
return new Result(10000, "添加成功", true);
|
|
return new Result(10000, "添加成功", true);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -640,15 +653,77 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
public Result listSeller() {
|
|
public Result listSeller() {
|
|
- List<SysUser> seller = this.list(new QueryWrapper<SysUser>().in("user_type", 2, 3).eq("is_real_name", 1));
|
|
|
|
- return new Result(ResultCode.SUCCESS, seller);
|
|
|
|
|
|
+ String seller = redisTemplate.opsForValue().get("subsidy:seller");
|
|
|
|
+ List<SysUser> sellerList;
|
|
|
|
+ if (org.apache.commons.lang.StringUtils.isEmpty(seller)){
|
|
|
|
+ System.out.println("-----------获取卖方数据库数据-----------");
|
|
|
|
+ sellerList = this.list(new QueryWrapper<SysUser>().in("user_type", 2, 3).eq("is_real_name", 1));
|
|
|
|
+ String sellers = JSON.toJSON(sellerList).toString();
|
|
|
|
+ try {
|
|
|
|
+ redisTemplate.opsForValue().set("subsidy:seller",sellers,2, TimeUnit.HOURS);
|
|
|
|
+ System.out.println("卖方缓存更新成功");
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ System.out.println("卖方数据缓存失败");
|
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ System.out.println("-----------获取卖方缓存数据-----------");
|
|
|
|
+ sellerList = JSONObject.parseArray(seller,SysUser.class);
|
|
|
|
+ }
|
|
|
|
+ return new Result(ResultCode.SUCCESS, sellerList);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
public Result listBuyer() {
|
|
public Result listBuyer() {
|
|
- List<SysUser> buyer = this.list(new QueryWrapper<SysUser>().in("user_type", 3).eq("is_real_name", 1));
|
|
|
|
- return new Result(ResultCode.SUCCESS, buyer);
|
|
|
|
|
|
+ String buyer = redisTemplate.opsForValue().get("subsidy:buyer");
|
|
|
|
+ List<SysUser> buyerList;
|
|
|
|
+ if (org.apache.commons.lang.StringUtils.isEmpty(buyer)){
|
|
|
|
+ System.out.println("-----------获取买方数据库数据-----------");
|
|
|
|
+ buyerList = this.list(new QueryWrapper<SysUser>().in("user_type", 3).eq("is_real_name", 1));
|
|
|
|
+ String buyers = JSON.toJSON(buyerList).toString();
|
|
|
|
+ try {
|
|
|
|
+ redisTemplate.opsForValue().set("subsidy:buyer",buyers,2, TimeUnit.HOURS);
|
|
|
|
+ System.out.println("买方缓存更新成功");
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ System.out.println("买方数据缓存失败");
|
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ System.out.println("-----------获取买方缓存数据-----------");
|
|
|
|
+ buyerList = JSONObject.parseArray(buyer,SysUser.class);
|
|
|
|
+ }
|
|
|
|
+ return new Result(ResultCode.SUCCESS, buyerList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void updateSeller(){
|
|
|
|
+ List<SysUser> sellerList = this.list(new QueryWrapper<SysUser>().in("user_type", 3).eq("is_real_name", 1));
|
|
|
|
+ String sellers = JSON.toJSON(sellerList).toString();
|
|
|
|
+ try {
|
|
|
|
+ redisTemplate.opsForValue().set("subsidy:seller",sellers,2, TimeUnit.HOURS);
|
|
|
|
+ System.out.println("卖方缓存更新成功");
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ System.out.println("卖方数据缓存失败");
|
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void updateBuyer(){
|
|
|
|
+ List<SysUser> buyerList = this.list(new QueryWrapper<SysUser>().in("user_type", 2, 3).eq("is_real_name", 1));
|
|
|
|
+ String buyers = JSON.toJSON(buyerList).toString();
|
|
|
|
+ try {
|
|
|
|
+ redisTemplate.opsForValue().set("subsidy:buyer",buyers,2, TimeUnit.HOURS);
|
|
|
|
+ System.out.println("买方缓存更新成功");
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ System.out.println("买方数据缓存失败");
|
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|