Commit bf132471f33a38192eb9315e137fd7b05207b8cf

Authored by shaofan
1 parent b57104c2

Use Hutool BeanUtil for null-safe property copying in `ServiceImpl.update`.

sl-express-ms-transport-service/src/main/java/com/sl/transport/service/impl/ServiceImpl.java
1 1 package com.sl.transport.service.impl;
2 2  
  3 +import cn.hutool.core.bean.BeanUtil;
  4 +import cn.hutool.core.bean.copier.CopyOptions;
3 5 import com.sl.transport.entity.node.BaseEntity;
4 6 import com.sl.transport.repository.BaseRepository;
5 7 import com.sl.transport.service.IService;
... ... @@ -8,10 +10,11 @@ import org.springframework.stereotype.Service;
8 10  
9 11 /**
10 12 * 基础服务的实现
  13 + *
11 14 * @param <R>
12 15 * @param <T>
13 16 */
14   -public class ServiceImpl<R extends BaseRepository,T extends BaseEntity> implements IService<T> {
  17 +public class ServiceImpl<R extends BaseRepository, T extends BaseEntity> implements IService<T> {
15 18  
16 19 @Autowired
17 20 private R repository;
... ... @@ -28,9 +31,11 @@ public class ServiceImpl&lt;R extends BaseRepository,T extends BaseEntity&gt; implemen
28 31  
29 32 @Override
30 33 public T update(T t) {
31   -// id由neo4j自动生成
32   - t.setId(null);
33   - return (T) this.repository.save(t);
  34 + T queriedByBid = queryByBid(t.getBid());
  35 +
  36 + BeanUtil.copyProperties(t, queriedByBid, CopyOptions.create().setIgnoreNullValue(true));
  37 +
  38 + return (T) this.repository.save(queriedByBid);
34 39 }
35 40  
36 41 @Override
... ...