diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/DingTalkInitPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/DingTalkInitPluginInitializer.java new file mode 100644 index 00000000..edb276e7 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/DingTalkInitPluginInitializer.java @@ -0,0 +1,111 @@ +package com.hzya.frame.plugin.kjs.plugin; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.plugin.kjs.service.IDingTalkInitService; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description 钉钉组织架构初始化 + * @Author xiangerlin + * @Date 2024/9/2 16:19 + **/ +public class DingTalkInitPluginInitializer extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private IDingTalkInitService dingTalkService; + /*** + * 插件初始化方法 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-02 10:48 + * @Param [] + * @return void + **/ + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + /**** + * 插件销毁方法 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + /**** + * 插件的ID + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginId() { + return "kjsDingTalkInitPlugin"; + } + + /**** + * 插件的名称 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginName() { + return "kjs钉钉部门人员初始化插件"; + } + + /**** + * 插件的显示值 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginLabel() { + return "kjs钉钉部门人员初始化插件"; + } + + /*** + * 插件类型 1、场景插件 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-02 14:01 + * @Param [] + * @return java.lang.String + **/ + @Override + public String getPluginType() { + return "1"; + } + + /*** + * 执行业务代码 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-07 11:20 + * @param requestJson 执行业务代码的参数 + * @return void + **/ + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + logger.info("开始执行"+getPluginName()+requestJson.toString()); + new Thread(()->{ + String type = requestJson.getString("type"); + Long deptId = requestJson.getLong("deptId"); + if ("dept".equals(type)){ + dingTalkService.deptInit(deptId); + }else if ("user".equals(type)){ + dingTalkService.userInit(deptId); + } + }).start(); + return BaseResult.getSuccessMessageEntity("成功"); + } +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/GenericEventConsumer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/GenericEventConsumer.java index 0f9c62d5..7cbfa3eb 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/GenericEventConsumer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/GenericEventConsumer.java @@ -10,8 +10,10 @@ import com.dingtalk.api.response.OapiV2UserGetResponse; import com.dingtalk.open.app.api.message.GenericOpenDingTalkEvent; import com.hzya.frame.dingtalk.enums.OrgEventEnum; import com.hzya.frame.dingtalk.service.IDingTalkService; +import com.hzya.frame.uuid.UUIDUtils; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; +import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @@ -19,9 +21,8 @@ import shade.com.alibaba.fastjson2.JSONArray; import shade.com.alibaba.fastjson2.JSONObject; import javax.annotation.Resource; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * @Description 通讯录事件订阅消费者 @@ -31,30 +32,30 @@ import java.util.Map; public class GenericEventConsumer { Logger logger = LoggerFactory.getLogger(getClass()); //中台应用 - private static final String APPCODE = "800004"; - private static final String URL = "http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface"; + public static final String APPCODE = "800004"; + public static final String URL = "http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface"; //中台 publicKey - private static final String PUBLICKEY = "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"; + public static final String PUBLICKEY = "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"; //中台secretKey - private static final String SECRETKEY = "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="; + public static final String SECRETKEY = "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="; //mdm通用新增接口编码 - private static final String MDMADDCODE = "8000040022"; + public static final String MDMADDCODE = "8000040022"; //mdm通用删除接口编码 - private static final String MDMREMOVECODE = "8000040024"; + public static final String MDMREMOVECODE = "8000040024"; //主数据人员钉钉档案编码 - private static final String DDUSERMDMCODE = "10015"; + public static final String DDUSERMDMCODE = "10015"; //主数据钉钉部门档案编码 - private static final String DDDEPTMDMCODE = "10016"; + public static final String DDDEPTMDMCODE = "10016"; //钉钉应用编码 - private static final String DDAPPCODE = "800005"; + public static final String DDAPPCODE = "800005"; //钉钉 publicKey - private static final String DDPUBLICKEY = "ZJYAn/EBWEhLUMezDLU4iZ1vTO9kc6pM6XrYLajnqnK60Q9Ce7eDIk+3zDUT+v578prj"; + public static final String DDPUBLICKEY = "ZJYAn/EBWEhLUMezDLU4iZ1vTO9kc6pM6XrYLajnqnK60Q9Ce7eDIk+3zDUT+v578prj"; //钉钉secretKey - private static final String DDSECRETKEY = "ctMIYyauwoKSFeU4tg5gH1aWC/3OJK6HsKJrSR0oyDmdmdvRNgdoTzX0C1OQ+whrj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="; + public static final String DDSECRETKEY = "ctMIYyauwoKSFeU4tg5gH1aWC/3OJK6HsKJrSR0oyDmdmdvRNgdoTzX0C1OQ+whrj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="; //获取钉钉用户详情接口编码 - private static final String GETUSERAPPCODE="8000050001"; + public static final String GETUSERAPPCODE="8000050001"; //获取钉钉部门详情接口编码 - private static final String GETDETPAPPCODE="8000050002"; + public static final String GETDETPAPPCODE="8000050002"; /** * 消费通讯录事件订阅消息 * @@ -100,7 +101,7 @@ public class GenericEventConsumer { //获取用户详情 String userRes = getUserById(String.valueOf(userIds.get(i))); //保存钉钉用户到mdm - String userMdmRes = createUser(userRes); + String userMdmRes = createUser(userRes,eventType); } }else if ("dept".equals(type)){ JSONArray deptIdArr = bizData.getJSONArray("deptId"); @@ -153,46 +154,83 @@ public class GenericEventConsumer { } //保存用户到mdm - private static String createUser(String userRes) { + private String createUser(String userRes,String eventType) { JsonResultEntity jsonResult = JSONObject.parseObject(userRes,JsonResultEntity.class); if (jsonResult.isFlag()){ shade.com.alibaba.fastjson2.JSONObject attribute = (shade.com.alibaba.fastjson2.JSONObject) jsonResult.getAttribute(); String attrStr = attribute.toString(); OapiV2UserGetResponse rsp = JSONObject.parseObject(attrStr, OapiV2UserGetResponse.class); if (rsp.isSuccess()){ - OapiV2UserGetResponse.UserGetResponse userInfo = rsp.getResult(); + String result = attribute.getString("result"); + OapiV2UserGetResponse.UserGetResponse userInfo = com.alibaba.fastjson.JSONObject.parseObject(result,OapiV2UserGetResponse.UserGetResponse.class); //OapiV2UserGetResponse.UserGetResponse userInfo = dingtalkService.getUserById(userIds.getString(i)); - Map mdmMap = new LinkedHashMap<>(); - mdmMap.put("mdmCode",DDUSERMDMCODE); - mdmMap.put("optionName","系统管理员"); - Map userMap = new LinkedHashMap<>(); - userMap.put("data_id", userInfo.getUserid()); - userMap.put("unionid",userInfo.getUnionid()); - userMap.put("userid",userInfo.getUserid()); - userMap.put("name",userInfo.getName()); - userMap.put("mobile",userInfo.getMobile()); - userMap.put("job_number",userInfo.getJobNumber()); - userMap.put("title",userInfo.getTitle()); - userMap.put("email",userInfo.getEmail()); - userMap.put("org_email",userInfo.getOrgEmail()); - if (null != userInfo.getHiredDate()){ - userMap.put("hired_date", DateUtil.date(userInfo.getHiredDate())); - } - mdmMap.put("mdm_dd_user",userMap); - //保存到人员主数据 - Map headerMap = MapBuilder.create(true) - .put("apiCode", MDMADDCODE)//中台接口 - .put("publicKey",DDPUBLICKEY)//钉钉应用 - .put("secretKey",DDSECRETKEY)//钉钉应用 - .put("appId",APPCODE)//中台应用 - .build(); - String body = HttpRequest.post(URL).addHeaders(headerMap).body(com.alibaba.fastjson.JSONObject.toJSONString(mdmMap)).timeout(60000).execute().body(); - return body; + createMdmUser(eventType, userInfo); + // return body; } } return null; } + public void createMdmUser(String eventType, OapiV2UserGetResponse.UserGetResponse userInfo) { + Map mdmMap = new LinkedHashMap<>(); + mdmMap.put("mdmCode",DDUSERMDMCODE); + mdmMap.put("optionName","系统管理员"); + Map userMap = new LinkedHashMap<>(); + userMap.put("data_id", userInfo.getUserid()); + userMap.put("unionid", userInfo.getUnionid()); + userMap.put("userid", userInfo.getUserid()); + userMap.put("name", userInfo.getName()); + userMap.put("mobile", userInfo.getMobile()); + userMap.put("job_number", userInfo.getJobNumber()); + userMap.put("title", userInfo.getTitle()); + userMap.put("email", userInfo.getEmail()); + userMap.put("org_email", userInfo.getOrgEmail()); + userMap.put("event_type", eventType); + userMap.put("dept_id_list", userInfo.getDeptIdList()); + if (null != userInfo.getHiredDate()){ + userMap.put("hired_date", DateUtil.format(DateUtil.date(userInfo.getHiredDate()),"yyyy-MM-dd")); + } + List> postList = new LinkedList<>(); + //处理职位信息 + List deptPositionList = userInfo.getDeptPositionList(); + if (CollectionUtils.isNotEmpty(deptPositionList) && deptPositionList.size()>1){ + //用stream方式给deptOrderList排序,排序字段为order + List deptOrderList = userInfo.getDeptOrderList(); + // 使用Stream API对deptOrderList按order字段排序 + List sortedDeptOrderList = deptOrderList.stream() + .sorted(Comparator.comparing(OapiV2UserGetResponse.DeptOrder::getOrder)) + .collect(Collectors.toList()); + for (OapiV2UserGetResponse.DeptOrder deptOrder : sortedDeptOrderList) { + for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) { + if (deptPosition.getDeptId().equals(deptOrder.getDeptId())){ + Map positionMap = new LinkedHashMap<>(); + positionMap.put("dept_id",deptPosition.getDeptId()); + positionMap.put("title",deptPosition.getTitle()); + postList.add(positionMap); + break; + } + } + } + }else if (CollectionUtils.isNotEmpty(deptPositionList) && deptPositionList.size() == 1){ + OapiV2UserGetResponse.DeptPosition deptPosition = deptPositionList.get(0); + Map positionMap = new LinkedHashMap<>(); + positionMap.put("dept_id",deptPosition.getDeptId()); + positionMap.put("title",StrUtil.isEmpty(deptPosition.getTitle()) ? userInfo.getTitle():deptPosition.getTitle()); + positionMap.put("data_id", UUIDUtils.getUUID()); + postList.add(positionMap); + } + mdmMap.put("mdm_dd_user",userMap); + mdmMap.put("mdm_dd_user_position",postList); + //保存到人员主数据 + Map headerMap = MapBuilder.create(true) + .put("apiCode", MDMADDCODE)//中台接口 + .put("publicKey",DDPUBLICKEY)//钉钉应用 + .put("secretKey",DDSECRETKEY)//钉钉应用 + .put("appId",APPCODE)//中台应用 + .build(); + String body = HttpRequest.post(URL).addHeaders(headerMap).body(com.alibaba.fastjson.JSONObject.toJSONString(mdmMap)).timeout(60000).execute().body(); + } + /** * 保存部门到mdm * @param deptRes @@ -203,8 +241,6 @@ public class GenericEventConsumer { JsonResultEntity jsonResult = JSONObject.parseObject(deptRes,JsonResultEntity.class); if (jsonResult.isFlag()){ shade.com.alibaba.fastjson2.JSONObject attribute = (shade.com.alibaba.fastjson2.JSONObject) jsonResult.getAttribute(); - String attrStr = attribute.toString(); - OapiV2DepartmentGetResponse rsp = JSONObject.parseObject(attrStr,OapiV2DepartmentGetResponse.class); String result = attribute.getString("result"); OapiV2DepartmentGetResponse.DeptGetResponse deptInfo = com.alibaba.fastjson.JSONObject.parseObject(result,OapiV2DepartmentGetResponse.DeptGetResponse.class); //OapiV2DepartmentGetResponse.DeptGetResponse deptInfo = dingtalkService.getDeptById(deptIdArr.getLong(i)); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/IDingTalkInitService.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/IDingTalkInitService.java new file mode 100644 index 00000000..e034cb42 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/IDingTalkInitService.java @@ -0,0 +1,23 @@ +package com.hzya.frame.plugin.kjs.service; + +/** + * @Description 钉钉部门、人员初始化 + * @Author xiangerlin + * @Date 2024/9/2 16:24 + **/ +public interface IDingTalkInitService { + /** + * 部门初始化,仅初始化部门 + * 这里只会用一次,所以直接调用钉钉原生接口 + * @return + */ + String deptInit(Long deptId); + + /** + * 部门、人员初始化 + * 这里只会用一次,所以直接调用钉钉原生接口 + * @param deptId 部门id + * @return + */ + String userInit(Long deptId); +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/DeliveryOrderPluginServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/DeliveryOrderPluginServiceImpl.java index 46966526..35d2a2d7 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/DeliveryOrderPluginServiceImpl.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/DeliveryOrderPluginServiceImpl.java @@ -81,12 +81,12 @@ public class DeliveryOrderPluginServiceImpl extends KjsPluginBaseService impleme DeliveryOrderDTO deliveryOrderDTO = DeliveryMapper.INSTANCE.deliveryEntityToDto(order); //发货单表体entity转dto List deliveryDetailList = DeliveryMapper.INSTANCE.deliveryDetailListToDto(detailList); - deliveryOrderDTO.setItesm(deliveryDetailList); + deliveryOrderDTO.setItems(deliveryDetailList); String reqParams = JSONObject.toJSONString(deliveryOrderDTO); logger.info("发货单请求参数:{}",reqParams); //调用wms接口 Map headerMap = MapBuilder.create(true) - .put("apiCode", "8000080006") + .put("apiCode", "8000080008") .put("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj") .put("secretKey","fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=") .put("appId","800008") diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/DingTalkInitServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/DingTalkInitServiceImpl.java new file mode 100644 index 00000000..3114b066 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/DingTalkInitServiceImpl.java @@ -0,0 +1,135 @@ +package com.hzya.frame.plugin.kjs.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.map.MapBuilder; +import cn.hutool.http.HttpRequest; +import com.dingtalk.api.DefaultDingTalkClient; +import com.dingtalk.api.DingTalkClient; +import com.dingtalk.api.request.OapiV2DepartmentListsubRequest; +import com.dingtalk.api.request.OapiV2UserListRequest; +import com.dingtalk.api.response.OapiV2DepartmentGetResponse; +import com.dingtalk.api.response.OapiV2DepartmentListsubResponse; +import com.dingtalk.api.response.OapiV2UserGetResponse; +import com.dingtalk.api.response.OapiV2UserListResponse; +import com.hzya.frame.dingtalk.enums.OrgEventEnum; +import com.hzya.frame.dingtalk.service.IDingTalkService; +import com.hzya.frame.dingtalk.util.DingTalkAccessToken; +import com.hzya.frame.plugin.kjs.service.GenericEventConsumer; +import com.hzya.frame.plugin.kjs.service.IDingTalkInitService; +import com.taobao.api.ApiException; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; + +import java.util.*; + +/** + * @Description 钉钉部门、人员初始化 + * @Author xiangerlin + * @Date 2024/9/2 16:24 + **/ +public class DingTalkInitServiceImpl implements IDingTalkInitService { + @Value("${dingtalk.appKey}") + private String appKey; + @Value("${dingtalk.appSecret}") + private String appSecret; + + @Autowired + private IDingTalkService dingTalkService; + + @Autowired + private GenericEventConsumer commonEventConsumer; + + /** + * 部门初始化,仅初始化部门 + * 这里只会用一次,所以直接调用钉钉原生接口 + * @return + */ + @Override + public String deptInit(Long deptId) { + List deptIdList = new LinkedList<>(); + List deptBaseResponseList = new LinkedList<>(); + recursiveDept(deptId, appKey, appSecret,deptIdList,deptBaseResponseList); + System.out.println(deptIdList.size()); + if (CollectionUtils.isNotEmpty(deptIdList) && deptIdList.size() == deptBaseResponseList.size()){ + for (OapiV2DepartmentListsubResponse.DeptBaseResponse resp : deptBaseResponseList) { + Map mdmMap = new LinkedHashMap<>(); + mdmMap.put("mdmCode",GenericEventConsumer.DDDEPTMDMCODE); + mdmMap.put("optionName","系统管理员"); + Map deptMap = new LinkedHashMap<>(); + deptMap.put("dept_id",resp.getDeptId()); + deptMap.put("data_id",resp.getDeptId()); + deptMap.put("name",resp.getName()); + deptMap.put("parent_id",resp.getParentId()); + mdmMap.put("mdm_dd_dept",deptMap); + //保存部门到主数据 + Map headerMap = MapBuilder.create(true) + .put("apiCode", GenericEventConsumer.MDMADDCODE)//中台接口 + .put("publicKey",GenericEventConsumer.DDPUBLICKEY)//钉钉应用 + .put("secretKey",GenericEventConsumer.DDSECRETKEY)//钉钉应用 + .put("appId",GenericEventConsumer.APPCODE)//中台应用 + .build(); + String body = HttpRequest.post(GenericEventConsumer.URL).addHeaders(headerMap).body(com.alibaba.fastjson.JSONObject.toJSONString(mdmMap)).timeout(60000).execute().body(); + System.out.println(body); + } + } + return null; + } + + private void queryPageUser(OapiV2UserListRequest req,List userList) { + boolean hasMore = true; + do { + hasMore = false; + OapiV2UserListResponse.PageResult pageResult = dingTalkService.getUserListByDeptId(req, appKey, appSecret); + hasMore = pageResult.getHasMore(); + req.setCursor(pageResult.getNextCursor()); + userList.addAll(pageResult.getList()); + }while (hasMore); + } + + /** + * 人员初始化 + * @param deptId 部门id + * @return + */ + @Override + public String userInit(Long deptId) { + List deptIdList = new LinkedList<>(); + List deptBaseResponseList = new LinkedList<>(); + recursiveDept(deptId, appKey, appSecret,deptIdList,deptBaseResponseList); + System.out.println(deptIdList.size()); + if (CollectionUtils.isNotEmpty(deptIdList)){ + for (Long id : deptIdList) { + List userList = new LinkedList<>(); + //查询部门下人员信息 + OapiV2UserListRequest req = new OapiV2UserListRequest(); + req.setDeptId(id); + req.setCursor(0L); + queryPageUser(req,userList); + if (CollectionUtils.isNotEmpty(userList)){ + for (OapiV2UserListResponse.ListUserResponse resp : userList) { + //查询user详情 + OapiV2UserGetResponse.UserGetResponse userGetResponse = dingTalkService.getUserById(resp.getUserid(), appKey, appSecret); + commonEventConsumer.createMdmUser(OrgEventEnum.USER_MODIFY_ORG.getCode(), userGetResponse); + } + } + } + } + return null; + } + + private void recursiveDept(Long deptId,String appKey,String appSecret,List deptIdList,List deptBaseResponseList){ + if (deptId.longValue() != 1L){ + deptIdList.add(deptId); + } + //1、查询部门档案 + List deptList = dingTalkService.getDeptList(deptId, appKey, appSecret); + if (CollectionUtils.isNotEmpty(deptList)){ + for (OapiV2DepartmentListsubResponse.DeptBaseResponse deptBaseResponse : deptList) { + System.out.println(deptBaseResponse.getName()); + deptBaseResponseList.add(deptBaseResponse); + recursiveDept(deptBaseResponse.getDeptId(),appKey,appSecret,deptIdList,deptBaseResponseList); + } + } + } +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/KjsPluginBaseService.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/KjsPluginBaseService.java index b11f8b4d..6e8838d5 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/KjsPluginBaseService.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/KjsPluginBaseService.java @@ -51,6 +51,7 @@ public class KjsPluginBaseService { taskLivingDetailsService.saveLogToFail(taskLivingDetail); } }else { + taskLivingDetail.setId(integration_task_living_details_id); if (flag){ //如果是重试 成功调这个方法 taskLivingDetailsService.saveLogFailToSuccess(taskLivingDetail); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/MomOrderPluginServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/MomOrderPluginServiceImpl.java index 96173f22..551ed236 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/MomOrderPluginServiceImpl.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/service/impl/MomOrderPluginServiceImpl.java @@ -75,17 +75,21 @@ public class MomOrderPluginServiceImpl extends KjsPluginBaseService implements I //查询生产订单明细表 MomOrderDetailEntity detailEntity = new MomOrderDetailEntity(); detailEntity.setMoId(order.getMoId()); + if (StrUtil.isEmpty(id)){ + detailEntity.setStartTime(startTime); + detailEntity.setEndTime(endTime); + } detailEntity.setDataSourceCode(datasourceCode); List detailList = momOrderDetailService.query(detailEntity); //表头转换dto MomOrderDTO momOrderDTO = MomOrderMapper.INSTANCE.momOrderEntityToDto(order); //表体转换dto List momOrderDetailList = MomOrderMapper.INSTANCE.momOrderDetailListToDto(detailList); - momOrderDTO.setItesm(momOrderDetailList); + momOrderDTO.setItems(momOrderDetailList); String reqParam = JSONObject.toJSONString(momOrderDTO); - logger.info("u8生产订单传wms请求参数:{}",reqParam); + logger.info("u8生产订单传wms请求参数:{}",reqParam); Map headerMap = MapBuilder.create(true) - .put("apiCode", "8000080006") + .put("apiCode", "8000080007") .put("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj") .put("secretKey","fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=") .put("appId","800008") diff --git a/buildpackage/src/main/resources/application-local.yml b/buildpackage/src/main/resources/application-local.yml index 66d151f2..e5e51b41 100644 --- a/buildpackage/src/main/resources/application-local.yml +++ b/buildpackage/src/main/resources/application-local.yml @@ -5,19 +5,22 @@ logging: root: info encodings: UTF-8 file: -# 日志保存路径 - path: /Users/apple/Desktop/log/local + # 日志保存路径 + path: /Users/xiangerlin/work/app/logs/kjs spring: datasource: dynamic: datasource: master: - url: jdbc:mysql://ufidahz.com.cn:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true + url: jdbc:mysql://ufidahz.com.cn:9014/businesscenter_kjs?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true username: root password: 62e4295b615a30dbf3b8ee96f41c820b driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 savefile: - # 文件保存路径 - path: /Users/apple/Desktop/log/local -zt: - url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface + # 文件保存路径 + path: /Users/xiangerlin/work/app/file/kjs +dingtalk: + appKey: dingq3vbsswvyujiuwa7 + appSecret: m4IRNcKQn-W9QBLERHWt0iW2hSirvxPS684xiNw-4QFMNg2gsBCur9T4QMvvAR4I + appId: dd39187a-079a-466c-b4b7-9ef3172e9e61 + agentId: 3209295620 appkey:dingbltm9wszcl7hoxyg diff --git a/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-plugin.xml index 7ad2d02d..efc98922 100644 --- a/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-plugin.xml +++ b/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-plugin.xml @@ -3,4 +3,5 @@ + diff --git a/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-service.xml b/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-service.xml index 593acd90..6d335085 100644 --- a/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-service.xml +++ b/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-service.xml @@ -5,4 +5,5 @@ + diff --git a/buildpackage/src/test/java/com/hzya/frame/temButtom.java b/buildpackage/src/test/java/com/hzya/frame/temButtom.java index 0285be5d..50952163 100644 --- a/buildpackage/src/test/java/com/hzya/frame/temButtom.java +++ b/buildpackage/src/test/java/com/hzya/frame/temButtom.java @@ -15,6 +15,7 @@ import com.hzya.frame.cbs8.util.CbsAccessToken; import com.hzya.frame.plugin.cbs8.plugin.PayApplyPluginInitializer; import com.hzya.frame.plugin.cbs8.plugin.PayResultPluginInitializer; import com.hzya.frame.plugin.cbs8.plugin.TransactionDetailPluginInitializer; +import com.hzya.frame.plugin.kjs.service.IDingTalkInitService; import com.hzya.frame.plugin.seeyonExt.plugin.SeeyonExtPluginInitializer; import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity; import com.hzya.frame.seeyon.cbs8.service.IPaymentService; @@ -65,7 +66,14 @@ public class temButtom { private TransactionDetailPluginInitializer transactionDetailPluginInitializer; @Autowired private PayResultPluginInitializer payResultPluginInitializer; + @Autowired + private IDingTalkInitService dingTalkInitService; + + @Test + public void dingTest(){ + String s = dingTalkInitService.deptInit(1L); + } @Test public void cbs8PluginTest(){ try { diff --git a/common/src/main/java/com/hzya/frame/util/GroovyUtil.java b/common/src/main/java/com/hzya/frame/util/GroovyUtil.java index eec3019b..52fd2804 100644 --- a/common/src/main/java/com/hzya/frame/util/GroovyUtil.java +++ b/common/src/main/java/com/hzya/frame/util/GroovyUtil.java @@ -52,6 +52,7 @@ public class GroovyUtil { throw new BaseSystemException(e); } Object returnObj = groovyObject.invokeMethod("execute",parameterJson); + logger.info("脚本参数:{}",parameterJson); logger.info("执行脚本结束:"+returnObj); return returnObj; } diff --git a/service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkService.java b/service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkService.java index 1124a11c..8429bc1c 100644 --- a/service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkService.java +++ b/service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkService.java @@ -1,7 +1,12 @@ package com.hzya.frame.dingtalk.service; +import com.dingtalk.api.request.OapiV2UserListRequest; import com.dingtalk.api.response.OapiV2DepartmentGetResponse; +import com.dingtalk.api.response.OapiV2DepartmentListsubResponse; import com.dingtalk.api.response.OapiV2UserGetResponse; +import com.dingtalk.api.response.OapiV2UserListResponse; + +import java.util.List; /** * @Description 钉钉service @@ -26,6 +31,14 @@ public interface IDingTalkService { */ OapiV2UserGetResponse.UserGetResponse getUserById(String userId); + /** + * 获取部门用户列表 + * @param req 请求参数 + * @param appKey + * @param appSecret + * @return + */ + OapiV2UserListResponse.PageResult getUserListByDeptId(OapiV2UserListRequest req, String appKey, String appSecret); /** * 根据部门id获取部门详情 * @param deptId 钉钉部门id @@ -41,4 +54,13 @@ public interface IDingTalkService { * @return */ OapiV2DepartmentGetResponse.DeptGetResponse getDeptById(Long deptId); + + /** + * 获取部门列表,此接口只会返回下一级部门信息 + * @param deptId 部门id,如果不传则查询一级部门 + * @param appKey + * @param appSecret + * @return + */ + List getDeptList(Long deptId,String appKey,String appSecret); } diff --git a/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java b/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java index 61dc97fa..dd0267f8 100644 --- a/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java @@ -28,7 +28,7 @@ import java.util.stream.Stream; * @Author xiangerlin * @Date 2024/8/28 14:25 **/ -@Service +@Service(value = "dingTalkExtService") public class DingTalkExtServiceImpl implements IDingTalkExtService { diff --git a/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkServiceImpl.java b/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkServiceImpl.java index 3c2be4c4..8e74ae9d 100644 --- a/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkServiceImpl.java @@ -4,9 +4,13 @@ import com.alibaba.fastjson.JSONObject; import com.dingtalk.api.DefaultDingTalkClient; import com.dingtalk.api.DingTalkClient; import com.dingtalk.api.request.OapiV2DepartmentGetRequest; +import com.dingtalk.api.request.OapiV2DepartmentListsubRequest; import com.dingtalk.api.request.OapiV2UserGetRequest; +import com.dingtalk.api.request.OapiV2UserListRequest; import com.dingtalk.api.response.OapiV2DepartmentGetResponse; +import com.dingtalk.api.response.OapiV2DepartmentListsubResponse; import com.dingtalk.api.response.OapiV2UserGetResponse; +import com.dingtalk.api.response.OapiV2UserListResponse; import com.hzya.frame.dingtalk.service.IDingTalkService; import com.hzya.frame.dingtalk.util.DingTalkAccessToken; import org.slf4j.Logger; @@ -14,12 +18,14 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.util.List; + /** * @Description 钉钉service * @Author xiangerlin * @Date 2024/8/27 16:17 **/ -@Service +@Service(value = "dingTalkService") public class DingTalkServiceImpl implements IDingTalkService { Logger logger = LoggerFactory.getLogger(getClass()); @Value("${dingtalk.appKey:}") @@ -67,6 +73,30 @@ public class DingTalkServiceImpl implements IDingTalkService { return getUserById(userId,dAppKey,dAppSecret); } + /** + * 获取部门用户列表 + * + * @param req 请求参数 + * @param appKey + * @param appSecret + * @return + */ + @Override + public OapiV2UserListResponse.PageResult getUserListByDeptId(OapiV2UserListRequest req, String appKey, String appSecret) { + try { + DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/list"); + req.setSize(100L);//每页最大只能查100条 + req.setOrderField("modify_desc"); + req.setContainAccessLimit(false); + req.setLanguage("zh_CN"); + OapiV2UserListResponse rsp = client.execute(req, DingTalkAccessToken.getAccessToken(appKey,appSecret)); + OapiV2UserListResponse.PageResult result = rsp.getResult(); + return result; + }catch (Exception e){ + e.printStackTrace(); + } + return null; + } /** * 根据部门id获取部门详情 @@ -107,4 +137,28 @@ public class DingTalkServiceImpl implements IDingTalkService { return getDeptById(deptId,dAppKey,dAppSecret); } + /** + * 获取部门列表,此接口只会返回下一级部门信息 + * @param deptId 部门id,如果不传则查询一级部门 + * @param appKey + * @param appSecret + * @return + */ + @Override + public List getDeptList(Long deptId,String appKey,String appSecret) { + try { + DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/listsub"); + OapiV2DepartmentListsubRequest req = new OapiV2DepartmentListsubRequest(); + req.setDeptId(deptId); + req.setLanguage("zh_CN"); + OapiV2DepartmentListsubResponse rsp = client.execute(req, DingTalkAccessToken.getAccessToken(appKey,appSecret)); + if (rsp.isSuccess()){ + List result = rsp.getResult(); + return result; + } + }catch (Exception e){ + logger.error("获取部门列表接口出错:{}",e); + } + return null; + } } diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml b/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml index 3350ccbd..6825b8d2 100644 --- a/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml @@ -345,7 +345,7 @@ where id = #{id} `sts` varchar(1) DEFAULT NULL COMMENT '状态(Y正常N删除)', `org_id` varchar(50) DEFAULT NULL COMMENT '组织机构ID', `company_id` varchar(50) DEFAULT NULL COMMENT '公司id', - `data_id` varchar(100) DEFAULT NULL COMMENT 'data_id', + `data_id` varchar(100) DEFAULT NULL COMMENT 'data_id' `id` varchar(50) NOT NULL COMMENT '唯一标识码', diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java index 117880b0..f839be52 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java @@ -6,11 +6,11 @@ import java.util.List; import java.util.Map; /** - * + * * @content 通用数据实体类 - * @Param - * @Return - * @Author hecan + * @Param + * @Return + * @Author hecan * @Date 2024/5/7 15:50 * **/ public class ComparisonEntity extends BaseEntity { @@ -52,6 +52,27 @@ public class ComparisonEntity extends BaseEntity { private List fields; private List returnField; + /** 显示类型 1、树2、列表*/ + private String viewName; + //下级结构树 + private List comparisonEntities; + + public List getComparisonEntities() { + return comparisonEntities; + } + + public void setComparisonEntities(List comparisonEntities) { + this.comparisonEntities = comparisonEntities; + } + + public String getViewName() { + return viewName; + } + + public void setViewName(String viewName) { + this.viewName = viewName; + } + public List getReturnField() { return returnField; } diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml index c1f5d334..23d379ca 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml @@ -35,7 +35,7 @@ from ${dbName} a - and ${key} like concat('%',#{value},'%') + and ${key} = #{value} and sts='Y' and (data_status='Y' or data_status='F') diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/masterData/service/impl/MasterDataServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/comparison/masterData/service/impl/MasterDataServiceImpl.java index c25994c7..26b76749 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/masterData/service/impl/MasterDataServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/masterData/service/impl/MasterDataServiceImpl.java @@ -407,8 +407,8 @@ public class MasterDataServiceImpl extends BaseService public SysExtensionApiEntity sign(SysExtensionApiEntity entity) { long timestamp = System.currentTimeMillis(); Map headers = entity.getHeaders(); - String publicKey = "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"; - String secretKey = "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="; + String publicKey = "ZJYADDkrTSpTOC"; + String secretKey = "mbDdHdv7dwaR"; headers.put("publicKey",publicKey); headers.put("secretKey",secretKey); headers.put("timestamp",String.valueOf(timestamp)); diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java index 229c0758..a1e60887 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java @@ -1,15 +1,17 @@ package com.hzya.frame.sysnew.comparison.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.baomidou.dynamic.datasource.annotation.DS; import com.github.pagehelper.PageInfo; import com.hzya.frame.basedao.service.impl.BaseService; import com.hzya.frame.mdm.mdmModule.dao.IMdmModuleDao; import com.hzya.frame.mdm.mdmModule.entity.MdmModuleEntity; import com.hzya.frame.mdm.mdmModuleDb.entity.MdmModuleDbEntity; import com.hzya.frame.mdm.mdmModuleDbFileds.entity.MdmModuleDbFiledsEntity; +import com.hzya.frame.mdm.mdmModuleView.dao.IMdmModuleViewDao; +import com.hzya.frame.mdm.mdmModuleView.entity.MdmModuleViewEntity; import com.hzya.frame.mdm.service.impl.MdmServiceCache; import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; @@ -20,15 +22,10 @@ import com.hzya.frame.sysnew.comparison.entity.ComparisonDetailsEntity; import com.hzya.frame.sysnew.comparison.entity.ComparisonEntity; import com.hzya.frame.sysnew.comparison.service.IComparisonService; import com.hzya.frame.uuid.UUIDLong; -import com.hzya.frame.uuid.UUIDUtils; -import com.hzya.frame.web.entity.BaseEntity; import com.hzya.frame.web.entity.BaseResult; -import com.hzya.frame.web.entity.JsonResultEntity; import org.apache.commons.collections.CollectionUtils; -import org.apache.ivy.Main; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import sun.java2d.pipe.AAShapePipe; import java.util.*; import java.util.stream.Collectors; @@ -49,6 +46,9 @@ public class ComparisonServiceImpl extends BaseService @Autowired private MdmServiceCache mdmServiceCache; + @Autowired + private IMdmModuleViewDao mdmModuleViewDao; + @Autowired public void setGeneralDataDao(IComparisonDao dao) { this.comparisonDao = dao; @@ -105,6 +105,12 @@ public class ComparisonServiceImpl extends BaseService comparisonEntity.setFields(fields); //查询主表数据 List> comparisonEntitiePages = comparisonDao.queryComparisonPage(comparisonEntity); + + //递归查询组织树 + if(map.get("viewName").equals("1")){ + return recursiveQueryComparison(comparisonEntitiePages,comparisonEntity); + } + if(CollectionUtils.isNotEmpty(comparisonEntitiePages)){ for (Map comparisonEntitiePage : comparisonEntitiePages) { JSONObject jsonObjects=new JSONObject(); @@ -150,21 +156,21 @@ public class ComparisonServiceImpl extends BaseService } ComparisonEntity comparisonEntity = jsonObject.toJavaObject(ComparisonEntity.class); ComparisonDetailsEntity comparisonDetailsEntity=new ComparisonDetailsEntity(); - List comparisonEntities=new ArrayList<>(); + List comparisonEntities=new ArrayList<>(); String uuid= String.valueOf(UUIDLong.longUUID()); - try { - //根据主数据编码查询表名称,字段名称等信息 10001 - // comparisonEntities = comparisonDao.queryComparison(comparisonEntity); + try { + //根据主数据编码查询表名称,字段名称等信息 10001 + // comparisonEntities = comparisonDao.queryComparison(comparisonEntity); - //comparisonEntities=getComparisonEntity(comparisonEntity); - comparisonEntities=getComparisonEntityCache(comparisonEntity,"main"); - }catch (Exception e){ - logger.info("根据主数据编码查询信息错误:{}",e.getMessage()); - return BaseResult.getFailureMessageEntity("保存失败"); - } - JSONObject jsonObjectMain=new JSONObject(); - JSONArray jsonArray=new JSONArray(); - List arrayList=new ArrayList<>(); + //comparisonEntities=getComparisonEntity(comparisonEntity); + comparisonEntities=getComparisonEntityCache(comparisonEntity,"main"); + }catch (Exception e){ + logger.info("根据主数据编码查询信息错误:{}",e.getMessage()); + return BaseResult.getFailureMessageEntity("保存失败"); + } + JSONObject jsonObjectMain=new JSONObject(); + JSONArray jsonArray=new JSONArray(); + List arrayList=new ArrayList<>(); String tableName=null; //根据dbtype和dbname分组,拿到表名称和表类型 @@ -176,192 +182,213 @@ public class ComparisonServiceImpl extends BaseService // keyPairs 得值为键值对,键是表名称,值是类型,避免多个子表得键一样,比如:mdm_customer:1,mdm_customer_bank:2,mdm_customer_option_log:2 for (Map.Entry keyPair : keyPairs) { //如果是1,就是主表,根据查询出来得主表是否是传输传递得主表 - if(keyPair.getValue().equals("1")){ - String main = jsonObject.getString(keyPair.getKey()); - tableName=keyPair.getKey(); - if(main!=null){ - jsonObjectMain = JSONObject.parseObject(main); - if(!checkStr(jsonObjectMain.getString("data_id"))){ - //保存操作日志 - controlsLogDaoimpl.saveControlsLog(uuid,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),tableName+"_option_log","2"); - return BaseResult.getFailureMessageEntity("新增时候主表data_id不能为空"); - } - } - } + if(keyPair.getValue().equals("1")){ + String main = jsonObject.getString(keyPair.getKey()); + tableName=keyPair.getKey(); + if(main!=null){ + jsonObjectMain = JSONObject.parseObject(main); + if(!checkStr(jsonObjectMain.getString("data_id"))){ + //保存操作日志 + controlsLogDaoimpl.saveControlsLog(uuid,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),tableName+"_option_log","2"); + return BaseResult.getFailureMessageEntity("新增时候主表data_id不能为空"); + } + } + } //如果是2,就是明细表,根据查询出来得子表是否是传输传递得子表 - if(keyPair.getValue().equals("2")){ - jsonArray= jsonObject.getJSONArray(keyPair.getKey()); - if(jsonArray!= null) { - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject jsonObjectDetails = jsonArray.getJSONObject(i); - jsonObjectDetails.put("table_name", keyPair.getKey()); - if(!checkStr(jsonObjectDetails.getString("data_id"))){ - //保存操作日志 - controlsLogDaoimpl.saveControlsLog(uuid,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),tableName+"_option_log","2"); - return BaseResult.getFailureMessageEntity("新增时候明细data_id不能为空"); - } - } - arrayList.add(jsonArray); - } - } + if(keyPair.getValue().equals("2")){ + jsonArray= jsonObject.getJSONArray(keyPair.getKey()); + if(jsonArray!= null) { + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObjectDetails = jsonArray.getJSONObject(i); + jsonObjectDetails.put("table_name", keyPair.getKey()); + if(!checkStr(jsonObjectDetails.getString("data_id"))){ + //保存操作日志 + controlsLogDaoimpl.saveControlsLog(uuid,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),tableName+"_option_log","2"); + return BaseResult.getFailureMessageEntity("新增时候明细data_id不能为空"); + } + } + arrayList.add(jsonArray); + } + } } if(jsonObjectMain!=null && jsonObjectMain.size()>0) { - Map map = new HashMap<>();//将主表数据存到map中 - List>> mapDetails = new ArrayList<>();//将子表数据存到map中 - if (comparisonEntities != null && comparisonEntities.size() > 0) { - map = spliceMainMap(comparisonEntities, jsonObjectMain, map, comparisonEntity, comparisonDetailsEntity); + Map map = new HashMap<>();//将主表数据存到map中 + List>> mapDetails = new ArrayList<>();//将子表数据存到map中 + if (comparisonEntities != null && comparisonEntities.size() > 0) { + map = spliceMainMap(comparisonEntities, jsonObjectMain, map, comparisonEntity, comparisonDetailsEntity); - //根据data_id判断数据是否已经保存在相关表中,避免重复保存 - List fields = getFields(comparisonEntity); - Map mapDataId = new HashMap<>(); - mapDataId.put("data_id", jsonObjectMain.getString("data_id")); - ComparisonEntity comparisonDataId = new ComparisonEntity(); - comparisonDataId.setMap(mapDataId); - comparisonDataId.setDbName(comparisonEntity.getDbName()); - comparisonDataId.setFields(fields); - List> listDataId = comparisonDao.queryComparisonPage(comparisonDataId); - if (CollectionUtils.isNotEmpty(listDataId)) { - //return BaseResult.getFailureMessageEntity(comparisonEntity.getDbName()+"表中已经存在data_id为:"+jsonObjectMain.getString("data_id")+"的数据"); - return updateEntity(json); - } else { - //判断输入的主表字段是否是必填项 - for (ComparisonEntity entity : comparisonEntities) { - //如果必填字段不为空 - if (entity.getRuleValue() != null && entity.getDbType().equals("1")) { - //如果值为空,说明没有传这个字段或者这个字段的值为空 - if (jsonObjectMain.getString(entity.getEnName()) == null || jsonObjectMain.getString(entity.getEnName()).equals("")) { - //保存操作日志 - controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "2"); - return BaseResult.getFailureMessageEntity(entity.getDbName() + "表的" + entity.getEnName() + "字段不能为空"); - } - } - } + //根据data_id判断数据是否已经保存在相关表中,避免重复保存 + List fields = getFields(comparisonEntity); + Map mapDataId = new HashMap<>(); + mapDataId.put("data_id", jsonObjectMain.getString("data_id")); + ComparisonEntity comparisonDataId = new ComparisonEntity(); + comparisonDataId.setMap(mapDataId); + comparisonDataId.setDbName(comparisonEntity.getDbName()); + comparisonDataId.setFields(fields); + List> listDataId = comparisonDao.queryComparisonPage(comparisonDataId); + if (CollectionUtils.isNotEmpty(listDataId)) { + //return BaseResult.getFailureMessageEntity(comparisonEntity.getDbName()+"表中已经存在data_id为:"+jsonObjectMain.getString("data_id")+"的数据"); + return updateEntity(json); + } else { - map.put("id", uuid); - map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - map.put("org_id", "0"); - map.put("create_time", new Date()); - map.put("modify_time", new Date()); - map.put("sts", "Y"); - map.put("data_status", "Y");//新增状态 - map.put("add_status", "0");//新增状态 - map.put("update_status", "1");//修改状态 - map.put("delete_status", "1");//删除状态 - ComparisonEntity comparisonEntityRule = comparisonEntities.get(0); - //查询单据规则 只查询主表得,明细表不用 - try { - ComparisonEntity comparisonEntityRules = comparisonDao.queryComparisonById(comparisonEntityRule); - String documentRule = comparisonEntityRules.getDocumentRule();//"KH-2024-05-30-1"; - logger.info("通用数据保存接口中根据mId查询出来的单据规则为:{}", documentRule); - if (documentRule != null) { - //获取规则前缀 CK - String rulePrefix = documentRule.substring(0, documentRule.indexOf("-")); - //获取规则中间日期 yyyy-MM-dd - String ruleDate = documentRule.substring(documentRule.indexOf("-") + 1, documentRule.lastIndexOf("-")); - String ruleMiddle = getRuleDate(ruleDate); - //获取规则后缀 - String ruleSuffixLength = documentRule.substring(documentRule.lastIndexOf("-") + 1); - int ruleSuffix = ruleSuffixLength.length(); - //生成单据规则 - comparisonEntityRule.setRulePrefix(rulePrefix); - comparisonEntityRule.setRuleMiddle(ruleMiddle); - comparisonEntityRule.setRuleSuffix(ruleSuffix); - try { - //新生成单据规则保存到数据库 - ComparisonEntity comparisonEntityRuleGz = comparisonDao.queryComparisonRule(comparisonEntityRule); - map.put("document_rule", comparisonEntityRuleGz.getDocumentRule());//单据规则 - map.put("document_rule_num", comparisonEntityRuleGz.getDocumentRuleNum());//单据规则流水号 - comparisonEntityRule.setMap(map); - } catch (Exception e) { - logger.info("保存通用数据时候生成单据规则错误:{}", e.getMessage()); - //保存操作日志 - controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "2"); + //如果是树形结构,查询不存在,新增时候需要得到parent_id,根据parent_id查询data_id是否有,之后将查询得父id设置到mdm_up_id中 + if(comparisonEntities.get(0).getViewName().equals("1")){ + List fieldParent = getFields(comparisonEntity); + Map mapParentId = new HashMap<>(); + mapDataId.put("data_id", jsonObjectMain.getString("parent_id")); + ComparisonEntity comparisonParentId = new ComparisonEntity(); + comparisonParentId.setMap(mapParentId); + comparisonParentId.setDbName(comparisonEntity.getDbName()); + comparisonParentId.setFields(fieldParent); + List> listParentId = comparisonDao.queryComparisonPage(comparisonDataId); + //如果根据parentid查询数据不为空,将dataid为parenti得id值设置到mdm_up_id中 + if(CollectionUtils.isNotEmpty(listParentId)){ + if(null != listParentId.get(0).get("mdm_up_id")){ + map.put("mdm_up_id",listParentId.get(0).get("mdm_up_id")+","+listParentId.get(0).get("id")); + }else{ + map.put("mdm_up_id",listParentId.get(0).get("id")); + } + } + } - return BaseResult.getFailureMessageEntity("保存失败"); - } - } - } catch (Exception e) { - logger.info("通用数据保存接口中查询单据规则错误:{}", e.getMessage()); - //保存操作日志 - controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "2"); + //判断输入的主表字段是否是必填项 + for (ComparisonEntity entity : comparisonEntities) { + //如果必填字段不为空 + if (entity.getRuleValue() != null && entity.getDbType().equals("1")) { + //如果值为空,说明没有传这个字段或者这个字段的值为空 + if (jsonObjectMain.getString(entity.getEnName()) == null || jsonObjectMain.getString(entity.getEnName()).equals("")) { + //保存操作日志 + controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "2"); + return BaseResult.getFailureMessageEntity(entity.getDbName() + "表的" + entity.getEnName() + "字段不能为空"); + } + } + } - return BaseResult.getFailureMessageEntity("保存失败"); - } - try { - List list = new ArrayList<>(); - JSONObject jsonObjectList = new JSONObject(); + map.put("id", uuid); + map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + map.put("org_id", "0"); + map.put("create_time", new Date()); + map.put("modify_time", new Date()); + map.put("sts", "Y"); + map.put("data_status", "Y");//新增状态 + map.put("add_status", "0");//新增状态 + map.put("update_status", "1");//修改状态 + map.put("delete_status", "1");//删除状态 + ComparisonEntity comparisonEntityRule = comparisonEntities.get(0); + //查询单据规则 只查询主表得,明细表不用 + try { + ComparisonEntity comparisonEntityRules = comparisonDao.queryComparisonById(comparisonEntityRule); + String documentRule = comparisonEntityRules.getDocumentRule();//"KH-2024-05-30-1"; + logger.info("通用数据保存接口中根据mId查询出来的单据规则为:{}", documentRule); + if (documentRule != null) { + //获取规则前缀 CK + String rulePrefix = documentRule.substring(0, documentRule.indexOf("-")); + //获取规则中间日期 yyyy-MM-dd + String ruleDate = documentRule.substring(documentRule.indexOf("-") + 1, documentRule.lastIndexOf("-")); + String ruleMiddle = getRuleDate(ruleDate); + //获取规则后缀 + String ruleSuffixLength = documentRule.substring(documentRule.lastIndexOf("-") + 1); + int ruleSuffix = ruleSuffixLength.length(); + //生成单据规则 + comparisonEntityRule.setRulePrefix(rulePrefix); + comparisonEntityRule.setRuleMiddle(ruleMiddle); + comparisonEntityRule.setRuleSuffix(ruleSuffix); + try { + //新生成单据规则保存到数据库 + ComparisonEntity comparisonEntityRuleGz = comparisonDao.queryComparisonRule(comparisonEntityRule); + map.put("document_rule", comparisonEntityRuleGz.getDocumentRule());//单据规则 + map.put("document_rule_num", comparisonEntityRuleGz.getDocumentRuleNum());//单据规则流水号 + comparisonEntityRule.setMap(map); + } catch (Exception e) { + logger.info("保存通用数据时候生成单据规则错误:{}", e.getMessage()); + //保存操作日志 + controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "2"); - //判断明细表字段是否是必填项 - if (arrayList != null && arrayList.size() > 0) { - for (JSONArray jsonArrayDetails : arrayList) { - for (Object object : jsonArrayDetails) { - JSONObject jsonObjectDetails = (JSONObject) JSON.toJSON(object); - for (ComparisonEntity entity : comparisonEntities) { - if (entity.getRuleValue() != null && entity.getDbType().equals("2")) { - //如果值为空,说明没有传这个字段或者这个字段的值为空 - if (jsonObjectDetails.getString(entity.getEnName()) == null || jsonObjectDetails.getString(entity.getEnName()).equals("")) { - //保存操作日志 - controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "2"); - return BaseResult.getFailureMessageEntity(entity.getDbName() + "表的" + entity.getEnName() + "字段不能为空"); - } - } - } - } - } - } + return BaseResult.getFailureMessageEntity("保存失败"); + } + } + } catch (Exception e) { + logger.info("通用数据保存接口中查询单据规则错误:{}", e.getMessage()); + //保存操作日志 + controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "2"); - //保存主表数据 - ComparisonEntity comparisonEntityOne = comparisonDao.saveComparison(comparisonEntityRule); - jsonObjectList.put(comparisonEntityOne.getDbName(), map); - //保存子表数据 - if (arrayList != null && arrayList.size() > 0) { - mapDetails = spliceDetailMap(comparisonEntities, mapDetails, arrayList); - if (mapDetails.size() > 0 && mapDetails != null) { - for (List> mapDetail : mapDetails) { - for (Map stringObjectMap : mapDetail) { - stringObjectMap.put("id", UUIDLong.longUUID()); - stringObjectMap.put("formmain_id", uuid); - stringObjectMap.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - stringObjectMap.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); - stringObjectMap.put("org_id", "0"); - stringObjectMap.put("create_time", new Date()); - stringObjectMap.put("modify_time", new Date()); - stringObjectMap.put("sts", "Y"); - stringObjectMap.put("data_status", "Y");//新增状态 - comparisonDetailsEntity.setMapDetails(stringObjectMap); - comparisonDetailsEntity.setDbName(String.valueOf(stringObjectMap.get("table_name"))); - stringObjectMap.remove("table_name"); - ComparisonDetailsEntity comparisonDetailsEntityOne = comparisonDetailsDao.saveComparisonDetails(comparisonDetailsEntity); - comparisonEntityOne.setComparisonDetailsEntity(comparisonDetailsEntityOne); - //保存操作日志 - //controlsLogDaoimpl.saveControlsLog(uuidDetail,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log"); - } - } - jsonObjectList.put(comparisonDetailsEntity.getDbName(), mapDetails); - } - } else { - jsonObjectList.put(comparisonDetailsEntity.getDbName(), new ArrayList<>()); - } - jsonObjectList.remove(null); - list.add(jsonObjectList); - //保存操作日志 - controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "1"); - JSONObject json1 = new JSONObject(); - json1.put("status", "200"); - json1.put("list", list); - return json1; - } catch (Exception e) { - logger.info("保存通用数据时候错误:{}", e.getMessage()); - //保存操作日志 - controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "2"); + return BaseResult.getFailureMessageEntity("保存失败"); + } + try { + List list = new ArrayList<>(); + JSONObject jsonObjectList = new JSONObject(); - return BaseResult.getFailureMessageEntity("保存失败"); - } - } - } - } - return BaseResult.getFailureMessageEntity("查询失败","请检查传递参数"); + //判断明细表字段是否是必填项 + if (arrayList != null && arrayList.size() > 0) { + for (JSONArray jsonArrayDetails : arrayList) { + for (Object object : jsonArrayDetails) { + JSONObject jsonObjectDetails = (JSONObject) JSON.toJSON(object); + for (ComparisonEntity entity : comparisonEntities) { + if (entity.getRuleValue() != null && entity.getDbType().equals("2")) { + //如果值为空,说明没有传这个字段或者这个字段的值为空 + if (jsonObjectDetails.getString(entity.getEnName()) == null || jsonObjectDetails.getString(entity.getEnName()).equals("")) { + //保存操作日志 + controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "2"); + return BaseResult.getFailureMessageEntity(entity.getDbName() + "表的" + entity.getEnName() + "字段不能为空"); + } + } + } + } + } + } + + //保存主表数据 + ComparisonEntity comparisonEntityOne = comparisonDao.saveComparison(comparisonEntityRule); + jsonObjectList.put(comparisonEntityOne.getDbName(), map); + //保存子表数据 + if (arrayList != null && arrayList.size() > 0) { + mapDetails = spliceDetailMap(comparisonEntities, mapDetails, arrayList); + if (mapDetails.size() > 0 && mapDetails != null) { + for (List> mapDetail : mapDetails) { + for (Map stringObjectMap : mapDetail) { + stringObjectMap.put("id", UUIDLong.longUUID()); + stringObjectMap.put("formmain_id", uuid); + stringObjectMap.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + stringObjectMap.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + stringObjectMap.put("org_id", "0"); + stringObjectMap.put("create_time", new Date()); + stringObjectMap.put("modify_time", new Date()); + stringObjectMap.put("sts", "Y"); + stringObjectMap.put("data_status", "Y");//新增状态 + comparisonDetailsEntity.setMapDetails(stringObjectMap); + comparisonDetailsEntity.setDbName(String.valueOf(stringObjectMap.get("table_name"))); + stringObjectMap.remove("table_name"); + ComparisonDetailsEntity comparisonDetailsEntityOne = comparisonDetailsDao.saveComparisonDetails(comparisonDetailsEntity); + comparisonEntityOne.setComparisonDetailsEntity(comparisonDetailsEntityOne); + //保存操作日志 + //controlsLogDaoimpl.saveControlsLog(uuidDetail,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log"); + } + } + jsonObjectList.put(comparisonDetailsEntity.getDbName(), mapDetails); + } + } else { + jsonObjectList.put(comparisonDetailsEntity.getDbName(), new ArrayList<>()); + } + jsonObjectList.remove(null); + list.add(jsonObjectList); + //保存操作日志 + controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "1"); + JSONObject json1 = new JSONObject(); + json1.put("status", "200"); + json1.put("list", list); + return json1; + } catch (Exception e) { + logger.info("保存通用数据时候错误:{}", e.getMessage()); + //保存操作日志 + controlsLogDaoimpl.saveControlsLog(uuid, jsonObject.getString("appName"), jsonObject.getString("appCode"), jsonObject.toJSONString(), "接口新增", jsonObject.getString("optionName"), tableName + "_option_log", "2"); + + return BaseResult.getFailureMessageEntity("保存失败"); + } + } + } + } + return BaseResult.getFailureMessageEntity("保存失败","请检查传递参数"); } //更新通用数据数据 @@ -382,7 +409,7 @@ public class ComparisonServiceImpl extends BaseService List comparisonEntities=new ArrayList<>(); //根据主数据编码查询表名称,字段名称等信息 10001 try { - // comparisonEntities = comparisonDao.queryComparison(comparisonEntity); + // comparisonEntities = comparisonDao.queryComparison(comparisonEntity); //comparisonEntities=getComparisonEntity(comparisonEntity); comparisonEntities=getComparisonEntityCache(comparisonEntity,"main"); @@ -440,6 +467,26 @@ public class ComparisonServiceImpl extends BaseService if(CollectionUtils.isEmpty(comparisonEntitiePages)){ return BaseResult.getFailureMessageEntity("根据data_id查询id数据为空,请检查data_id"); } + + //判断是否是树形结构 + if(comparisonEntities.get(0).getViewName().equals("1")){ + //根据data_id查询出parent_id,再根据parent_id得值查询data_id字段中为这个得值,如果有,将data_id为parent_id得id值保存到mdm_up_id中 + Map mapParent=new HashMap<>(); + mapParent.put("data_id",comparisonEntitiePages.get(0).get("parent_id")); + ComparisonEntity comparisonParent=new ComparisonEntity(); + comparisonParent.setDbName(comparisonEntity.getDbName()); + comparisonParent.setMap(mapParent); + comparisonParent.setFields(fields); + List> comparisonEntitieParent = comparisonDao.queryComparisonPage(comparisonParent); + if(!CollectionUtils.isEmpty(comparisonEntitieParent)){ + if(null != comparisonEntitieParent.get(0).get("mdm_up_id")){ + map.put("mdm_up_id",comparisonEntitieParent.get(0).get("mdm_up_id")+","+comparisonEntitieParent.get(0).get("id")); + }else{ + map.put("mdm_up_id",comparisonEntitieParent.get(0).get("id")); + } + } + } + String id = String.valueOf(comparisonEntitiePages.get(0).get("id")); map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); @@ -500,7 +547,7 @@ public class ComparisonServiceImpl extends BaseService return BaseResult.getFailureMessageEntity("更新失败"); } } - return BaseResult.getFailureMessageEntity("查询失败","请检查传递参数"); + return BaseResult.getFailureMessageEntity("更新失败","请检查传递参数"); } private List getFields(ComparisonEntity comparisonEntity) { @@ -527,7 +574,7 @@ public class ComparisonServiceImpl extends BaseService List comparisonEntities=new ArrayList<>(); //根据主数据编码查询表名称,字段名称等信息 10001 try { - // comparisonEntities = comparisonDao.queryComparison(comparisonEntity); + // comparisonEntities = comparisonDao.queryComparison(comparisonEntity); //comparisonEntities=getComparisonEntity(comparisonEntity); comparisonEntities=getComparisonEntityCache(comparisonEntity,"main"); @@ -583,6 +630,12 @@ public class ComparisonServiceImpl extends BaseService if(CollectionUtils.isEmpty(comparisonEntitiePages)){ return BaseResult.getFailureMessageEntity("根据data_id查询id数据为空,请检查data_id"); } + + //递归删除树结构 1.树 2.列表 + if(map.get("viewName").equals("1")){ + return recursiveDeleteComparison(comparisonEntitiePages,comparisonEntity); + } + String id = String.valueOf(comparisonEntitiePages.get(0).get("id")); map.remove("id"); @@ -612,7 +665,59 @@ public class ComparisonServiceImpl extends BaseService return BaseResult.getFailureMessageEntity("删除失败"); } } - return BaseResult.getFailureMessageEntity("查询失败","请检查传递参数"); + return BaseResult.getFailureMessageEntity("删除失败","请检查传递参数"); + } + + //递归删除组织树 + private Object recursiveDeleteComparison(List> list,ComparisonEntity comparisonEntity){ + for(int i=0;i fields = getFields(comparisonEntity); + Map mapId=new HashMap<>(); + mapId.put("mdm_up_id",list.get(0).get("id")); + ComparisonEntity comparison=new ComparisonEntity(); + comparison.setDbName(comparisonEntity.getDbName()); + comparison.setMap(mapId); + comparison.setFields(fields); + List> comparisonEntitiePages = comparisonDao.queryComparisonPage(comparison); + if(CollectionUtils.isNotEmpty(comparisonEntitiePages)){ + recursiveDeleteComparison(comparisonEntitiePages,comparisonEntity); + } + comparisonEntity.setId(String.valueOf(list.get(0).get("id"))); + Integer integer = comparisonDao.deleteComparison(comparisonEntity); + JSONObject json1 = new JSONObject(); + json1.put("status","200"); + json1.put("integer",integer); + return json1; + } + return null; + } + + //递归查询组织树 + private Object recursiveQueryComparison(List> list,ComparisonEntity comparisonEntity){ + if(CollectionUtils.isNotEmpty(list)) { + for (int i = 0; i < list.size(); i++) { + List fields = getFields(comparisonEntity); + Map mapId=new HashMap<>(); + mapId.put("mdm_up_id",list.get(0).get("id")); + ComparisonEntity comparison=new ComparisonEntity(); + comparison.setDbName(comparisonEntity.getDbName()); + comparison.setMap(mapId); + comparison.setFields(fields); + List> comparisonEntitiePages = comparisonDao.queryComparisonPage(comparison); + if(CollectionUtils.isNotEmpty(comparisonEntitiePages)){ + recursiveQueryComparison(comparisonEntitiePages,comparisonEntity); + for (Map map : list) { + map.put("comparisonEntities",comparisonEntitiePages); + } + } + PageInfo pageInfo = new PageInfo(list); + JSONObject json1=new JSONObject(); + json1.put("status","200"); + json1.put("pageInfo",pageInfo); + return json1; + } + } + return null; } //根据应用key和应用密钥获取应用编码和应用名称 @@ -704,6 +809,11 @@ public class ComparisonServiceImpl extends BaseService comparisonEntity.setmId(mdmModuleEntity.getId()); List comparisonEntitiesFieldRule = comparisonDao.queryComparisonBymdmIdDbIdFiledId(comparisonEntity); + //根据mdm_module得id判断是树结构还是列表结构 + MdmModuleViewEntity mdmModuleViewEntity=new MdmModuleViewEntity(); + mdmModuleViewEntity.setMdmId(mdmModuleEntity.getId()); + List mdmModuleViewEntities = mdmModuleViewDao.query(mdmModuleViewEntity); + //根据mdm_id查询mdm_module_db的信息 MdmModuleDbEntity mdmModuleDbEntity = new MdmModuleDbEntity(); mdmModuleDbEntity.setMdmId(mdmModuleEntity.getId()); @@ -736,6 +846,7 @@ public class ComparisonServiceImpl extends BaseService comparisonEntityFile.setmId(mdmModuleEntity.getId()); comparisonEntityFile.setMdmName(mdmModuleEntity.getMdmName()); comparisonEntityFile.setMdmCode(String.valueOf(mdmModuleEntity.getMdmCode())); + comparisonEntityFile.setViewName(CollectionUtils.isNotEmpty(mdmModuleViewEntities)?mdmModuleViewEntities.get(0).getViewName():null); if(CollectionUtils.isNotEmpty(comparisonEntitiesFieldRule)){ for (ComparisonEntity entity : comparisonEntitiesFieldRule) { if(entity.getEnName().equals(moduleDbFiledsEntity.getEnName()) && entity.getDbType().equals(moduleDbEntity.getDbType())){ diff --git a/service/src/main/java/com/hzya/frame/sysnew/grovy/service/impl/GroovyIntegrationServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/grovy/service/impl/GroovyIntegrationServiceImpl.java index b6cef49d..f4439fa3 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/grovy/service/impl/GroovyIntegrationServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/sysnew/grovy/service/impl/GroovyIntegrationServiceImpl.java @@ -1,6 +1,7 @@ package com.hzya.frame.sysnew.grovy.service.impl; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; import com.hzya.frame.sysnew.grovy.service.IGroovyIntegrationService; @@ -34,9 +35,9 @@ public class GroovyIntegrationServiceImpl implements IGroovyIntegrationService { } public static void main(String[] args) { - java.lang.String str = "{\"data\":{\"document_rule\":\"KH-2024-08-22-00002\",\"create_user_id\":\"1\",\"create_time\":1724309574000,\"company_id\":\"Y\",\"ccusname\":\"测试客户名称\",\"modify_time\":1724309574000,\"ccccode\":\"FL01\",\"ccuscode\":\"K20240001\",\"document_rule_num\":2,\"mdm_customer_bank\":[{\"bdefaultaccount\":\"Y\",\"create_user_id\":\"1\",\"cbname\":\"开户银行\",\"cbankcode\":\"会稽山\",\"formmain_id\":\"cd3136d204084769b5991a4f276c69c4\",\"create_time\":1724309575000,\"company_id\":\"0\",\"modify_time\":1724309575000,\"cankcode\":\"所属银行\",\"sts\":\"Y\",\"cbaccount\":\"1381278236781283\",\"org_id\":\"0\",\"id\":\"dda3ab07459744fda9981b31b57d3e3a\",\"data_status\":\"Y\",\"modify_user_id\":\"1\",\"sorts\":2}],\"cccname\":\"内部客户\",\"add_status\":\"0\",\"update_status\":\"1\",\"sts\":\"Y\",\"delete_status\":\"1\",\"org_id\":\"Y\",\"id\":\"cd3136d204084769b5991a4f276c69c4\",\"ccusabbname\":\"测试客户名称\",\"data_status\":\"Y\",\"modify_user_id\":\"1\",\"sorts\":2},\"query\":\"[]\",\"header\":\"[]\",\"body\":\"[{\\\"id\\\":\\\"aaa28f22-d14f-481e-8c0f-1027204c3597\\\",\\\"parameterName\\\":\\\"body\\\",\\\"first\\\":true}]\"}"; + java.lang.String str = "{\"data\":{\"document_rule\":\"DDUSER-2024-09-04-00007\",\"create_user_id\":\"c796fd9ba4c9f5ff3cc2fa41a040e443\",\"unionid\":\"2fkFIWM9iSJAcLxiimUZdUWwiEiE\",\"create_time\":1725413884000,\"modify_time\":1725413884000,\"title\":\"高级软件工程师\",\"hired_date\":1677600000000,\"userid\":\"023822475524346736\",\"document_rule_num\":7,\"add_status\":\"0\",\"update_status\":\"1\",\"event_type\":\"user_modify_org\",\"sts\":\"Y\",\"data_id\":\"023822475524346736\",\"delete_status\":\"1\",\"org_id\":\"0\",\"mdm_dd_user_position\":[{\"create_user_id\":\"c796fd9ba4c9f5ff3cc2fa41a040e443\",\"formmain_id\":\"8740260843790486508\",\"create_time\":1725413884000,\"modify_time\":1725413884000,\"title\":\"高级软件工程师\",\"sts\":\"Y\",\"data_id\":\"5a79ab0bd206414aab97087915e6488a\",\"org_id\":\"0\",\"id\":\"-5911347781273497855\",\"data_status\":\"Y\",\"modify_user_id\":\"c796fd9ba4c9f5ff3cc2fa41a040e443\",\"dept_id\":\"66631023\",\"sorts\":7}],\"name\":\"徐新璐\",\"dept_id_list\":\"[66631023]\",\"id\":\"8740260843790486508\",\"job_number\":\"2176\",\"data_status\":\"Y\",\"modify_user_id\":\"c796fd9ba4c9f5ff3cc2fa41a040e443\",\"sorts\":446},\"query\":\"[]\",\"header\":\"[]\",\"body\":\"[{\\\"id\\\":\\\"e5faa5a5-8de4-45d4-bfa9-de80497cb222\\\",\\\"parameterName\\\":\\\"body\\\",\\\"first\\\":true}]\"}"; A88772 s = new A88772(); - s.execute(str); + System.out.println(s.execute(str)); } static class A88772 { @@ -45,40 +46,27 @@ public class GroovyIntegrationServiceImpl implements IGroovyIntegrationService { com.alibaba.fastjson.JSONObject bodys = new com.alibaba.fastjson.JSONObject(); com.alibaba.fastjson.JSONObject reqData = com.alibaba.fastjson.JSON.parseObject(jsonStr); com.alibaba.fastjson.JSONObject data = reqData.getJSONObject("data"); - com.alibaba.fastjson.JSONObject mdmCustomer = new com.alibaba.fastjson.JSONObject(); - com.alibaba.fastjson.JSONArray mdmCustomerBankAll = new com.alibaba.fastjson.JSONArray(); - mdmCustomer.put("ccuscode",data.getString("ccuscode")); - mdmCustomer.put("ccusname",data.getString("ccusname")); - mdmCustomer.put("ccusabbname",data.getString("ccusabbname")); - mdmCustomer.put("ccccode",data.getString("ccccode")); - mdmCustomer.put("cccname",data.getString("cccname")); - mdmCustomer.put("ccusmngtypecode",data.getString("ccusmngtypecode")); - mdmCustomer.put("ccusmngtypename",data.getString("ccusmngtypename")); - mdmCustomer.put("ccusregcode",data.getString("ccusregcode")); - mdmCustomer.put("ccuslperson",data.getString("ccuslperson")); - mdmCustomer.put("cinvoicecompany",data.getString("cinvoicecompany")); - mdmCustomer.put("ccdefine21",data.getString("ccdefine21")); - mdmCustomer.put("ccdefine8",data.getString("ccdefine8")); - mdmCustomer.put("ccdefine7",data.getString("ccdefine7")); - mdmCustomer.put("ccdefine5",data.getString("ccdefine5")); - mdmCustomer.put("ccdefine3",data.getString("ccdefine3")); - mdmCustomer.put("dataStatus",data.getString("datastatus")); - com.alibaba.fastjson.JSONArray mdmCustomerBank = data.getJSONArray("mdm_customer_bank"); - if(null != mdmCustomerBank && mdmCustomerBank.size()>0){ - for(Object bankObj : mdmCustomerBank){ - com.alibaba.fastjson.JSONObject bank = com.alibaba.fastjson.JSONObject.parseObject(bankObj.toString()); - com.alibaba.fastjson.JSONObject mdmCustomerObj = new com.alibaba.fastjson.JSONObject(); - mdmCustomerObj.put("cankcode",bank.getString("cankcode")); - mdmCustomerObj.put("cbname",bank.getString("cbname")); - mdmCustomerObj.put("cbaccount",bank.getString("cbaccount")); - mdmCustomerObj.put("cbankcode",bank.getString("cbankcode")); - mdmCustomerObj.put("formmain_id",bank.getString("formmain_id")); - mdmCustomerObj.put("bdefaultaccount",bank.getString("bdefaultaccount")); - mdmCustomerBankAll.add(mdmCustomerObj); + com.alibaba.fastjson.JSONObject mdmUser = new com.alibaba.fastjson.JSONObject(); + mdmUser.put("userid",data.getString("userid")); + mdmUser.put("name",data.getString("name")); + mdmUser.put("mobile",data.getString("mobile")); + mdmUser.put("job_number",data.getString("job_number")); + mdmUser.put("title",data.getString("title")); + mdmUser.put("dept_id_list",data.getString("dept_id_list")); + mdmUser.put("dataStatus",data.getString("event_type")); + com.alibaba.fastjson.JSONArray array = data.getJSONArray("mdm_dd_user_position"); + com.alibaba.fastjson.JSONArray postArray = new com.alibaba.fastjson.JSONArray(); + if (null != array && array.size() > 0){ + for (int i=0; i itesm; + private List items; public String getDlid() { return dlid; @@ -145,11 +145,11 @@ public class DeliveryOrderDTO { this.cmemo = cmemo; } - public List getItesm() { - return itesm; + public List getItems() { + return items; } - public void setItesm(List itesm) { - this.itesm = itesm; + public void setItems(List items) { + this.items = items; } } diff --git a/service/src/main/java/com/hzya/frame/u8/delivery/entity/DeliveryOrderEntity.java b/service/src/main/java/com/hzya/frame/u8/delivery/entity/DeliveryOrderEntity.java index d487ffe9..f8ad46b9 100644 --- a/service/src/main/java/com/hzya/frame/u8/delivery/entity/DeliveryOrderEntity.java +++ b/service/src/main/java/com/hzya/frame/u8/delivery/entity/DeliveryOrderEntity.java @@ -45,14 +45,16 @@ public class DeliveryOrderEntity extends BaseEntity { private String pushFlagField; //帐套名 private String dbname; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String startTime;//定时任务执行时传入的开始时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String endTime;//定时任务执行时传入的结束时间 - + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + //最后操作时间, isnull(dmodifysystime,dcreatesystime) + private String lasttime; public String getDlid() { return dlid; } @@ -203,4 +205,11 @@ public class DeliveryOrderEntity extends BaseEntity { public void setEndTime(String endTime) { this.endTime = endTime; } + public String getLasttime() { + return lasttime; + } + + public void setLasttime(String lasttime) { + this.lasttime = lasttime; + } } diff --git a/service/src/main/java/com/hzya/frame/u8/delivery/entity/DeliveryOrderEntity.xml b/service/src/main/java/com/hzya/frame/u8/delivery/entity/DeliveryOrderEntity.xml index 030b91d4..b4f2f025 100644 --- a/service/src/main/java/com/hzya/frame/u8/delivery/entity/DeliveryOrderEntity.xml +++ b/service/src/main/java/com/hzya/frame/u8/delivery/entity/DeliveryOrderEntity.xml @@ -47,8 +47,8 @@ and ccusname = #{ccusname} and csocode = #{csocode} and bReturnFlag = #{bReturnFlag} - and dmodifysystime >= #{startTime} - + and lasttime >= #{startTime} + and cVerifier is not null order by dlid diff --git a/service/src/main/java/com/hzya/frame/u8/production/dto/MomOrderDTO.java b/service/src/main/java/com/hzya/frame/u8/production/dto/MomOrderDTO.java index 5400782f..fb9c8717 100644 --- a/service/src/main/java/com/hzya/frame/u8/production/dto/MomOrderDTO.java +++ b/service/src/main/java/com/hzya/frame/u8/production/dto/MomOrderDTO.java @@ -25,7 +25,7 @@ public class MomOrderDTO { private String createuser; //表体 @JSONField(ordinal = 5) - private List itesm; + private List items; public String getMoId() { return moId; } @@ -58,11 +58,11 @@ public class MomOrderDTO { this.createuser = createuser; } - public List getItesm() { - return itesm; + public List getItems() { + return items; } - public void setItesm(List itesm) { - this.itesm = itesm; + public void setItems(List items) { + this.items = items; } } diff --git a/service/src/main/java/com/hzya/frame/u8/production/dto/MomOrderDetailDTO.java b/service/src/main/java/com/hzya/frame/u8/production/dto/MomOrderDetailDTO.java index b14503fc..75da307c 100644 --- a/service/src/main/java/com/hzya/frame/u8/production/dto/MomOrderDetailDTO.java +++ b/service/src/main/java/com/hzya/frame/u8/production/dto/MomOrderDetailDTO.java @@ -30,6 +30,9 @@ public class MomOrderDetailDTO { @JSONField(ordinal = 7) private String mdeptcode; + //行号 + @JSONField(ordinal = 8) + private String sortSeq; public String getCinvcode() { return cinvcode; } @@ -85,4 +88,12 @@ public class MomOrderDetailDTO { public void setMdeptcode(String mdeptcode) { this.mdeptcode = mdeptcode; } + + public String getSortSeq() { + return sortSeq; + } + + public void setSortSeq(String sortSeq) { + this.sortSeq = sortSeq; + } } diff --git a/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderDetailEntity.java b/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderDetailEntity.java index b9affa78..a646af5c 100644 --- a/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderDetailEntity.java +++ b/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderDetailEntity.java @@ -1,6 +1,8 @@ package com.hzya.frame.u8.production.entity; +import com.fasterxml.jackson.annotation.JsonFormat; import com.hzya.frame.web.entity.BaseEntity; +import org.springframework.format.annotation.DateTimeFormat; /** * @Description u8生产订单表体 mom_orderdetail @@ -24,10 +26,19 @@ public class MomOrderDetailEntity extends BaseEntity { private String mdeptname; //部门编码 private String mdeptcode; + //行号 + private String sortSeq; //审核人 private String relsUser; //审核时间 private String relsTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String startTime;//定时任务执行时传入的开始时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String endTime;//定时任务执行时传入的结束时间 + public String getMoId() { return moId; } @@ -107,4 +118,28 @@ public class MomOrderDetailEntity extends BaseEntity { public void setRelsTime(String relsTime) { this.relsTime = relsTime; } + + public String getStartTime() { + return startTime; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + + public String getSortSeq() { + return sortSeq; + } + + public void setSortSeq(String sortSeq) { + this.sortSeq = sortSeq; + } } diff --git a/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderDetailEntity.xml b/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderDetailEntity.xml index d0c0a631..d7a5fdc9 100644 --- a/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderDetailEntity.xml +++ b/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderDetailEntity.xml @@ -10,6 +10,7 @@ + @@ -22,6 +23,7 @@ auxqty, mdeptname, mdeptcode, + sortSeq, relsUser, relsTime @@ -34,6 +36,8 @@ moId= #{moId} and cinvcode = #{cinvcode} and cinvname = #{cinvname} + and relsTime >= #{startTime} + order by moId diff --git a/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderEntity.java b/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderEntity.java index 5b6a4a3a..9ac2c2be 100644 --- a/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderEntity.java +++ b/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderEntity.java @@ -34,6 +34,11 @@ public class MomOrderEntity extends BaseEntity { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String endTime;//定时任务执行时传入的结束时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + //最后操作时间, isnull(dmodifysystime,dcreatesystime) + private String lasttime; + public String getMoId() { return moId; } @@ -120,4 +125,12 @@ public class MomOrderEntity extends BaseEntity { public void setEndTime(String endTime) { this.endTime = endTime; } + + public String getLasttime() { + return lasttime; + } + + public void setLasttime(String lasttime) { + this.lasttime = lasttime; + } } diff --git a/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderEntity.xml b/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderEntity.xml index f708925b..e0a0989d 100644 --- a/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderEntity.xml +++ b/service/src/main/java/com/hzya/frame/u8/production/entity/MomOrderEntity.xml @@ -27,8 +27,8 @@ moId= #{moId} and mocode = #{mocode} - and modifytime >= #{startTime} - + and lasttime >= #{startTime} + order by moId diff --git a/webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java b/webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java index f74d7e46..81c63cc2 100644 --- a/webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java +++ b/webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java @@ -1,7 +1,6 @@ package com.hzya.frame.webapp.entrance.controler; import cn.hutool.extra.servlet.ServletUtil; -import com.alibaba.fastjson.JSON; import com.hzya.frame.bip.v3.v2207.service.IBipSsoService; import com.hzya.frame.sysnew.application.service.ISysApplicationService; import com.hzya.frame.sys.entity.EsbReturnEntity; @@ -35,8 +34,18 @@ import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.util.Enumeration; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; /** * @Content程序唯一入口controller @@ -112,12 +121,43 @@ public class EntranceController { logger.info("-------------------结束调用上传文件upload接口-------------------"); return jsonResultEntity; } - /** - * 根据文件保存的新名称下载文件 - * - * @param fileSaveName - * @return - */ + + @RequestMapping(value = "/pluginfileUpload", method = RequestMethod.POST) + @ResponseBody + public JsonResultEntity pluginfileUpload(MultipartFile file, FileUploadDto entity,String pluginPackageName, ServletRequest servletRequest, ServletResponse servletResponse) { + JsonResultEntity jsonResultEntity = null; + logger.info("-------------------开始调用上传插件附件upload接口-------------------"); + try { + jsonResultEntity = entranceService.pluginfileUpload(file, entity,pluginPackageName,servletRequest,servletResponse); + } catch (Exception e) { + jsonResultEntity = BaseResult.getFailureMessageEntity(e.getMessage()); + } + logger.info("-------------------结束调用上传插件附件upload接口-------------------"); + return jsonResultEntity; + } + + @ResponseBody + @RequestMapping(value = "/pluginZipUpdate") + public JsonResultEntity pluginZipUpate(FileUploadDto fileUploadDto){ + JsonResultEntity jsonResultEntity = null; + logger.info("-------------------开始调用插件更新接口-------------------"); + try{ + jsonResultEntity = entranceService.pluginZipUpate(fileUploadDto); + } catch (Exception e) { + jsonResultEntity = BaseResult.getFailureMessageEntity(e.getMessage()); + } + logger.info("-------------------结束调用插件更新接口------------------"); + return jsonResultEntity; + } + + + + /** + * 根据文件保存的新名称下载文件 + * + * @param fileSaveName + * @return + */ @RequestMapping(value = "/option/fileDownload") public ResponseEntity fileDownload(String fileSaveName) { ResponseEntity responseEntity = null;