Commit 8b072d15 authored by licc's avatar licc

修复事务

parent e3b058ef
package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.vo.UserQueryVo;
/**
* @author 86187
*/
public interface BottomService {
/**
* 获取向下层级
*
* @param queryVo 条数
* @return true or false
*/
R<Boolean> getBottom(UserQueryVo queryVo);
}
......@@ -15,12 +15,4 @@ public interface UserDataService {
*/
R<Boolean> addBatch(UserQueryVo queryVo);
/**
* 获取向下层级
*
* @param queryVo 条数
* @return true or false
*/
R<Boolean> getBottom(UserQueryVo queryVo);
}
package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.UserDataMapper;
import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.UserData;
import cn.wisenergy.model.dto.UsersInfoDto;
import cn.wisenergy.model.vo.UserQueryVo;
import cn.wisenergy.service.app.BottomService;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.util.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @author 86187
*/
@Service
@Slf4j
public class BottomServiceImpl implements BottomService {
@Resource
private UsersMapper usersMapper;
@Resource
private UserDataMapper userDataMapper;
@Override
public R<Boolean> getBottom(UserQueryVo queryVo) {
Long usersId = userDataMapper.getMaxId();
log.info("开始计算用户id:" + usersId);
if (null == usersId) {
usersId = 0L;
}
Integer startNo = Math.toIntExact(usersId) - 1;
Integer endNo = queryVo.getNumber();
//获取所有用户数据
List<UserData> list = userDataMapper.getBottom(startNo, endNo);
if (!CollectionUtils.isEmpty(list)) {
for (UserData userData : list) {
//3、向下最深层级层级数、伞下人员总和
UsersInfoDto userInfoDto = usersMapper.getLevelAndTotal(userData.getUserId());
if (null != userInfoDto) {
if (null != userInfoDto.getBottom()) {
userData.setBottom(userInfoDto.getBottom() - userData.getRank());
}
userData.setTotalPeople(userInfoDto.getTotalPeople());
}
int count = userDataMapper.edit(userData);
if (count == 0) {
break;
}
}
}
return R.ok(0, true);
}
}
......@@ -122,35 +122,4 @@ public class UserDataServiceImpl implements UserDataService {
}
return R.ok(0, true);
}
@Override
public R<Boolean> getBottom(UserQueryVo queryVo) {
Long usersId = userDataMapper.getMaxId();
log.info("开始计算用户id:" + usersId);
if (null == usersId) {
usersId = 0L;
}
Integer startNo = Math.toIntExact(usersId) - 1;
Integer endNo = queryVo.getNumber();
//获取所有用户数据
List<UserData> list = userDataMapper.getBottom(startNo, endNo);
if (!CollectionUtils.isEmpty(list)) {
for (UserData userData : list) {
//3、向下最深层级层级数、伞下人员总和
UsersInfoDto userInfoDto = usersMapper.getLevelAndTotal(userData.getUserId());
if (null != userInfoDto) {
if (null != userInfoDto.getBottom()) {
userData.setBottom(userInfoDto.getBottom() - userData.getRank());
}
userData.setTotalPeople(userInfoDto.getTotalPeople());
}
}
boolean bool = userDataManger.updateBatchUserData(list);
if (!bool) {
return R.ok(1, false);
}
}
return R.ok(0, true);
}
}
......@@ -2,6 +2,7 @@ package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.vo.UserQueryVo;
import cn.wisenergy.service.app.BottomService;
import cn.wisenergy.service.app.UserDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -24,6 +25,9 @@ public class UserDataController {
@Resource
private UserDataService userDataService;
@Resource
private BottomService bottomService;
@ApiOperation(value = "获取token接口", notes = "获取token接口", httpMethod = "POST")
@ApiImplicitParam(name = "queryVo", value = "每次统计条数", dataType = "UserQueryVo")
@PostMapping(value = "/user/saveBatchUserData")
......@@ -35,6 +39,6 @@ public class UserDataController {
@ApiImplicitParam(name = "queryVo", value = "每次统计条数", dataType = "UserQueryVo")
@PostMapping(value = "/user/updateBatchUserData")
public R<Boolean> updateBatchUserData(@RequestBody UserQueryVo queryVo) {
return userDataService.getBottom(queryVo);
return bottomService.getBottom(queryVo);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment