新增表单模块

This commit is contained in:
WenG 2022-03-03 21:43:26 +08:00
parent be2bf9463c
commit 21cd70dd4f
16 changed files with 1221 additions and 4 deletions

View File

@ -11,9 +11,12 @@
<artifactId>module-form</artifactId> <artifactId>module-form</artifactId>
<properties> <dependencies>
<maven.compiler.source>8</maven.compiler.source> <dependency>
<maven.compiler.target>8</maven.compiler.target> <groupId>ink.wgink</groupId>
</properties> <artifactId>common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project> </project>

View File

@ -0,0 +1,17 @@
package ink.wgink.module.form.controller.api.design;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "表单设计")
@RestController
@RequestMapping(ISystemConstant.API_PREFIX + "/form-design")
public class FormDesignController extends DefaultBaseController {
}

View File

@ -0,0 +1,34 @@
package ink.wgink.module.form.dao.design;
import ink.wgink.exceptions.RemoveException;
import ink.wgink.exceptions.SaveException;
import ink.wgink.exceptions.SearchException;
import ink.wgink.exceptions.UpdateException;
import ink.wgink.interfaces.init.IInitBaseTable;
import ink.wgink.module.form.pojo.dtos.design.FormDTO;
import ink.wgink.module.form.pojo.pos.design.FormPO;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository
public interface IFormDao extends IInitBaseTable {
void save(Map<String, Object> params) throws SaveException;
void delete(Map<String, Object> params) throws RemoveException;
void remove(Map<String, Object> params) throws RemoveException;
void update(Map<String, Object> params) throws UpdateException;
FormDTO get(Map<String, Object> params) throws SearchException;
FormPO getPO(Map<String, Object> params) throws SearchException;
List<FormDTO> list(Map<String, Object> params) throws SearchException;
List<FormDTO> listPO(Map<String, Object> params) throws SearchException;
}

View File

@ -0,0 +1,32 @@
package ink.wgink.module.form.dao.design;
import ink.wgink.exceptions.RemoveException;
import ink.wgink.exceptions.SaveException;
import ink.wgink.exceptions.SearchException;
import ink.wgink.exceptions.UpdateException;
import ink.wgink.interfaces.init.IInitBaseTable;
import ink.wgink.module.form.pojo.dtos.design.FormFieldDTO;
import ink.wgink.module.form.pojo.pos.design.FormFieldPO;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository
public interface IFormFieldDao extends IInitBaseTable {
void save(Map<String, Object> params) throws SaveException;
void delete(Map<String, Object> params) throws RemoveException;
void update(Map<String, Object> params) throws UpdateException;
FormFieldDTO get(Map<String, Object> params) throws SearchException;
FormFieldPO getPO(Map<String, Object> params) throws SearchException;
List<FormFieldDTO> list(Map<String, Object> params) throws SearchException;
List<FormFieldDTO> listPO(Map<String, Object> params) throws SearchException;
}

View File

@ -0,0 +1,9 @@
package ink.wgink.module.form.pojo.dtos.design;
import ink.wgink.module.form.pojo.pos.design.FormPO;
public class FormDTO extends FormPO {
}

View File

@ -0,0 +1,6 @@
package ink.wgink.module.form.pojo.dtos.design;
import ink.wgink.module.form.pojo.pos.design.FormFieldPO;
public class FormFieldDTO extends FormFieldPO {
}

View File

@ -0,0 +1,71 @@
package ink.wgink.module.form.pojo.pos.design;
import java.io.Serializable;
public class FormFieldPO implements Serializable {
private static final long serialVersionUID = -6494088983963244986L;
private Long id;
private String fieldId;
private String formId;
private String fieldName;
private String fieldExplain;
private String fieldType;
private String fieldDefault;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFieldId() {
return fieldId;
}
public void setFieldId(String fieldId) {
this.fieldId = fieldId;
}
public String getFormId() {
return formId;
}
public void setFormId(String formId) {
this.formId = formId;
}
public String getFieldName() {
return fieldName;
}
public void setFieldName(String fieldName) {
this.fieldName = fieldName;
}
public String getFieldExplain() {
return fieldExplain;
}
public void setFieldExplain(String fieldExplain) {
this.fieldExplain = fieldExplain;
}
public String getFieldType() {
return fieldType;
}
public void setFieldType(String fieldType) {
this.fieldType = fieldType;
}
public String getFieldDefault() {
return fieldDefault;
}
public void setFieldDefault(String fieldDefault) {
this.fieldDefault = fieldDefault;
}
}

View File

@ -0,0 +1,152 @@
package ink.wgink.module.form.pojo.pos.design;
import java.io.Serializable;
public class FormPO implements Serializable {
private static final long serialVersionUID = 3978011423074969950L;
private Long id;
private String formId;
private String formCode;
private String formName;
private String formSummary;
private String formType;
private String formStatus;
private String formSourceData;
private String formPageCode;
private String formTableName;
private Integer formVersion;
private String creator;
private String gmtCreate;
private String modifier;
private String gmtModified;
private Integer isDelete;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFormId() {
return formId;
}
public void setFormId(String formId) {
this.formId = formId;
}
public String getFormCode() {
return formCode;
}
public void setFormCode(String formCode) {
this.formCode = formCode;
}
public String getFormName() {
return formName;
}
public void setFormName(String formName) {
this.formName = formName;
}
public String getFormSummary() {
return formSummary;
}
public void setFormSummary(String formSummary) {
this.formSummary = formSummary;
}
public String getFormType() {
return formType;
}
public void setFormType(String formType) {
this.formType = formType;
}
public String getFormStatus() {
return formStatus;
}
public void setFormStatus(String formStatus) {
this.formStatus = formStatus;
}
public String getFormSourceData() {
return formSourceData;
}
public void setFormSourceData(String formSourceData) {
this.formSourceData = formSourceData;
}
public String getFormPageCode() {
return formPageCode;
}
public void setFormPageCode(String formPageCode) {
this.formPageCode = formPageCode;
}
public String getFormTableName() {
return formTableName;
}
public void setFormTableName(String formTableName) {
this.formTableName = formTableName;
}
public Integer getFormVersion() {
return formVersion;
}
public void setFormVersion(Integer formVersion) {
this.formVersion = formVersion;
}
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator;
}
public String getGmtCreate() {
return gmtCreate;
}
public void setGmtCreate(String gmtCreate) {
this.gmtCreate = gmtCreate;
}
public String getModifier() {
return modifier;
}
public void setModifier(String modifier) {
this.modifier = modifier;
}
public String getGmtModified() {
return gmtModified;
}
public void setGmtModified(String gmtModified) {
this.gmtModified = gmtModified;
}
public Integer getIsDelete() {
return isDelete;
}
public void setIsDelete(Integer isDelete) {
this.isDelete = isDelete;
}
}

View File

@ -0,0 +1,59 @@
package ink.wgink.module.form.pojo.vos.design;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ApiModel
public class FormFieldVO {
@ApiModelProperty(name = "formId", value = "表单ID")
private String formId;
@ApiModelProperty(name = "fieldName", value = "字段名称")
private String fieldName;
@ApiModelProperty(name = "fieldExplain", value = "字段描述")
private String fieldExplain;
@ApiModelProperty(name = "fieldType", value = "字段类型")
private String fieldType;
@ApiModelProperty(name = "fieldDefault", value = "字段默认值")
private String fieldDefault;
public String getFormId() {
return formId;
}
public void setFormId(String formId) {
this.formId = formId;
}
public String getFieldName() {
return fieldName;
}
public void setFieldName(String fieldName) {
this.fieldName = fieldName;
}
public String getFieldExplain() {
return fieldExplain;
}
public void setFieldExplain(String fieldExplain) {
this.fieldExplain = fieldExplain;
}
public String getFieldType() {
return fieldType;
}
public void setFieldType(String fieldType) {
this.fieldType = fieldType;
}
public String getFieldDefault() {
return fieldDefault;
}
public void setFieldDefault(String fieldDefault) {
this.fieldDefault = fieldDefault;
}
}

View File

@ -0,0 +1,99 @@
package ink.wgink.module.form.pojo.vos.design;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ApiModel
public class FormVO {
@ApiModelProperty(name = "formCode", value = "表单编码")
private String formCode;
@ApiModelProperty(name = "formName", value = "表单名称")
private String formName;
@ApiModelProperty(name = "formSummary", value = "表单说明")
private String formSummary;
@ApiModelProperty(name = "formType", value = "表单类型")
private String formType;
@ApiModelProperty(name = "formStatus", value = "表单状态")
private String formStatus;
@ApiModelProperty(name = "formSourceData", value = "表单源代码")
private String formSourceData;
@ApiModelProperty(name = "formPageCode", value = "表单页面代码")
private String formPageCode;
@ApiModelProperty(name = "formTableName", value = "表单表名")
private String formTableName;
@ApiModelProperty(name = "formVersion", value = "表单版本")
private Integer formVersion;
public String getFormCode() {
return formCode;
}
public void setFormCode(String formCode) {
this.formCode = formCode;
}
public String getFormName() {
return formName;
}
public void setFormName(String formName) {
this.formName = formName;
}
public String getFormSummary() {
return formSummary;
}
public void setFormSummary(String formSummary) {
this.formSummary = formSummary;
}
public String getFormType() {
return formType;
}
public void setFormType(String formType) {
this.formType = formType;
}
public String getFormStatus() {
return formStatus;
}
public void setFormStatus(String formStatus) {
this.formStatus = formStatus;
}
public String getFormSourceData() {
return formSourceData;
}
public void setFormSourceData(String formSourceData) {
this.formSourceData = formSourceData;
}
public String getFormPageCode() {
return formPageCode;
}
public void setFormPageCode(String formPageCode) {
this.formPageCode = formPageCode;
}
public String getFormTableName() {
return formTableName;
}
public void setFormTableName(String formTableName) {
this.formTableName = formTableName;
}
public Integer getFormVersion() {
return formVersion;
}
public void setFormVersion(Integer formVersion) {
this.formVersion = formVersion;
}
}

View File

@ -0,0 +1,102 @@
package ink.wgink.module.form.service.design;
import ink.wgink.module.form.pojo.dtos.design.FormFieldDTO;
import ink.wgink.module.form.pojo.pos.design.FormFieldPO;
import ink.wgink.module.form.pojo.vos.design.FormFieldVO;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.SuccessResultList;
import java.util.List;
import java.util.Map;
public interface IFormFieldService {
/**
* 新增
*
* @param formFieldVO
* @return
*/
void save(FormFieldVO formFieldVO);
/**
* 新增
*
* @param formFieldVO
* @return 新增ID
*/
String saveReturnId(FormFieldVO formFieldVO);
/**
* 删除
*
* @param ids 表单字段ID列表
*/
void delete(List<String> ids);
/**
* 修改
*
* @param fieldId 表单字段ID
* @param formFieldVO
* @return
*/
void update(String fieldId, FormFieldVO formFieldVO);
/**
* 详情
*
* @param params
* @return
*/
FormFieldDTO get(Map<String, Object> params);
/**
* 详情
*
* @param fieldId 表单字段ID
* @return
*/
FormFieldDTO get(String fieldId);
/**
* 详情
*
* @param params
* @return
*/
FormFieldPO getPO(Map<String, Object> params);
/**
* 详情
*
* @param fieldId 表单字段ID
* @return
*/
FormFieldPO getPO(String fieldId);
/**
* 列表
*
* @param params
* @return
*/
List<FormFieldDTO> list(Map<String, Object> params);
/**
* 列表
*
* @param params
* @return
*/
List<FormFieldDTO> listPO(Map<String, Object> params);
/**
* 分页列表
*
* @param page
* @return
*/
SuccessResultList<List<FormFieldDTO>> listPage(ListPage page);
}

View File

@ -0,0 +1,109 @@
package ink.wgink.module.form.service.design;
import ink.wgink.module.form.pojo.dtos.design.FormDTO;
import ink.wgink.module.form.pojo.pos.design.FormPO;
import ink.wgink.module.form.pojo.vos.design.FormVO;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.SuccessResultList;
import java.util.List;
import java.util.Map;
public interface IFormService {
/**
* 新增
*
* @param formVO
* @return
*/
void save(FormVO formVO);
/**
* 新增
*
* @param formVO
* @return 新增ID
*/
String saveReturnId(FormVO formVO);
/**
* 删除
*
* @param ids 表单ID列表
*/
void delete(List<String> ids);
/**
* 删除
*
* @param ids 表达ID列表
*/
void remove(List<String> ids);
/**
* 修改
*
* @param formId 表单ID
* @param formVO
* @return
*/
void update(String formId, FormVO formVO);
/**
* 详情
*
* @param params
* @return
*/
FormDTO get(Map<String, Object> params);
/**
* 详情
*
* @param formId 表单ID
* @return
*/
FormDTO get(String formId);
/**
* 详情
*
* @param params
* @return
*/
FormPO getPO(Map<String, Object> params);
/**
* 详情
*
* @param formId 表单ID
* @return
*/
FormPO getPO(String formId);
/**
* 列表
*
* @param params
* @return
*/
List<FormDTO> list(Map<String, Object> params);
/**
* 列表
*
* @param params
* @return
*/
List<FormDTO> listPO(Map<String, Object> params);
/**
* 分页列表
*
* @param page
* @return
*/
SuccessResultList<List<FormDTO>> listPage(ListPage page);
}

View File

@ -0,0 +1,102 @@
package ink.wgink.module.form.service.design.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import ink.wgink.common.base.DefaultBaseService;
import ink.wgink.module.form.dao.design.IFormFieldDao;
import ink.wgink.module.form.pojo.dtos.design.FormFieldDTO;
import ink.wgink.module.form.pojo.pos.design.FormFieldPO;
import ink.wgink.module.form.pojo.vos.design.FormFieldVO;
import ink.wgink.module.form.service.design.IFormFieldService;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.SuccessResultList;
import ink.wgink.util.UUIDUtil;
import ink.wgink.util.map.HashMapUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class FormFieldServiceImpl extends DefaultBaseService implements IFormFieldService {
@Autowired
private IFormFieldDao formFieldDao;
@Override
public void save(FormFieldVO formFieldVO) {
saveReturnId(formFieldVO);
}
@Override
public String saveReturnId(FormFieldVO formFieldVO) {
String fieldId = UUIDUtil.getUUID();
Map<String, Object> params = HashMapUtil.beanToMap(formFieldVO);
params.put("fieldId", fieldId);
setSaveInfo(params);
formFieldDao.save(params);
return fieldId;
}
@Override
public void delete(List<String> ids) {
Map<String, Object> params = getHashMap(2);
params.put("formFieldIds", ids);
formFieldDao.delete(params);
}
@Override
public void update(String fieldId, FormFieldVO formFieldVO) {
Map<String, Object> params = HashMapUtil.beanToMap(formFieldVO);
params.put("fieldId", fieldId);
setUpdateInfo(params);
formFieldDao.update(params);
}
@Override
public FormFieldDTO get(Map<String, Object> params) {
params = params == null ? getHashMap(0) : params;
return formFieldDao.get(params);
}
@Override
public FormFieldDTO get(String fieldId) {
Map<String, Object> params = getHashMap(2);
params.put("fieldId", fieldId);
return get(params);
}
@Override
public FormFieldPO getPO(Map<String, Object> params) {
params = params == null ? getHashMap(0) : params;
return formFieldDao.getPO(params);
}
@Override
public FormFieldPO getPO(String fieldId) {
Map<String, Object> params = getHashMap(2);
params.put("fieldId", fieldId);
return getPO(params);
}
@Override
public List<FormFieldDTO> list(Map<String, Object> params) {
params = params == null ? getHashMap(2) : params;
return formFieldDao.list(params);
}
@Override
public List<FormFieldDTO> listPO(Map<String, Object> params) {
params = params == null ? getHashMap(2) : params;
return formFieldDao.listPO(params);
}
@Override
public SuccessResultList<List<FormFieldDTO>> listPage(ListPage page) {
PageHelper.startPage(page.getPage(), page.getRows());
List<FormFieldDTO> dataDTOs = list(page.getParams());
PageInfo<FormFieldDTO> pageInfo = new PageInfo<>(dataDTOs);
return new SuccessResultList<>(dataDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
}
}

View File

@ -0,0 +1,112 @@
package ink.wgink.module.form.service.design.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import ink.wgink.common.base.DefaultBaseService;
import ink.wgink.module.form.dao.design.IFormDao;
import ink.wgink.module.form.pojo.dtos.design.FormDTO;
import ink.wgink.module.form.pojo.dtos.design.FormFieldDTO;
import ink.wgink.module.form.pojo.pos.design.FormPO;
import ink.wgink.module.form.pojo.vos.design.FormVO;
import ink.wgink.module.form.service.design.IFormService;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.SuccessResultList;
import ink.wgink.util.UUIDUtil;
import ink.wgink.util.map.HashMapUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class FormServiceImpl extends DefaultBaseService implements IFormService {
@Autowired
private IFormDao formDao;
@Override
public void save(FormVO formVO) {
saveReturnId(formVO);
}
@Override
public String saveReturnId(FormVO formVO) {
String formId = UUIDUtil.getUUID();
Map<String, Object> params = HashMapUtil.beanToMap(formVO);
params.put("formId", formId);
setSaveInfo(params);
formDao.save(params);
return formId;
}
@Override
public void delete(List<String> ids) {
Map<String, Object> params = getHashMap(2);
params.put("formIds", ids);
formDao.delete(params);
}
@Override
public void remove(List<String> ids) {
Map<String, Object> params = getHashMap(2);
params.put("formIds", ids);
formDao.remove(params);
}
@Override
public void update(String formId, FormVO formVO) {
Map<String, Object> params = HashMapUtil.beanToMap(formVO);
params.put("formId", formId);
setUpdateInfo(params);
formDao.update(params);
}
@Override
public FormDTO get(Map<String, Object> params) {
params = params == null ? getHashMap(0) : params;
return formDao.get(params);
}
@Override
public FormDTO get(String formId) {
Map<String, Object> params = getHashMap(2);
params.put("formId", formId);
return get(params);
}
@Override
public FormPO getPO(Map<String, Object> params) {
params = params == null ? getHashMap(0) : params;
return formDao.getPO(params);
}
@Override
public FormPO getPO(String formId) {
Map<String, Object> params = getHashMap(2);
params.put("formId", formId);
return getPO(params);
}
@Override
public List<FormDTO> list(Map<String, Object> params) {
params = params == null ? getHashMap(2) : params;
return formDao.list(params);
}
@Override
public List<FormDTO> listPO(Map<String, Object> params) {
params = params == null ? getHashMap(2) : params;
return formDao.listPO(params);
}
@Override
public SuccessResultList<List<FormDTO>> listPage(ListPage page) {
PageHelper.startPage(page.getPage(), page.getRows());
List<FormDTO> dataDTOs = list(page.getParams());
PageInfo<FormDTO> pageInfo = new PageInfo<>(dataDTOs);
return new SuccessResultList<>(dataDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
}
}

View File

@ -0,0 +1,148 @@
<?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="ink.wgink.module.form.dao.design.IFormFieldDao">
<resultMap id="formFieldPO" type="ink.wgink.module.form.pojo.pos.design.FormFieldPO">
<id column="id" property="id"/>
<result column="form_id" property="formId"/>
<result column="field_id" property="fieldId"/>
<result column="field_name" property="fieldName"/>
<result column="field_explain" property="fieldExplain"/>
<result column="field_type" property="fieldType"/>
<result column="field_default" property="fieldDefault"/>
</resultMap>
<resultMap id="formFieldDTO" type="ink.wgink.module.form.pojo.dtos.design.FormFieldDTO">
<result column="form_id" property="formId"/>
<result column="field_id" property="fieldId"/>
<result column="field_name" property="fieldName"/>
<result column="field_explain" property="fieldExplain"/>
<result column="field_type" property="fieldType"/>
<result column="field_default" property="fieldDefault"/>
</resultMap>
<!-- 建表 -->
<update id="createTable">
CREATE TABLE IF NOT EXISTS `form_form_field` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`field_id` char(36) DEFAULT NULL COMMENT '主键',
`form_id` char(36) DEFAULT NULL COMMENT '字段ID',
`field_name` varchar(255) DEFAULT NULL COMMENT '字段名',
`field_explain` varchar(255) DEFAULT NULL COMMENT '字段说明',
`field_type` varchar(255) DEFAULT NULL COMMENT '字段类型',
`field_default` varchar(255) DEFAULT NULL COMMENT '字段默认',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字段字段';
</update>
<!-- 新增字段 -->
<insert id="save" parameterType="map" flushCache="true">
INSERT INTO form_field(
field_id,
form_id,
field_name,
field_explain,
field_type,
field_default
) VALUES(
#{fieldId},
#{formId},
#{fieldName},
#{fieldExplain},
#{fieldType},
#{fieldDefault}
)
</insert>
<!-- 删除字段(物理删除) -->
<delete id="delete" parameterType="map" flushCache="true">
DELETE FROM
form_field
WHERE
<if test="fieldIds != null and fieldIds.size > 0">
field_id IN
<foreach collection="fieldIds" index="index" open="(" separator="," close=")">
#{fieldIds[${index}]}
</foreach>
</if>
<if test="formId != null and formId != ''">
form_id = #{formId}
</if>
<if test="formIds != null and formIds.size > 0">
form_id IN
<foreach collection="formIds" index="index" open="(" separator="," close=")">
#{formIds[${index}]}
</foreach>
</if>
</delete>
<!-- 更新字段 -->
<update id="update" parameterType="map" flushCache="true">
UPDATE
form_field
SET
field_name = #{fieldName},
field_explain = #{fieldExplain},
field_type = #{fieldType},
field_default = #{fieldDefault}
WHERE
field_id = #{fieldId}
</update>
<!-- 详情 -->
<select id="get" parameterType="map" resultMap="formFieldDTO" useCache="true">
SELECT
field_id,
form_id,
field_name,
field_explain,
field_type,
field_default
FROM
form_field
WHERE
field_id = #{fieldId}
</select>
<!-- 详情PO -->
<select id="getPO" parameterType="map" resultMap="formFieldPO" useCache="true">
SELECT
field_id,
form_id,
field_name,
field_explain,
field_type,
field_default
FROM
form_field
WHERE
field_id = #{fieldId}
</select>
<!-- 列表 -->
<select id="list" parameterType="map" resultMap="formFieldDTO" useCache="true">
SELECT
field_id,
form_id,
field_name,
field_explain,
field_type,
field_default
FROM
form_field
</select>
<!-- 列表 -->
<select id="listPO" parameterType="map" resultMap="formFieldPO" useCache="true">
SELECT
field_id,
form_id,
field_name,
field_explain,
field_type,
field_default
FROM
form_field
</select>
</mapper>

View File

@ -0,0 +1,162 @@
<?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="ink.wgink.module.form.dao.design.IFormDao">
<resultMap id="formPO" type="ink.wgink.module.form.pojo.pos.design.FormPO">
<id column="id" property="id"/>
<result column="form_id" property="formId"/>
<result column="form_code" property="formCode"/>
<result column="form_name" property="formName"/>
<result column="form_summary" property="formSummary"/>
<result column="form_type" property="formType"/>
<result column="form_status" property="formStatus"/>
<result column="form_source_data" property="formSourceData"/>
<result column="form_page_code" property="formPageCode"/>
<result column="form_table_name" property="formTableName"/>
<result column="form_version" property="formVersion"/>
<result column="creator" property="creator"/>
<result column="gmt_create" property="gmtCreate"/>
<result column="modifier" property="modifier"/>
<result column="gmt_modified" property="gmtModified"/>
<result column="is_delete" property="isDelete"/>
</resultMap>
<resultMap id="formDTO" type="ink.wgink.module.form.pojo.dtos.design.FormDTO">
<result column="form_id" property="formId"/>
<result column="form_code" property="formCode"/>
<result column="form_name" property="formName"/>
<result column="form_summary" property="formSummary"/>
<result column="form_type" property="formType"/>
<result column="form_status" property="formStatus"/>
<result column="form_source_data" property="formSourceData"/>
<result column="form_page_code" property="formPageCode"/>
<result column="form_table_name" property="formTableName"/>
<result column="form_version" property="formVersion"/>
<result column="gmt_create" property="gmtCreate"/>
</resultMap>
<!-- 建表 -->
<update id="createTable">
CREATE TABLE IF NOT EXISTS `form_form` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`form_id` char(36) DEFAULT NULL COMMENT '主键',
`form_code` varchar(255) DEFAULT NULL COMMENT '表单编码',
`form_name` varchar(255) DEFAULT NULL COMMENT '表单名称',
`form_summary` text COMMENT '表单描述',
`form_type` varchar(20) DEFAULT NULL COMMENT '表单类型default、oa',
`form_status` varchar(20) DEFAULT NULL COMMENT '表单状态unactive、active',
`form_source_data` longtext COMMENT '表单页面源数据',
`form_page_code` longtext COMMENT '表单页面代码',
`form_table_name` varchar(255) DEFAULT NULL COMMENT '表单表名',
`form_version` int(11) DEFAULT NULL COMMENT '表单版本',
`creator` char(36) DEFAULT NULL COMMENT '创建人',
`gmt_create` datetime DEFAULT NULL COMMENT '创建时间',
`modifier` char(36) DEFAULT NULL COMMENT '修改人',
`gmt_modified` datetime DEFAULT NULL COMMENT '修改时间',
`is_delete` int(1) DEFAULT '0' COMMENT '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='表单';
</update>
<!-- 新增表单 -->
<insert id="save" parameterType="map" flushCache="true">
INSERT INTO form_form(
form_id,
form_code,
form_name,
form_summary,
form_type,
form_status,
form_source_data,
form_page_code,
form_table_name,
form_version,
creator,
gmt_create,
modifier,
gmt_modified,
is_delete
) VALUES(
#{formId},
#{formCode},
#{formName},
#{formSummary},
#{formType},
#{formStatus},
#{formSourceData},
#{formPageCode},
#{formTableName},
#{formVersion},
#{creator},
#{gmtCreate},
#{modifier},
#{gmtModified},
#{isDelete}
)
</insert>
<!-- 删除表单(物理删除) -->
<delete id="delete" parameterType="map" flushCache="true">
DELETE FROM
form_form
WHERE
form_id IN
<foreach collection="formIds" index="index" open="(" separator="," close=")">
#{formIds[${index}]}
</foreach>
</delete>
<!-- 删除表单 -->
<update id="remove" parameterType="map" flushCache="true">
UPDATE
form_form
SET
is_delete = 1,
modifier = #{modifier},
gmt_modified = #{gmtModified}
WHERE
form_id IN
<foreach collection="formIds" index="index" open="(" separator="," close=")">
#{formIds[${index}]}
</foreach>
</update>
<!-- 更新表单 -->
<update id="update" parameterType="map" flushCache="true">
UPDATE
form_form
SET
<if test="formCode != null and formCode != ''">
form_code = #{formCode},
</if>
<if test="formName != null and formName != ''">
form_name = #{formName},
</if>
<if test="formSummary != null and formSummary != ''">
form_summary = #{formSummary},
</if>
<if test="formType != null and formType != ''">
form_type = #{formType},
</if>
<if test="formStatus != null and formStatus != ''">
form_status = #{formStatus},
</if>
<if test="formSourceData != null and formSourceData != ''">
form_source_data = #{formSourceData},
</if>
<if test="formPageCode != null and formPageCode != ''">
form_page_code = #{formPageCode},
</if>
<if test="formTableName != null and formTableName != ''">
form_table_name = #{formTableName},
</if>
<if test="formVersion != null">
form_version = #{formVersion},
</if>
modifier = #{modifier},
gmt_modified = #{gmtModified}
WHERE
form_id = #{formId}
</update>
</mapper>