提交 3af32253 authored 作者: inroi's avatar inroi

微调

上级 79a74970
package com.system.controller;
import com.system.serivce.ICustomFormConfigService;
import com.system.transfer.form.*;
import com.system.transfer.response.RestResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author Inori
*/
@Api(tags = "自定义表单配置")
@RestController
@RequestMapping("/api")
public class CustomFormConfigController {
@Autowired
private ICustomFormConfigService customFormConfigService;
@ApiOperation("自定义表单配置列表")
@GetMapping("/custom/form/config/list")
public RestResponse customFormConfigList(@ModelAttribute CustomFormConfigListInVo inVo) {
CustomFormConfigListOutVo outVo = customFormConfigService.customFormConfigList(inVo);
return RestResponse.success(outVo);
}
@ApiOperation("自定义表单配置创建")
@PostMapping("/custom/form/config/create")
public RestResponse customFormConfigCreate(@RequestBody CustomFormConfigCreateInVo inVo) {
customFormConfigService.customFormConfigCreate(inVo);
return RestResponse.success();
}
@ApiOperation("自定义表单配置更新")
@PutMapping("/custom/form/config/update")
public RestResponse customFormConfigUpdate(@RequestBody CustomFormConfigUpdateInVo inVo) {
customFormConfigService.customFormConfigUpdate(inVo);
return RestResponse.success();
}
@ApiOperation("自定义表单配置删除")
@DeleteMapping("/custom/form/config/delete")
public RestResponse customFormConfigDelete(@RequestBody CustomFormConfigDeleteInVo inVo) {
customFormConfigService.customFormConfigDelete(inVo);
return RestResponse.success();
}
}
package com.system.controller;
import com.system.serivce.IFormFieldMappingDetailService;
import com.system.transfer.form.FormFieldMappingDetailCreateInVo;
import com.system.transfer.form.FormFieldMappingDetailDeleteInVo;
import com.system.transfer.form.FormFieldMappingDetailUpdateInVo;
import com.system.transfer.response.RestResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author Inori
*/
@Api(tags = "表单字段映射")
@RestController
@RequestMapping("/api")
public class FormFieldMappingDetailController {
@Autowired
private IFormFieldMappingDetailService formFieldMappingDetailService;
@ApiOperation("表单字段映射明细创建")
@PostMapping("/form/field/mapping/detail/create")
public RestResponse formFieldMappingDetailCreate(@RequestBody FormFieldMappingDetailCreateInVo inVo) {
formFieldMappingDetailService.formFieldMappingDetailCreate(inVo);
return RestResponse.success();
}
@ApiOperation("表单字段映射明细更新")
@PutMapping("/form/field/mapping/detail/update")
public RestResponse formFieldMappingDetailUpdate(@RequestBody FormFieldMappingDetailUpdateInVo inVo) {
formFieldMappingDetailService.formFieldMappingDetailUpdate(inVo);
return RestResponse.success();
}
@ApiOperation("表单字段映射明细删除")
@DeleteMapping("/form/field/mapping/detail/delete")
public RestResponse formFieldMappingDetailDelete(@RequestBody FormFieldMappingDetailDeleteInVo inVo) {
formFieldMappingDetailService.formFieldMappingDetailDelete(inVo);
return RestResponse.success();
}
}
package com.system.dao;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.system.transfer.form.*;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Inori
*/
public interface CustomFormConfigMapper {
/**
* 自定义表单配置列表
*
* @param page 分页
* @param inVo 条件
* @return 列表
*/
List<CustomFormConfigListOutVoRecords> customFormConfigList(@Param("page") Page<CustomFormConfigListOutVoRecords> page, @Param("inVo") CustomFormConfigListInVo inVo);
/**
* 自定义表单配置创建
*
* @param inVo 条件
*/
void customFormConfigCreate(CustomFormConfigCreateInVo inVo);
/**
* 自定义表单配置更新
*
* @param inVo 条件
*/
void customFormConfigUpdate(CustomFormConfigUpdateInVo inVo);
/**
* 自定义表单配置删除
*
* @param inVo 条件
*/
void customFormConfigDelete(CustomFormConfigDeleteInVo inVo);
}
package com.system.dao;
import com.system.transfer.form.*;
import java.util.List;
/**
* @author Inori
*/
public interface FormFieldMappingDetailMapper {
/**
* 表单字段映射明细列表
*
* @param inVo 条件
* @return 列表
*/
List<FormFieldMappingDetailOutVoRecords> formFieldMappingDetailList(FormFieldMappingDetailListInVo inVo);
/**
* 表单字段映射明细创建
*
* @param inVo 条件
*/
void formFieldMappingDetailCreate(FormFieldMappingDetailCreateInVo inVo);
/**
* 表单字段映射明细创建
*
* @param inVo 条件
*/
void formFieldMappingDetailUpdate(FormFieldMappingDetailUpdateInVo inVo);
/**
* 表单字段映射明细创建
*
* @param inVo 条件
*/
void formFieldMappingDetailDelete(FormFieldMappingDetailDeleteInVo inVo);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.system.dao.CustomFormConfigMapper">
<select id="customFormConfigList" parameterType="com.system.transfer.form.CustomFormConfigListInVo" resultType="com.system.transfer.form.CustomFormConfigListOutVoRecords">
SELECT
id, doc_type, `name`, request_address, configure_direction, operation, custom_sql, create_time
FROM tb_custom_form_config
</select>
<insert id="customFormConfigCreate" parameterType="com.system.transfer.form.CustomFormConfigCreateInVo" useGeneratedKeys="true" keyProperty="id">
INSERT INTO tb_custom_form_config (
doc_type, `name`, request_address, configure_direction, operation, custom_sql
) VALUES (
#{docType}, #{name}, #{requestAddress}, #{configureDirection}, #{operation}, #{customSql}
)
</insert>
<update id="customFormConfigUpdate" parameterType="com.system.transfer.form.CustomFormConfigUpdateInVo">
UPDATE tb_custom_form_config SET
doc_type = #{docType}, `name` = #{name}, request_address = #{requestAddress},
configure_direction = #{configureDirection}, operation = #{operation}, custom_sql = #{customSql}
WHERE id = #{id}
</update>
<delete id="customFormConfigDelete" parameterType="com.system.transfer.form.CustomFormConfigDeleteInVo">
DELETE FROM tb_custom_form_config WHERE id = #{id}
</delete>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.system.dao.FormFieldMappingDetailMapper">
<select id="formFieldMappingDetailList" parameterType="com.system.transfer.form.FormFieldMappingDetailListInVo" resultType="com.system.transfer.form.FormFieldMappingDetailOutVoRecords">
SELECT
id, fid, custom_form_config_id, field_before_mapping, field_before_mapping_name,
field_type, field_is_entry, field_after_mapping, field_after_mapping_name
FROM tb_form_field_mapping_detail WHERE custom_form_config_id IN
<foreach collection="customFormConfigIdList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</select>
<insert id="formFieldMappingDetailCreate" parameterType="com.system.transfer.form.FormFieldMappingDetailCreateInVo">
INSERT INTO tb_form_field_mapping_detail (
fid, custom_form_config_id, field_before_mapping, field_before_mapping_name,
field_type, field_is_entry, field_after_mapping, field_after_mapping_name
) VALUES (
#{fid}, #{customFormConfigId}, #{fieldBeforeMapping}, #{fieldBeforeMappingName},
#{fieldType}, #{fieldIsEntry}, #{fieldAfterMapping}, #{fieldAfterMappingName}
)
</insert>
<update id="formFieldMappingDetailUpdate" parameterType="com.system.transfer.form.FormFieldMappingDetailUpdateInVo">
UPDATE tb_form_field_mapping_detail SET
fid = #{fid}, custom_form_config_id = #{customFormConfigId}, field_before_mapping = #{fieldBeforeMapping},
field_before_mapping_name = #{fieldBeforeMappingName}, field_type = #{fieldType}, field_is_entry = #{fieldIsEntry},
field_after_mapping = #{fieldAfterMapping}, field_after_mapping_nam = #{fieldAfterMappingName}
WHERE id = #{id}
</update>
<delete id="formFieldMappingDetailDelete" parameterType="com.system.transfer.form.FormFieldMappingDetailDeleteInVo">
DELETE FROM tb_form_field_mapping_detail WHERE id = #{id}
</delete>
</mapper>
package com.system.serivce;
import com.system.transfer.form.*;
/**
* @author Inori
*/
public interface ICustomFormConfigService {
/**
* 自定义表单配置列表
*
* @param inVo 条件
* @return 列表
*/
CustomFormConfigListOutVo customFormConfigList(CustomFormConfigListInVo inVo);
/**
* 自定义表单配置创建
*
* @param inVo 条件
*/
void customFormConfigCreate(CustomFormConfigCreateInVo inVo);
/**
* 自定义表单配置更新
*
* @param inVo 条件
*/
void customFormConfigUpdate(CustomFormConfigUpdateInVo inVo);
/**
* 自定义表单配置删除
*
* @param inVo 条件
*/
void customFormConfigDelete(CustomFormConfigDeleteInVo inVo);
}
package com.system.serivce;
import com.system.transfer.form.FormFieldMappingDetailCreateInVo;
import com.system.transfer.form.FormFieldMappingDetailDeleteInVo;
import com.system.transfer.form.FormFieldMappingDetailUpdateInVo;
/**
* @author Inori
*/
public interface IFormFieldMappingDetailService {
/**
* 表单字段映射明细创建
*
* @param inVo 条件
*/
void formFieldMappingDetailCreate(FormFieldMappingDetailCreateInVo inVo);
/**
* 表单字段映射明细创建
*
* @param inVo 条件
*/
void formFieldMappingDetailUpdate(FormFieldMappingDetailUpdateInVo inVo);
/**
* 表单字段映射明细创建
*
* @param inVo 条件
*/
void formFieldMappingDetailDelete(FormFieldMappingDetailDeleteInVo inVo);
}
package com.system.serivce.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.system.dao.CustomFormConfigMapper;
import com.system.dao.FormFieldMappingDetailMapper;
import com.system.serivce.ICustomFormConfigService;
import com.system.transfer.form.*;
import com.system.utils.JsonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author Inori
*/
@Service
public class CustomFormConfigServiceImpl implements ICustomFormConfigService {
@Autowired
private CustomFormConfigMapper customFormConfigMapper;
@Autowired
private FormFieldMappingDetailMapper formFieldMappingDetailMapper;
@Override
public CustomFormConfigListOutVo customFormConfigList(CustomFormConfigListInVo inVo) {
Page<CustomFormConfigListOutVoRecords> page = new Page<>(inVo.getPageNo(), inVo.getPageSize());
List<CustomFormConfigListOutVoRecords> recordsList = customFormConfigMapper.customFormConfigList(page, inVo);
List<Integer> idList = recordsList.stream().map(CustomFormConfigListOutVoRecords::getId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(idList)) {
List<FormFieldMappingDetailOutVoRecords> tempList = formFieldMappingDetailMapper.formFieldMappingDetailList(new FormFieldMappingDetailListInVo(idList));
recordsList.forEach(m -> {
List<FormFieldMappingDetailOutVoRecords> collectList = tempList.stream().filter(n -> m.getId().equals(n.getCustomFormConfigId())).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(collectList)) {
m.setFormFieldMappingDetail(JsonUtil.toString(collectList));
}
});
}
CustomFormConfigListOutVo outVo = new CustomFormConfigListOutVo();
outVo.setTotal((int) page.getTotal());
outVo.setRecords(recordsList);
return outVo;
}
@Override
public void customFormConfigCreate(CustomFormConfigCreateInVo inVo) {
customFormConfigMapper.customFormConfigCreate(inVo);
}
@Override
public void customFormConfigUpdate(CustomFormConfigUpdateInVo inVo) {
customFormConfigMapper.customFormConfigUpdate(inVo);
}
@Override
public void customFormConfigDelete(CustomFormConfigDeleteInVo inVo) {
customFormConfigMapper.customFormConfigDelete(inVo);
}
}
...@@ -84,22 +84,20 @@ public class DockingServiceImpl implements IDockingService { ...@@ -84,22 +84,20 @@ public class DockingServiceImpl implements IDockingService {
} }
String result = dockingDistributionService.dockingDistributionMemberSubordinateList(inVo.getQueueId(), inVo.getMemberId()); String result = dockingDistributionService.dockingDistributionMemberSubordinateList(inVo.getQueueId(), inVo.getMemberId());
List<Map<String, Object>> recordsList = new ArrayList<>();
Map<String, Object> map = JsonUtil.toMap(result, String.class, Object.class); Map<String, Object> map = JsonUtil.toMap(result, String.class, Object.class);
if (!CollectionUtils.isEmpty(map) && Constants.SUCCESS_CODE.equals(String.valueOf(map.get(Constants.SUCCESS_NAME)))) { if (!CollectionUtils.isEmpty(map) && Constants.SUCCESS_CODE.equals(String.valueOf(map.get(Constants.SUCCESS_NAME)))) {
List<Object> objectList = JsonUtil.toList(JsonUtil.toString(map.get("data")), Object.class); List<Object> objectList = JsonUtil.toList(JsonUtil.toString(map.get("data")), Object.class);
List<Map<String, Object>> tempList = objectList.stream().map(m -> JsonUtil.toMap(JsonUtil.toString(m), String.class, Object.class)).collect(Collectors.toList()); List<Map<String, Object>> tempList = objectList.stream().map(m -> JsonUtil.toMap(JsonUtil.toString(m), String.class, Object.class)).collect(Collectors.toList());
Map<String, Object> response = tempList.stream().filter(m -> inVo.getMemberId().equals(m.get("memberId"))).findFirst().orElse(new HashMap<>(1));
List<Map<String, Object>> recordsList = new ArrayList<>();
List<Map<String, Object>> temp01List = tempList.stream().filter(m -> inVo.getMemberId().equals(m.get("parentId"))).collect(Collectors.toList()); List<Map<String, Object>> temp01List = tempList.stream().filter(m -> inVo.getMemberId().equals(m.get("parentId"))).collect(Collectors.toList());
for (Map<String, Object> temp : temp01List) { for (Map<String, Object> temp : temp01List) {
List<Map<String, Object>> temp02List = tempList.stream().filter(m -> temp.get("memberId").equals(m.get("parentId"))).collect(Collectors.toList()); List<Map<String, Object>> temp02List = tempList.stream().filter(m -> temp.get("memberId").equals(m.get("parentId"))).collect(Collectors.toList());
temp.put("children", temp02List);
recordsList.add(temp); recordsList.add(temp);
recordsList.addAll(temp02List);
} }
response.put("children", recordsList); return RestResponse.success(recordsList);
return RestResponse.success(response);
} }
return RestResponse.success(); return RestResponse.success();
......
package com.system.serivce.impl;
import com.system.dao.FormFieldMappingDetailMapper;
import com.system.serivce.IFormFieldMappingDetailService;
import com.system.transfer.form.FormFieldMappingDetailCreateInVo;
import com.system.transfer.form.FormFieldMappingDetailDeleteInVo;
import com.system.transfer.form.FormFieldMappingDetailUpdateInVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author Inori
*/
@Service
public class IFormFieldMappingDetailServiceImpl implements IFormFieldMappingDetailService {
@Autowired
private FormFieldMappingDetailMapper formFieldMappingDetailMapper;
@Override
public void formFieldMappingDetailCreate(FormFieldMappingDetailCreateInVo inVo) {
formFieldMappingDetailMapper.formFieldMappingDetailCreate(inVo);
}
@Override
public void formFieldMappingDetailUpdate(FormFieldMappingDetailUpdateInVo inVo) {
formFieldMappingDetailMapper.formFieldMappingDetailUpdate(inVo);
}
@Override
public void formFieldMappingDetailDelete(FormFieldMappingDetailDeleteInVo inVo) {
formFieldMappingDetailMapper.formFieldMappingDetailDelete(inVo);
}
}
package com.system.transfer.form;
import lombok.Data;
/**
* @author Inori
*/
@Data
public class CustomFormConfigCreateInVo {
/**
* ID
*/
private Integer id;
/**
* 第三方标识
*/
private String docType;
/**
* 日志名称
*/
private String name;
/**
* 请求地址
*/
private String requestAddress;
/**
* 配置方向
*/
private String configureDirection;
/**
* 操作(1-查询 2-创建)
*/
private Integer operation;
/**
* 自定义Sql
*/
private String customSql;
}
package com.system.transfer.form;
import lombok.Data;
/**
* @author Inori
*/
@Data
public class CustomFormConfigDeleteInVo {
/**
* ID
*/
private Integer id;
}
package com.system.transfer.form;
import lombok.Data;
/**
* @author Inori
*/
@Data
public class CustomFormConfigListInVo {
/**
* 页码
*/
private Integer pageNo = 1;
/**
* 每页数量
*/
private Integer pageSize = 20;
}
package com.system.transfer.form;
import lombok.Data;
import java.util.List;
/**
* @author Inori
*/
@Data
public class CustomFormConfigListOutVo {
/**
* 总数
*/
private Integer total;
/**
* 记录
*/
private List<CustomFormConfigListOutVoRecords> records;
}
package com.system.transfer.form;
import lombok.Data;
/**
* @author Inori
*/
@Data
public class CustomFormConfigListOutVoRecords {
/**
* ID
*/
private Integer id;
/**
* 第三方标识
*/
private String docType;
/**
* 日志名称
*/
private String name;
/**
* 请求地址
*/
private String requestAddress;
/**
* 配置方向
*/
private String configureDirection;
/**
* 操作(1-查询 2-创建)
*/
private Integer operation;
/**
* 自定义Sql
*/
private String customSql;
/**
* 表单字段映射明细
*/
private String formFieldMappingDetail;
/**
* 创建时间
*/
private String createTime;
}
package com.system.transfer.form;
import lombok.Data;
/**
* @author Inori
*/
@Data
public class CustomFormConfigUpdateInVo {
/**
* ID
*/
private Integer id;
/**
* 第三方标识
*/
private String docType;
/**
* 日志名称
*/
private String name;
/**
* 请求地址
*/
private String requestAddress;
/**
* 配置方向
*/
private String configureDirection;
/**
* 操作(1-查询 2-创建)
*/
private Integer operation;
/**
* 自定义Sql
*/
private String customSql;
}
package com.system.transfer.form;
import lombok.Data;
/**
* @author Inori
*/
@Data
public class FormFieldMappingDetailCreateInVo {
/**
* 父id(顶级为-1)
*/
private Integer fid;
/**
* 自定义表单配置id
*/
private Integer customFormConfigId;
/**
* 映射前字段
*/
private String fieldBeforeMapping;
/**
* 映射前字段名称
*/
private String fieldBeforeMappingName;
/**
* 字段类型
*/
private String fieldType;
/**
* 是否是分录字段
*/
private Integer fieldIsEntry;
/**
* 映射后字段
*/
private String fieldAfterMapping;
/**
* 映射后字段名称
*/
private String fieldAfterMappingName;
}
package com.system.transfer.form;
import lombok.Data;
/**
* @author Inori
*/
@Data
public class FormFieldMappingDetailDeleteInVo {
/**
* ID
*/
private Integer id;
}
package com.system.transfer.form;
import lombok.Data;
import java.util.List;
/**
* @author Inori
*/
@Data
public class FormFieldMappingDetailListInVo {
/**
* 自定义表单配置id
*/
private List<Integer> customFormConfigIdList;
public FormFieldMappingDetailListInVo() {
}
public FormFieldMappingDetailListInVo(List<Integer> customFormConfigIdList) {
this.customFormConfigIdList = customFormConfigIdList;
}
}
package com.system.transfer.form;
import lombok.Data;
/**
* @author Inori
*/
@Data
public class FormFieldMappingDetailOutVoRecords {
/**
* ID
*/
private Integer id;
/**
* 父id(顶级为-1)
*/
private Integer fid;
/**
* 自定义表单配置id
*/
private Integer customFormConfigId;
/**
* 映射前字段
*/
private String fieldBeforeMapping;
/**
* 映射前字段名称
*/
private String fieldBeforeMappingName;
/**
* 字段类型
*/
private String fieldType;
/**
* 是否是分录字段
*/
private Integer fieldIsEntry;
/**
* 映射后字段
*/
private String fieldAfterMapping;
/**
* 映射后字段名称
*/
private String fieldAfterMappingName;
}
package com.system.transfer.form;
import lombok.Data;
/**
* @author Inori
*/
@Data
public class FormFieldMappingDetailUpdateInVo {
/**
* ID
*/
private Integer id;
/**
* 父id(顶级为-1)
*/
private Integer fid;
/**
* 自定义表单配置id
*/
private Integer customFormConfigId;
/**
* 映射前字段
*/
private String fieldBeforeMapping;
/**
* 映射前字段名称
*/
private String fieldBeforeMappingName;
/**
* 字段类型
*/
private String fieldType;
/**
* 是否是分录字段
*/
private Integer fieldIsEntry;
/**
* 映射后字段
*/
private String fieldAfterMapping;
/**
* 映射后字段名称
*/
private String fieldAfterMappingName;
}
package com.system.utils;
import com.system.transfer.form.FormFieldMappingDetailOutVoRecords;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author Inori
*/
public class FormFieldMappingUtil {
public static List<FormFieldMappingDetailOutVoRecords> purchaseMapping(Integer id, String formFieldMappingDetail) {
List<Object> objectList = JsonUtil.toList(formFieldMappingDetail, Object.class);
List<FormFieldMappingDetailOutVoRecords> recordsList = objectList.stream().map(m -> JsonUtil.toBean(JsonUtil.toString(m), FormFieldMappingDetailOutVoRecords.class)).collect(Collectors.toList());
recordsList.forEach(m -> m.setCustomFormConfigId(id));
return recordsList;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论