|
@@ -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;
|
|
@@ -207,24 +208,38 @@ public class RoleAssignRecordServiceImpl extends ServiceImpl<RoleAssignRecordMap
|
|
|
|
|
|
@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 lastRecord = lastAssignRecord(roleInfoAndAgentParam);
|
|
|
+ if (lastRecord != null) {
|
|
|
+ if (nextRecord != null) {
|
|
|
+ update(new LambdaUpdateWrapper<RoleAssignRecord>()
|
|
|
+ .set(RoleAssignRecord::getEndTime, nextRecord.getStartTime())
|
|
|
+ .eq(RoleAssignRecord::getId, lastRecord.getId()));
|
|
|
+ } else {
|
|
|
+ update(new LambdaUpdateWrapper<RoleAssignRecord>()
|
|
|
+ .set(RoleAssignRecord::getEndTime, null)
|
|
|
+ .eq(RoleAssignRecord::getId, lastRecord.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);
|
|
|
}
|