Commit bf132471f33a38192eb9315e137fd7b05207b8cf
1 parent
b57104c2
Use Hutool BeanUtil for null-safe property copying in `ServiceImpl.update`.
Showing
1 changed file
with
9 additions
and
4 deletions
sl-express-ms-transport-service/src/main/java/com/sl/transport/service/impl/ServiceImpl.java
| 1 | package com.sl.transport.service.impl; | 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 | import com.sl.transport.entity.node.BaseEntity; | 5 | import com.sl.transport.entity.node.BaseEntity; |
| 4 | import com.sl.transport.repository.BaseRepository; | 6 | import com.sl.transport.repository.BaseRepository; |
| 5 | import com.sl.transport.service.IService; | 7 | import com.sl.transport.service.IService; |
| @@ -8,10 +10,11 @@ import org.springframework.stereotype.Service; | @@ -8,10 +10,11 @@ import org.springframework.stereotype.Service; | ||
| 8 | 10 | ||
| 9 | /** | 11 | /** |
| 10 | * 基础服务的实现 | 12 | * 基础服务的实现 |
| 13 | + * | ||
| 11 | * @param <R> | 14 | * @param <R> |
| 12 | * @param <T> | 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 | @Autowired | 19 | @Autowired |
| 17 | private R repository; | 20 | private R repository; |
| @@ -28,9 +31,11 @@ public class ServiceImpl<R extends BaseRepository,T extends BaseEntity> implemen | @@ -28,9 +31,11 @@ public class ServiceImpl<R extends BaseRepository,T extends BaseEntity> implemen | ||
| 28 | 31 | ||
| 29 | @Override | 32 | @Override |
| 30 | public T update(T t) { | 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 | @Override | 41 | @Override |