瀏覽代碼

兼容东方微银OA接口同步,兼容删人员数据,修改update

tags/B.2.7.2_20240206_release
yk 1 年之前
父節點
當前提交
803047a0dc
共有 2 個檔案被更改,包括 28 行新增1 行删除
  1. +23
    -0
      xueyi-common/xueyi-common-web/src/main/java/com/xueyi/common/web/entity/manager/impl/BaseManagerImpl.java
  2. +5
    -1
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmStaffInnerApiController.java

+ 23
- 0
xueyi-common/xueyi-common-web/src/main/java/com/xueyi/common/web/entity/manager/impl/BaseManagerImpl.java 查看文件

@@ -320,6 +320,7 @@ public class BaseManagerImpl<Q extends P, D extends P, P extends BaseEntity, PM
return fields;
}


public D merge(D origin, D newInstance, Class<D> type) {
D result = createObj(type);
for (Field field : getAllFields(type)) {
@@ -341,4 +342,26 @@ public class BaseManagerImpl<Q extends P, D extends P, P extends BaseEntity, PM
}
return result;
}

public P mergePo(P origin, P newInstance, Class<P> type) {
P result = createObj(type);
for (Field field : getAllFields(type)) {
field.setAccessible(true);
try {
if (Modifier.isFinal(field.getModifiers())){
continue;
}
Object valueA = field.get(origin);
Object valueB = field.get(newInstance);
if (valueB != null) {
field.set(result, valueB);
} else {
field.set(result, valueA);
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return result;
}
}

+ 5
- 1
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmStaffInnerApiController.java 查看文件

@@ -18,6 +18,7 @@ import com.xueyi.system.organize.service.impl.SysEnterpriseServiceImpl;
import com.xueyi.system.resource.controller.api.MyBaseApiController;
import com.xueyi.system.resource.domain.dto.DmResourcesDto;
import com.xueyi.system.resource.service.impl.DmResourcesServiceImpl;
import com.xueyi.system.staff.manager.impl.DmStaffManager;
import com.xueyi.system.staff.mapper.DmPersonFeatureMapper;
import com.xueyi.system.staff.mapper.DmStaffMapper;
import com.xueyi.system.staff.mapper.DmVisitorsMapper;
@@ -53,6 +54,9 @@ public class DmStaffInnerApiController extends MyBaseApiController {
@Autowired
private DmStaffServiceImpl dmStaffService;

@Autowired
private DmStaffManager staffManager;

@InnerAuth
@GetMapping(value = "selectOne/{staffId}")
@ResponseBody
@@ -153,7 +157,7 @@ public class DmStaffInnerApiController extends MyBaseApiController {
if ("1".equals(commonDto.getStatus())) {
dmStaffService.delStaff(po);
} else {//其他情况
dmStaffMapper.update(staffPo,Wrappers.<DmStaffPo>query().lambda().eq(DmStaffPo::getId,po.getId()));
dmStaffMapper.update(staffManager.mergePo(po, staffPo, DmStaffPo.class),Wrappers.<DmStaffPo>query().lambda().eq(DmStaffPo::getId,po.getId()));
}
} else {
dmStaffMapper.insert(staffPo);


Loading…
取消
儲存