|
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
+import com.zanxiang.corp.base.pojo.entity.CorpUserChangeRecord;
|
|
|
import com.zanxiang.erp.base.ErpServer;
|
|
|
import com.zanxiang.erp.base.rpc.ISysUserRpc;
|
|
|
import com.zanxiang.erp.security.util.SecurityUtil;
|
|
@@ -190,41 +191,55 @@ public class RoleAssignRecordServiceImpl extends ServiceImpl<RoleAssignRecordMap
|
|
|
.startTime(item.getStartTime())
|
|
|
.endTime(item.getEndTime())
|
|
|
.gsId(item.getGsId())
|
|
|
- .gsName(getNickname(item.getGsId()))
|
|
|
+ .gsName(null == item.getGsId() ? null : getNickname(item.getGsId()))
|
|
|
.operUserId(item.getOperUserId())
|
|
|
- .operUserName(getNickname(item.getOperUserId()))
|
|
|
+ .operUserName(null == item.getOperUserId() ? null : getNickname(item.getOperUserId()))
|
|
|
.customerServiceId(item.getCustomerServiceId())
|
|
|
- .customerServiceName(getNickname(item.getCustomerServiceId()))
|
|
|
+ .customerServiceName(null == item.getCustomerServiceId() ? null : getNickname(item.getCustomerServiceId()))
|
|
|
.remark(item.getRemark())
|
|
|
.createBy(item.getCreateBy())
|
|
|
- .createName(getNickname(item.getCreateBy()))
|
|
|
+ .createName(null == item.getCreateBy() ? null : getNickname(item.getCreateBy()))
|
|
|
.createTime(item.getCreateTime())
|
|
|
.updateBy(item.getUpdateBy())
|
|
|
- .updateName(getNickname(item.getUpdateBy()))
|
|
|
+ .updateName(null == item.getUpdateBy() ? null : getNickname(item.getUpdateBy()))
|
|
|
.updateTime(item.getUpdateTime())
|
|
|
.build());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public boolean deleteByIds(List<Long> ids) {
|
|
|
+ public boolean deleteById(Long id) {
|
|
|
Long sysUserId = SecurityUtil.getUserId();
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
+ RoleAssignRecord changeRecord = getById(id);
|
|
|
+ RoleAssignRecord nextRecord = getNextRecord(changeRecord, changeRecord.getStartTime());
|
|
|
+ RoleInfoAndAgentParam roleInfoAndAgentParam = RoleInfoAndAgentParam.builder()
|
|
|
+ .regAgentId(changeRecord.getRegAgentId())
|
|
|
+ .gameId(changeRecord.getGameId())
|
|
|
+ .serverId(changeRecord.getServerId())
|
|
|
+ .userId(changeRecord.getUserId())
|
|
|
+ .roleId(changeRecord.getRoleId())
|
|
|
+ .build();
|
|
|
+ RoleAssignRecord previousRecord = previousAssignRecord(changeRecord, changeRecord.getStartTime());
|
|
|
+ if (previousRecord != null) {
|
|
|
+ if (nextRecord != null) {
|
|
|
+ update(new LambdaUpdateWrapper<RoleAssignRecord>()
|
|
|
+ .set(RoleAssignRecord::getEndTime, nextRecord.getStartTime())
|
|
|
+ .eq(RoleAssignRecord::getId, previousRecord.getId()));
|
|
|
+ } else {
|
|
|
+ update(new LambdaUpdateWrapper<RoleAssignRecord>()
|
|
|
+ .set(RoleAssignRecord::getEndTime, null)
|
|
|
+ .eq(RoleAssignRecord::getId, previousRecord.getId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
update(new LambdaUpdateWrapper<RoleAssignRecord>()
|
|
|
.set(RoleAssignRecord::getIsDelete, 1)
|
|
|
.set(RoleAssignRecord::getUpdateBy, sysUserId)
|
|
|
.set(RoleAssignRecord::getUpdateTime, now)
|
|
|
- .in(RoleAssignRecord::getId, ids));
|
|
|
- List<RoleAssignRecord> roleAssignRecordList = listByIds(ids);
|
|
|
- if (CollectionUtils.isNotEmpty(roleAssignRecordList)) {
|
|
|
- RoleAssignRecord roleAssignRecord = roleAssignRecordList.get(0);
|
|
|
- RoleInfoAndAgentParam roleInfoAndAgentParam = RoleInfoAndAgentParam.builder()
|
|
|
- .regAgentId(roleAssignRecord.getRegAgentId())
|
|
|
- .gameId(roleAssignRecord.getGameId())
|
|
|
- .serverId(roleAssignRecord.getServerId())
|
|
|
- .userId(roleAssignRecord.getUserId())
|
|
|
- .roleId(roleAssignRecord.getRoleId())
|
|
|
- .build();
|
|
|
+ .eq(RoleAssignRecord::getId, id));
|
|
|
+ RoleAssignRecord roleAssignRecord = getById(id);
|
|
|
+ if (null != roleAssignRecord) {
|
|
|
RoleOperate modifyRoleOperate = getModifyRoleOperate(roleInfoAndAgentParam);
|
|
|
return roleOperateService.saveOrUpdate(modifyRoleOperate);
|
|
|
}
|
|
@@ -261,7 +276,7 @@ public class RoleAssignRecordServiceImpl extends ServiceImpl<RoleAssignRecordMap
|
|
|
.eq(RoleAssignRecord::getServerId, item.getServerId())
|
|
|
.eq(RoleAssignRecord::getUserId, item.getUserId())
|
|
|
.eq(RoleAssignRecord::getRoleId, item.getRoleId())
|
|
|
- .le(RoleAssignRecord::getStartTime, startTime)
|
|
|
+ .lt(RoleAssignRecord::getStartTime, startTime)
|
|
|
.orderByDesc(RoleAssignRecord::getStartTime)
|
|
|
.eq(RoleAssignRecord::getIsDelete, 0)
|
|
|
.last("limit 1"));
|
|
@@ -279,7 +294,7 @@ public class RoleAssignRecordServiceImpl extends ServiceImpl<RoleAssignRecordMap
|
|
|
.eq(RoleAssignRecord::getServerId, item.getServerId())
|
|
|
.eq(RoleAssignRecord::getUserId, item.getUserId())
|
|
|
.eq(RoleAssignRecord::getRoleId, item.getRoleId())
|
|
|
- .ge(RoleAssignRecord::getStartTime, startTime)
|
|
|
+ .gt(RoleAssignRecord::getStartTime, startTime)
|
|
|
.orderByAsc(RoleAssignRecord::getStartTime)
|
|
|
.eq(RoleAssignRecord::getIsDelete, 0)
|
|
|
.last("limit 1")
|
|
@@ -296,25 +311,25 @@ public class RoleAssignRecordServiceImpl extends ServiceImpl<RoleAssignRecordMap
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
RoleOperate roleOperate = RoleOperate.builder().build();
|
|
|
RoleOperate queryOne = roleOperateService.getOne(new LambdaQueryWrapper<RoleOperate>()
|
|
|
- .eq(RoleOperate::getGameId, lastAssignRecord.getGameId())
|
|
|
- .eq(RoleOperate::getServerId, lastAssignRecord.getServerId())
|
|
|
- .eq(RoleOperate::getUserId, lastAssignRecord.getUserId())
|
|
|
- .eq(RoleOperate::getRoleId, lastAssignRecord.getRoleId())
|
|
|
+ .eq(RoleOperate::getGameId, roleInfoAndAgentParam.getGameId())
|
|
|
+ .eq(RoleOperate::getServerId, roleInfoAndAgentParam.getServerId())
|
|
|
+ .eq(RoleOperate::getUserId, roleInfoAndAgentParam.getUserId())
|
|
|
+ .eq(RoleOperate::getRoleId, roleInfoAndAgentParam.getRoleId())
|
|
|
.eq(RoleOperate::getIsDelete, 0));
|
|
|
if (null == queryOne) {
|
|
|
- roleOperate.setGameId(lastAssignRecord.getGameId());
|
|
|
- roleOperate.setServerId(lastAssignRecord.getServerId());
|
|
|
- roleOperate.setUserId(lastAssignRecord.getUserId());
|
|
|
- roleOperate.setRoleId(lastAssignRecord.getRoleId());
|
|
|
+ roleOperate.setGameId(roleInfoAndAgentParam.getGameId());
|
|
|
+ roleOperate.setServerId(roleInfoAndAgentParam.getServerId());
|
|
|
+ roleOperate.setUserId(roleInfoAndAgentParam.getUserId());
|
|
|
+ roleOperate.setRoleId(roleInfoAndAgentParam.getRoleId());
|
|
|
roleOperate.setCreateBy(sysUserId);
|
|
|
roleOperate.setCreateTime(now);
|
|
|
} else {
|
|
|
roleOperate = queryOne;
|
|
|
}
|
|
|
- roleOperate.setGsId(lastAssignRecord.getGsId());
|
|
|
- roleOperate.setCustomerServiceId(lastAssignRecord.getCustomerServiceId());
|
|
|
- roleOperate.setOperUserId(lastAssignRecord.getOperUserId());
|
|
|
- roleOperate.setRemark(lastAssignRecord.getRemark());
|
|
|
+ roleOperate.setGsId(null == lastAssignRecord ? null : lastAssignRecord.getGsId());
|
|
|
+ roleOperate.setCustomerServiceId(null == lastAssignRecord ? null : lastAssignRecord.getCustomerServiceId());
|
|
|
+ roleOperate.setOperUserId(null == lastAssignRecord ? null : lastAssignRecord.getOperUserId());
|
|
|
+ roleOperate.setRemark(null == lastAssignRecord ? null : lastAssignRecord.getRemark());
|
|
|
roleOperate.setUpdateBy(sysUserId);
|
|
|
roleOperate.setUpdateTime(now);
|
|
|
return roleOperate;
|