|
@@ -22,8 +22,6 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.transaction.Transactional;
|
|
|
import java.util.*;
|
|
|
-import java.util.function.Function;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
|
@Service
|
|
@@ -151,54 +149,92 @@ public class FuncidDefChangeRecordService {
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
- public MapResponse update(List<FuncidDefChangeRecord> list) {
|
|
|
+ public MapResponse update(FuncidDefChangeRecord param) {
|
|
|
MapResponse response = new MapResponse();
|
|
|
- List<Integer> idList = list.stream().map(FuncidDefChangeRecord::getId).collect(Collectors.toList());
|
|
|
- List<FuncidDefChangeRecord> data = repository.findAllById(idList);
|
|
|
- Map<Integer, FuncidDefChangeRecord> dataMap = data.stream().collect(Collectors.toMap(FuncidDefChangeRecord::getId, Function.identity()));
|
|
|
- for (FuncidDefChangeRecord param : list) {
|
|
|
- FuncidDefChangeRecord changeRecord = dataMap.get(param.getId());
|
|
|
- if (changeRecord.getState() == 1 && changeRecord.getVersion() == null) {
|
|
|
- if (param.getAliasCode() != null) {
|
|
|
- changeRecord.setAliasCode(param.getAliasCode());
|
|
|
+ Optional<FuncidDefChangeRecord> optional = repository.findById(param.getId());
|
|
|
+ if (!optional.isPresent()) {
|
|
|
+ response.setFail("code not exists");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ FuncidDefChangeRecord changeRecord = optional.get();
|
|
|
+ if (changeRecord.getState() == 1 && changeRecord.getVersion() == null) {
|
|
|
+ if (param.getAliasCode() != null) {
|
|
|
+ changeRecord.setAliasCode(param.getAliasCode());
|
|
|
+ }
|
|
|
+ if (param.getAliasName() != null) {
|
|
|
+ changeRecord.setAliasName(param.getAliasName());
|
|
|
+ }
|
|
|
+ if (param.getFirstTag() != null) {
|
|
|
+ changeRecord.setFirstTag(param.getFirstTag());
|
|
|
+ }
|
|
|
+ if (param.getSecondTag() != null) {
|
|
|
+ changeRecord.setSecondTag(param.getSecondTag());
|
|
|
+ }
|
|
|
+ if (param.getNote() != null) {
|
|
|
+ changeRecord.setNote(param.getNote());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (param.getState() != null) {
|
|
|
+ switch (param.getState()) {
|
|
|
+ case 2: {
|
|
|
+ changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
|
|
|
+ changeRecord.setConfirmTime(new Date());
|
|
|
+ break;
|
|
|
}
|
|
|
- if (param.getAliasName() != null) {
|
|
|
- changeRecord.setAliasName(param.getAliasName());
|
|
|
+ case 3: {
|
|
|
+ changeRecord.setPublishUser(UserUtils.currentUserId() + "");
|
|
|
+ changeRecord.setPublishTime(new Date());
|
|
|
+ break;
|
|
|
}
|
|
|
- if (param.getFirstTag() != null) {
|
|
|
- changeRecord.setFirstTag(param.getFirstTag());
|
|
|
+ case 4: {
|
|
|
+ changeRecord.setFinishTime(new Date());
|
|
|
+ break;
|
|
|
}
|
|
|
- if (param.getSecondTag() != null) {
|
|
|
- changeRecord.setSecondTag(param.getSecondTag());
|
|
|
+ default: {
|
|
|
+ break;
|
|
|
}
|
|
|
- if (param.getNote() != null) {
|
|
|
- changeRecord.setNote(param.getNote());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ repository.save(changeRecord);
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ public void updateStateByVersion(Integer state, String version) {
|
|
|
+ MapResponse response = new MapResponse();
|
|
|
+ JacksonCriteria criteria = JacksonCriteria.newInstance();
|
|
|
+ criteria.add("version", version);
|
|
|
+ PagedResponse<FuncidDefChangeRecord> query = query(criteria);
|
|
|
+ if (query.getCount() == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ List<FuncidDefChangeRecord> data = query.getData();
|
|
|
+ switch (state) {
|
|
|
+ case 2: {
|
|
|
+ for (FuncidDefChangeRecord changeRecord : data) {
|
|
|
+ changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
|
|
|
+ changeRecord.setConfirmTime(new Date());
|
|
|
}
|
|
|
+ break;
|
|
|
}
|
|
|
- if (param.getState() != null) {
|
|
|
- switch (param.getState()) {
|
|
|
- case 2: {
|
|
|
- changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
|
|
|
- changeRecord.setConfirmTime(new Date());
|
|
|
- break;
|
|
|
- }
|
|
|
- case 3: {
|
|
|
- changeRecord.setPublishUser(UserUtils.currentUserId() + "");
|
|
|
- changeRecord.setPublishTime(new Date());
|
|
|
- break;
|
|
|
- }
|
|
|
- case 4: {
|
|
|
- changeRecord.setFinishTime(new Date());
|
|
|
- break;
|
|
|
- }
|
|
|
- default: {
|
|
|
- break;
|
|
|
- }
|
|
|
+ case 3: {
|
|
|
+ for (FuncidDefChangeRecord changeRecord : data) {
|
|
|
+ changeRecord.setPublishUser(UserUtils.currentUserId() + "");
|
|
|
+ changeRecord.setPublishTime(new Date());
|
|
|
}
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case 4: {
|
|
|
+ for (FuncidDefChangeRecord changeRecord : data) {
|
|
|
+ changeRecord.setFinishTime(new Date());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ default: {
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
repository.saveAll(data);
|
|
|
- return response;
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@@ -217,16 +253,17 @@ public class FuncidDefChangeRecordService {
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
- public MapResponse delete(List<Integer> param) {
|
|
|
+ public MapResponse delete(FuncidDefChangeRecord param) {
|
|
|
MapResponse response = new MapResponse();
|
|
|
- List<FuncidDefChangeRecord> list = repository.findAllById(param);
|
|
|
- for (FuncidDefChangeRecord changeRecord : list) {
|
|
|
+ Optional<FuncidDefChangeRecord> optional = repository.findById(param.getId());
|
|
|
+ if (optional.isPresent()) {
|
|
|
+ FuncidDefChangeRecord changeRecord = optional.get();
|
|
|
if (changeRecord.getState() != 1 || changeRecord.getVersion() != null) {
|
|
|
response.setFail(changeRecord.getId() + " 不可删除!");
|
|
|
return response;
|
|
|
}
|
|
|
}
|
|
|
- repository.deleteAll(list);
|
|
|
+ repository.delete(param);
|
|
|
return response;
|
|
|
}
|
|
|
|