java110 лет назад: 6
Родитель
Сommit
c52ed728da

+ 32 - 3
service-api/src/main/java/com/java110/api/listener/user/AddStaffServiceListener.java

@@ -1,19 +1,24 @@
 package com.java110.api.listener.user;
 
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.user.IUserBMO;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.factory.DataFlowFactory;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.smo.common.IFileInnerServiceSMO;
+import com.java110.dto.file.FileDto;
 import com.java110.entity.center.AppService;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.po.file.FileRelPo;
+import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.ServiceCodeConstant;
 import com.java110.utils.constant.StoreUserRelConstant;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,6 +40,9 @@ public class AddStaffServiceListener extends AbstractServiceApiPlusListener {
     @Autowired
     private IUserBMO userBMOImpl;
 
+    @Autowired
+    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
 
     @Override
     public String getServiceCode() {
@@ -63,7 +71,6 @@ public class AddStaffServiceListener extends AbstractServiceApiPlusListener {
 //获取数据上下文对象
 
 
-
         Assert.jsonObjectHaveKey(reqJson, "storeId", "请求参数中未包含storeId 节点,请确认");
         Assert.jsonObjectHaveKey(reqJson, "storeTypeCd", "请求参数中未包含storeTypeCd 节点,请确认");
         //判断请求报文中包含 userId 并且 不为-1时 将已有用户添加为员工,反之,则添加用户再将用户添加为员工
@@ -91,6 +98,28 @@ public class AddStaffServiceListener extends AbstractServiceApiPlusListener {
         reqJson.put("relCd", relCd);
         userBMOImpl.addStaffOrg(reqJson, context);
 
+        if (reqJson.containsKey("photo") && !StringUtils.isEmpty(reqJson.getString("photo"))) {
+            FileDto fileDto = new FileDto();
+            fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+            fileDto.setFileName(fileDto.getFileId());
+            fileDto.setContext(reqJson.getString("photo"));
+            fileDto.setSuffix("jpeg");
+            fileDto.setCommunityId(reqJson.getString("communityId"));
+            String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+            reqJson.put("photoId", fileDto.getFileId());
+            reqJson.put("fileSaveName", fileName);
+
+            JSONObject businessUnit = new JSONObject();
+            businessUnit.put("fileRelId", "-1");
+            businessUnit.put("relTypeCd", "12000");
+            businessUnit.put("saveWay", "table");
+            businessUnit.put("objId", userId);
+            businessUnit.put("fileRealName", fileDto.getFileId());
+            businessUnit.put("fileSaveName", fileName);
+            FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class);
+            super.insert(context, fileRelPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+        }
+
         commit(context);
 
         //如果不成功直接返回

+ 48 - 1
service-api/src/main/java/com/java110/api/listener/user/ModifyStaffServiceListener.java

@@ -5,9 +5,15 @@ import com.java110.api.bmo.user.IUserBMO;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.factory.DataFlowFactory;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.smo.common.IFileInnerServiceSMO;
+import com.java110.core.smo.common.IFileRelInnerServiceSMO;
+import com.java110.dto.file.FileDto;
+import com.java110.dto.file.FileRelDto;
 import com.java110.entity.center.AppService;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.po.file.FileRelPo;
 import com.java110.po.user.UserPo;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.CommonConstant;
@@ -15,6 +21,7 @@ import com.java110.utils.constant.ServiceCodeConstant;
 import com.java110.utils.exception.ListenerExecuteException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,6 +31,8 @@ import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 
+import java.util.List;
+
 /**
  * 修改员工 2018年12月6日
  * Created by wuxw on 2018/5/18.
@@ -36,6 +45,12 @@ public class ModifyStaffServiceListener extends AbstractServiceApiPlusListener {
     @Autowired
     private IUserBMO userBMOImpl;
 
+    @Autowired
+    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
     @Override
     public String getServiceCode() {
         return ServiceCodeConstant.SERVICE_CODE_USER_STAFF_MODIFY;
@@ -63,6 +78,38 @@ public class ModifyStaffServiceListener extends AbstractServiceApiPlusListener {
 
     @Override
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+        if (reqJson.containsKey("photo") && !StringUtils.isEmpty(reqJson.getString("photo"))) {
+            FileDto fileDto = new FileDto();
+            fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+            fileDto.setFileName(fileDto.getFileId());
+            fileDto.setContext(reqJson.getString("photo"));
+            fileDto.setSuffix("jpeg");
+            fileDto.setCommunityId(reqJson.getString("communityId"));
+            String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+
+            FileRelDto fileRelDto = new FileRelDto();
+            fileRelDto.setRelTypeCd("12000");
+            fileRelDto.setObjId(reqJson.getString("userId"));
+            List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+            if (fileRelDtos == null || fileRelDtos.size() == 0) {
+                JSONObject businessUnit = new JSONObject();
+                businessUnit.put("fileRelId", "-1");
+                businessUnit.put("relTypeCd", "10000");
+                businessUnit.put("saveWay", "table");
+                businessUnit.put("objId", reqJson.getString("userId"));
+                businessUnit.put("fileRealName", fileDto.getFileId());
+                businessUnit.put("fileSaveName", fileName);
+                FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class);
+                super.insert(context, fileRelPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+            } else {
+                JSONObject businessUnit = new JSONObject();
+                businessUnit.putAll(BeanConvertUtil.beanCovertMap(fileRelDtos.get(0)));
+                businessUnit.put("fileRealName", fileDto.getFileId());
+                businessUnit.put("fileSaveName", fileName);
+                FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class);
+                super.update(context, fileRelPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_FILE_REL);
+            }
+        }
         modifyStaff(reqJson, context);
     }