Browse Source

表单测试完成

recovery
zy_Java 5 years ago
parent
commit
4580fbcdeb
  1. 4
      cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java
  2. 11
      form/src/main/java/com/ccsens/form/bean/dto/FormDto.java
  3. 12
      form/src/main/java/com/ccsens/form/bean/dto/ModuleDto.java
  4. 12
      form/src/main/java/com/ccsens/form/bean/vo/FormVo.java
  5. 10
      form/src/main/java/com/ccsens/form/bean/vo/ModuleVo.java
  6. 2
      form/src/main/java/com/ccsens/form/persist/dao/FormBasicDao.java
  7. 2
      form/src/main/java/com/ccsens/form/persist/dao/ModuleDao.java
  8. 92
      form/src/main/java/com/ccsens/form/service/FormService.java
  9. 168
      form/src/main/java/com/ccsens/form/service/ModuleService.java
  10. 2
      form/src/main/resources/application-dev.yml
  11. 4
      form/src/main/resources/mapper_dao/FormBasicDao.xml
  12. 3
      form/src/main/resources/mapper_dao/ModuleDao.xml
  13. 5
      util/src/main/java/com/ccsens/util/QrCodeUtil.java

4
cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java

@ -91,12 +91,16 @@ public class MustLoginAspect {
}
JSONObject json = JSONObject.parseObject(JSON.toJSONString(response.getData()));
Long userId = json.getLong("id");
String userName = json.getString("userName");
String avatarUrl = json.getString("avatarUrl");
if (userId == null || userId == 0) {
return JsonResponse.newInstance().ok(CodeEnum.NOT_LOGIN);
}
if (dto != null) {
dto.setUserId(userId);
dto.setUserName(userName);
dto.setAvatarUrl(avatarUrl);
}
Object result = pjp.proceed();

11
form/src/main/java/com/ccsens/form/bean/dto/FormDto.java

@ -6,6 +6,7 @@ import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
/**
* @author
@ -15,7 +16,7 @@ public class FormDto {
@Data
@ApiModel("表单id")
public static class GetFormInfo{
@NotNull
@NotNull(message = "表单id不能为空")
@ApiModelProperty("表单id")
private Long formId;
}
@ -24,7 +25,7 @@ public class FormDto {
@Data
@ApiModel("用户填写表单信息的Id")
public static class FormUser{
@NotNull
@NotNull(message = "用户表单关联信息的id不能为空")
@ApiModelProperty("用户填写表单信息的id")
private Long formUserId;
}
@ -33,9 +34,11 @@ public class FormDto {
@ApiModel("添加表单")
public static class SaveForm{
@NotBlank(message = "标题不能为空")
@Size(max = 50,message = "标题不能超过50字")
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("详情")
@Size(max = 500,message = "标题不能超过50字")
private String description;
@ApiModelProperty("封面图片文件的id")
private Long coverImageId;
@ -45,12 +48,14 @@ public class FormDto {
@Data
@ApiModel("修改表单")
public static class UpdateForm{
@NotNull
@NotNull(message = "表单id不能为空")
@ApiModelProperty("表单id")
private Long formId;
@ApiModelProperty("标题")
@Size(max = 50,message = "标题不能超过50字")
private String title;
@ApiModelProperty("详情")
@Size(max = 500,message = "标题不能超过50字")
private String description;
@ApiModelProperty("封面图片文件的id")
private Long coverImageId;

12
form/src/main/java/com/ccsens/form/bean/dto/ModuleDto.java

@ -16,7 +16,7 @@ public class ModuleDto {
@Data
@ApiModel("表单内的组件id")
public static class GetFormModule{
@NotNull
@NotNull(message = "表单内组件id不能为空")
@ApiModelProperty("表单组件关联id")
private Long formModuleId;
@ -45,10 +45,8 @@ public class ModuleDto {
public static class ModuleConfig{
@ApiModelProperty("类型 0显示 1校验 2统计 默认0")
private Byte type;
@NotBlank
@ApiModelProperty("组件配置code")
private String configKey;
@NotBlank
@ApiModelProperty("配置的内容")
private String configValue;
}
@ -56,10 +54,8 @@ public class ModuleDto {
@Data
@ApiModel("修改组件配置")
public static class ModuleOption{
@NotBlank
@ApiModelProperty("选项配置code")
private String optionKey;
@NotBlank
@ApiModelProperty("选项内容")
private String optionValue;
@ApiModelProperty("子选项")
@ -69,10 +65,10 @@ public class ModuleDto {
@Data
@ApiModel("给表单添加组件")
public static class SaveModule{
@NotNull
@NotNull(message = "表单id不能为空")
@ApiModelProperty("表单id")
private Long formId;
@NotNull
@NotNull(message = "组件id不能为空")
@ApiModelProperty("组件id")
private Long moduleId;
}
@ -81,7 +77,7 @@ public class ModuleDto {
@Data
@ApiModel("添加多个组件")
public static class SaveMoreModule{
@NotNull
@NotNull(message = "表单id不能为空")
@ApiModelProperty("表单id")
private Long formId;
@ApiModelProperty("组件id")

12
form/src/main/java/com/ccsens/form/bean/vo/FormVo.java

@ -40,15 +40,15 @@ public class FormVo {
@ApiModelProperty("表单内的组件id")
private Long formModuleId;
@ApiModelProperty("组件类型 (单选:radio)(多选:CheckBox)(下拉菜单:pullDown)(文本:text)(多行文本:textarea)(富文本:richText)(日期:date)")
private byte type;
private String type;
@ApiModelProperty("图标")
private String logo;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("是否有选项 0否 1是")
private byte option;
private Byte option;
@ApiModelProperty("关联层级数")
private byte hierarchy;
private Byte hierarchy;
@ApiModelProperty("当前用户已填写的答案")
private String answer;
@ApiModelProperty("组件配置")
@ -63,7 +63,7 @@ public class FormVo {
@ApiModelProperty("组件配置的id")
private Long configId;
@ApiModelProperty("类型 0显示 1校验")
private byte type;
private Byte type;
@ApiModelProperty("配置类型code")
private String configKey;
@ApiModelProperty("内容")
@ -80,9 +80,9 @@ public class FormVo {
@ApiModelProperty("选项value")
private String optionValue;
@ApiModelProperty("排序")
private int sequence;
private Integer sequence;
@ApiModelProperty("是否被选中 0否 1是")
private byte choose;
private Byte choose;
@ApiModelProperty("子选项")
private List<FormOptionVo> subOption;
}

10
form/src/main/java/com/ccsens/form/bean/vo/ModuleVo.java

@ -39,15 +39,15 @@ public class ModuleVo {
@ApiModelProperty("组件id")
private Long id;
@ApiModelProperty("组件类型 (单选:radio)(多选:CheckBox)(下拉菜单:pullDown)(文本:text)(多行文本:textarea)(富文本:richText)(日期:date)")
private byte type;
private String type;
@ApiModelProperty("图标")
private String logo;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("是否有选项 0否 1是")
private byte option;
private Byte option;
@ApiModelProperty("关联层级数")
private byte hierarchy;
private Byte hierarchy;
@ApiModelProperty("组件配置")
private List<ModuleConfig> moduleConfigList;
@ApiModelProperty("选项信息")
@ -60,7 +60,7 @@ public class ModuleVo {
@ApiModelProperty("组件配置的id")
private Long configId;
@ApiModelProperty("类型 0显示 1校验")
private byte type;
private Byte type;
@ApiModelProperty("配置类型code")
private String configKey;
@ApiModelProperty("内容")
@ -77,7 +77,7 @@ public class ModuleVo {
@ApiModelProperty("选项value")
private String optionValue;
@ApiModelProperty("排序")
private int sequence;
private Integer sequence;
@ApiModelProperty("子选项")
private List<Option> subOption;
}

2
form/src/main/java/com/ccsens/form/persist/dao/FormBasicDao.java

@ -44,5 +44,5 @@ public interface FormBasicDao extends FormBasicMapper {
* @param formModuleId 表单id
* @param userId userId 操作人id
*/
void deleteModule(@Param("formModuleId")Long formModuleId, @Param("formId")Long userId);
void deleteModule(@Param("formModuleId")Long formModuleId, @Param("userId")Long userId);
}

2
form/src/main/java/com/ccsens/form/persist/dao/ModuleDao.java

@ -61,5 +61,5 @@ public interface ModuleDao extends ModuleMapper {
* @param formId
* @return
*/
int getMaxSequence(@Param("formId")Long formId);
Integer getMaxSequence(@Param("formId")Long formId);
}

92
form/src/main/java/com/ccsens/form/service/FormService.java

@ -36,7 +36,7 @@ import java.util.List;
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class FormService implements IFormService{
public class FormService implements IFormService {
@Resource
private FormBasicDao formBasicDao;
@Resource
@ -84,23 +84,24 @@ public class FormService implements IFormService{
//查找表单信息
FormBasic formBasic = formBasicDao.selectByPrimaryKey(param.getFormId());
if(ObjectUtil.isNotNull(formBasic)){
//验证是否是创建表单的用户
if(!formBasic.getUserId().equals(userId)){
throw new BaseException(CodeEnum.NOT_POWER);
}
if(StrUtil.isNotEmpty(param.getTitle())){
formBasic.setTitle(param.getTitle());
}
if(StrUtil.isNotEmpty(param.getDescription())){
formBasic.setDescription(param.getDescription());
}
if(ObjectUtil.isNotNull(param.getCoverImageId())){
formBasic.setCoverImage(param.getCoverImageId());
}
formBasic.setOperator(userId);
formBasicDao.updateByPrimaryKeySelective(formBasic);
if (ObjectUtil.isNull(formBasic)) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
//验证是否是创建表单的用户
if (!formBasic.getUserId().equals(userId)) {
throw new BaseException(CodeEnum.NOT_POWER);
}
if (StrUtil.isNotEmpty(param.getTitle())) {
formBasic.setTitle(param.getTitle());
}
if (StrUtil.isNotEmpty(param.getDescription())) {
formBasic.setDescription(param.getDescription());
}
if (ObjectUtil.isNotNull(param.getCoverImageId())) {
formBasic.setCoverImage(param.getCoverImageId());
}
formBasic.setOperator(userId);
formBasicDao.updateByPrimaryKeySelective(formBasic);
}
/**
@ -110,14 +111,16 @@ public class FormService implements IFormService{
public void deleteFormInfo(FormDto.GetFormInfo param, Long userId) {
//查找表信息
FormBasic formBasic = formBasicDao.selectByPrimaryKey(param.getFormId());
if(ObjectUtil.isNotNull(formBasic)) {
//验证是否是创建表单的用户
if (!formBasic.getUserId().equals(userId)) {
throw new BaseException(CodeEnum.NOT_POWER);
}
//删除表单和关联的信息
formBasicDao.deleteForm(param.getFormId(),userId);
if (ObjectUtil.isNull(formBasic)) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
//验证是否是创建表单的用户
if (!formBasic.getUserId().equals(userId)) {
throw new BaseException(CodeEnum.NOT_POWER);
}
//删除表单和关联的信息
formBasicDao.deleteForm(param.getFormId(), userId);
}
/**
@ -129,7 +132,7 @@ public class FormService implements IFormService{
//查询该用户是否有表单的记录信息
FormUserExample formUserExample = new FormUserExample();
formUserExample.createCriteria().andFormIdEqualTo(formInfo.getFormId()).andUserIdEqualTo(params.getUserId());
if(formUserMapper.countByExample(formUserExample) > 0){
if (formUserMapper.countByExample(formUserExample) < 0) {
//没有则添加一条 状态为0未提交
FormUser formUser = new FormUser();
formUser.setId(snowflake.nextId());
@ -142,39 +145,39 @@ public class FormService implements IFormService{
formUserMapper.insertSelective(formUser);
}
//查询表单信息和此用户填写的信息
return getFormInfoByFormIdAndUserId(formInfo.getFormId(),params.getUserId());
return getFormInfoByFormIdAndUserId(formInfo.getFormId(), params.getUserId());
}
@Override
public FormVo.GetFormInfo getFormByFormUserId(FormDto.FormUser param) {
FormUser formUser = formUserMapper.selectByPrimaryKey(param.getFormUserId());
if(ObjectUtil.isNull(formUser)) {
if (ObjectUtil.isNull(formUser)) {
return null;
}
return getFormInfoByFormIdAndUserId(formUser.getFormId(),formUser.getUserId());
return getFormInfoByFormIdAndUserId(formUser.getFormId(), formUser.getUserId());
}
private FormVo.GetFormInfo getFormInfoByFormIdAndUserId(Long formId,Long userId){
private FormVo.GetFormInfo getFormInfoByFormIdAndUserId(Long formId, Long userId) {
//获取表单基本信息
FormVo.GetFormInfo formInfo = new FormVo.GetFormInfo();
FormBasic formBasic = formBasicDao.selectByPrimaryKey(formId);
if(ObjectUtil.isNotNull(formBasic)){
if (ObjectUtil.isNull(formBasic)) {
return formInfo;
}
BeanUtil.copyProperties(formBasic,formInfo);
BeanUtil.copyProperties(formBasic, formInfo);
//查找封面图片路径
CommonFile commonFile = commonFileMapper.selectByPrimaryKey(formBasic.getCoverImage());
if(ObjectUtil.isNotNull(commonFile)){
if (ObjectUtil.isNotNull(commonFile)) {
formInfo.setCoverImagePath(commonFile.getVisitLocation());
}
//获取组件信息及除了选择题以外的答案
List<FormVo.FormModuleVo> formModuleVo = formBasicDao.getFormModuleByFormId(formId, userId);
if(CollectionUtil.isNotEmpty(formModuleVo)){
if (CollectionUtil.isNotEmpty(formModuleVo)) {
formModuleVo.forEach(formModule -> {
//获取组件配置信息
List<ModuleVo.ModuleConfig> moduleConfigList = moduleDao.getConfigByFormModuleId(formModule.getFormModuleId());
//没有配置信息则查询默认配置
if(CollectionUtil.isEmpty(moduleConfigList)){
if (CollectionUtil.isEmpty(moduleConfigList)) {
moduleConfigList = moduleDao.getConfigByModuleId(formModule.getId());
}
formModule.setModuleConfigList(moduleConfigList);
@ -186,15 +189,16 @@ public class FormService implements IFormService{
formInfo.setModuleList(formModuleVo);
return formInfo;
}
/**
* 通过表单内的组价id和上级id查看选项信息
*/
private List<FormVo.FormOptionVo> queryOption(Long formModuleId, Long parentId, Long userId){
List<FormVo.FormOptionVo> optionList = moduleDao.queryOption(formModuleId,parentId,userId);
if(CollectionUtil.isNotEmpty(optionList)){
private List<FormVo.FormOptionVo> queryOption(Long formModuleId, Long parentId, Long userId) {
List<FormVo.FormOptionVo> optionList = moduleDao.queryOption(formModuleId, parentId, userId);
if (CollectionUtil.isNotEmpty(optionList)) {
optionList.forEach(option -> {
List<FormVo.FormOptionVo> subOptionList = queryOption(formModuleId,option.getId(),userId);
if(CollectionUtil.isNotEmpty(subOptionList)) {
List<FormVo.FormOptionVo> subOptionList = queryOption(formModuleId, option.getId(), userId);
if (CollectionUtil.isNotEmpty(subOptionList)) {
option.setSubOption(subOptionList);
}
});
@ -236,26 +240,26 @@ public class FormService implements IFormService{
//表单的基本信息
ModuleVo.FormInfo formInfo = new ModuleVo.FormInfo();
FormBasic formBasic = formBasicDao.selectByPrimaryKey(param.getFormId());
if(ObjectUtil.isNull(formBasic)){
if (ObjectUtil.isNull(formBasic)) {
return formInfo;
}
BeanUtil.copyProperties(formBasic,formInfo);
BeanUtil.copyProperties(formBasic, formInfo);
//查找封面图片路径
CommonFile commonFile = commonFileMapper.selectByPrimaryKey(formBasic.getCoverImage());
if(ObjectUtil.isNotNull(commonFile)){
if (ObjectUtil.isNotNull(commonFile)) {
formInfo.setCoverImagePath(commonFile.getVisitLocation());
}
//查找关联的组件
FormModuleExample formModuleExample = new FormModuleExample();
formModuleExample.createCriteria().andFormIdEqualTo(param.getFormId());
List<FormModule> formModuleList = formModuleMapper.selectByExample(formModuleExample);
if(CollectionUtil.isEmpty(formModuleList)){
if (CollectionUtil.isEmpty(formModuleList)) {
return formInfo;
}
List<ModuleVo.ModuleInfo> moduleInfoList = new ArrayList<>();
formModuleList.forEach(formModule -> {
ModuleVo.ModuleInfo moduleInfo = moduleService.getFormModule(new ModuleDto.GetFormModule(formModule.getId()));
if(ObjectUtil.isNotNull(moduleInfo)) {
if (ObjectUtil.isNotNull(moduleInfo)) {
moduleInfoList.add(moduleInfo);
}
});

168
form/src/main/java/com/ccsens/form/service/ModuleService.java

@ -27,7 +27,7 @@ import java.util.List;
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class ModuleService implements IModuleService{
public class ModuleService implements IModuleService {
@Resource
private ModuleDao moduleDao;
@Resource
@ -56,31 +56,32 @@ public class ModuleService implements IModuleService{
public ModuleVo.ModuleInfo getFormModule(ModuleDto.GetFormModule param) {
//查找组件基本信息
ModuleVo.ModuleInfo moduleInfo = moduleDao.getModuleByFormModuleId(param.getFormModuleId());
if(ObjectUtil.isNotNull(moduleInfo)){
//查找当前组件的配置
List<ModuleVo.ModuleConfig> moduleConfigList = moduleDao.getConfigByFormModuleId(param.getFormModuleId());
//没有配置信息则查询默认配置
if(CollectionUtil.isEmpty(moduleConfigList)){
moduleConfigList = moduleDao.getConfigByModuleId(moduleInfo.getId());
}
moduleInfo.setModuleConfigList(moduleConfigList);
//查找选项信息
List<ModuleVo.Option> optionList = getOptionByFormModuleId(param.getFormModuleId(),0L);
moduleInfo.setOptionList(optionList);
if (ObjectUtil.isNull(moduleInfo)) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
//查找当前组件的配置
List<ModuleVo.ModuleConfig> moduleConfigList = moduleDao.getConfigByFormModuleId(param.getFormModuleId());
//没有配置信息则查询默认配置
if (CollectionUtil.isEmpty(moduleConfigList)) {
moduleConfigList = moduleDao.getConfigByModuleId(moduleInfo.getId());
}
moduleInfo.setModuleConfigList(moduleConfigList);
//查找选项信息
List<ModuleVo.Option> optionList = getOptionByFormModuleId(param.getFormModuleId(), 0L);
moduleInfo.setOptionList(optionList);
return moduleInfo;
}
/**
* 通过表单内的组价id和上级id查看选项信息
*/
private List<ModuleVo.Option> getOptionByFormModuleId(Long formModuleId,Long parentId){
List<ModuleVo.Option> optionList = moduleDao.getOptionByFormModuleId(formModuleId,parentId);
if(CollectionUtil.isNotEmpty(optionList)){
private List<ModuleVo.Option> getOptionByFormModuleId(Long formModuleId, Long parentId) {
List<ModuleVo.Option> optionList = moduleDao.getOptionByFormModuleId(formModuleId, parentId);
if (CollectionUtil.isNotEmpty(optionList)) {
optionList.forEach(option -> {
List<ModuleVo.Option> subOptionList = getOptionByFormModuleId(formModuleId,option.getId());
if(CollectionUtil.isNotEmpty(subOptionList)) {
List<ModuleVo.Option> subOptionList = getOptionByFormModuleId(formModuleId, option.getId());
if (CollectionUtil.isNotEmpty(subOptionList)) {
option.setSubOption(subOptionList);
}
});
@ -93,12 +94,12 @@ public class ModuleService implements IModuleService{
* 修改组件的配置和选项
*/
@Override
public void updateFormModule(ModuleDto.UpdateFormModule param,Long userId) {
public void updateFormModule(ModuleDto.UpdateFormModule param, Long userId) {
//查询以前的配置,删除
FormModuleConfigExample moduleConfigExample = new FormModuleConfigExample();
moduleConfigExample.createCriteria().andFormModuleIdEqualTo(param.getFormModuleId());
List<FormModuleConfig> formModuleConfigList = formModuleConfigMapper.selectByExample(moduleConfigExample);
if(CollectionUtil.isNotEmpty(formModuleConfigList)){
if (CollectionUtil.isNotEmpty(formModuleConfigList)) {
formModuleConfigList.forEach(formModuleConfig -> {
formModuleConfig.setRecStatus((byte) 2);
formModuleConfig.setOperator(userId);
@ -109,7 +110,7 @@ public class ModuleService implements IModuleService{
FormModuleOptionExample moduleOptionExample = new FormModuleOptionExample();
moduleOptionExample.createCriteria().andFormModuleIdEqualTo(param.getFormModuleId());
List<FormModuleOption> formModuleOptionList = formModuleOptionMapper.selectByExample(moduleOptionExample);
if(CollectionUtil.isNotEmpty(formModuleOptionList)){
if (CollectionUtil.isNotEmpty(formModuleOptionList)) {
formModuleOptionList.forEach(formModuleOption -> {
formModuleOption.setRecStatus((byte) 2);
formModuleOption.setOperator(userId);
@ -117,7 +118,7 @@ public class ModuleService implements IModuleService{
});
}
//添加新配置
if(CollectionUtil.isNotEmpty(param.getConfigList())){
if (CollectionUtil.isNotEmpty(param.getConfigList())) {
param.getConfigList().forEach(config -> {
FormModuleConfig formModuleConfig = new FormModuleConfig();
formModuleConfig.setId(snowflake.nextId());
@ -130,13 +131,13 @@ public class ModuleService implements IModuleService{
});
}
//添加新选项
saveOption(param.getOptionList(),param.getFormModuleId(),userId,0L);
saveOption(param.getOptionList(), param.getFormModuleId(), userId, 0L);
}
private void saveOption(List<ModuleDto.ModuleOption> moduleOptionList, Long formModuleId, Long userId, Long parentId){
if(CollectionUtil.isNotEmpty(moduleOptionList)){
private void saveOption(List<ModuleDto.ModuleOption> moduleOptionList, Long formModuleId, Long userId, Long parentId) {
if (CollectionUtil.isNotEmpty(moduleOptionList)) {
int sequence = 1;
for (ModuleDto.ModuleOption moduleOption : moduleOptionList){
for (ModuleDto.ModuleOption moduleOption : moduleOptionList) {
FormModuleOption formModuleOption = new FormModuleOption();
formModuleOption.setId(snowflake.nextId());
formModuleOption.setFormModuleId(formModuleId);
@ -146,8 +147,8 @@ public class ModuleService implements IModuleService{
formModuleOption.setOptionKey(moduleOption.getOptionKey());
formModuleOption.setOptionValue(moduleOption.getOptionValue());
formModuleOptionMapper.insertSelective(formModuleOption);
if(CollectionUtil.isNotEmpty(moduleOption.getSubOptionList())){
saveOption(moduleOption.getSubOptionList(),formModuleId,userId,formModuleOption.getId());
if (CollectionUtil.isNotEmpty(moduleOption.getSubOptionList())) {
saveOption(moduleOption.getSubOptionList(), formModuleId, userId, formModuleOption.getId());
}
sequence++;
}
@ -156,81 +157,102 @@ public class ModuleService implements IModuleService{
/**
* 添加组件
* @param param 表单id 和组件id
*
* @param param 表单id 和组件id
* @param userId 组件id
*/
@Override
public void saveModule(ModuleDto.SaveModule param, Long userId) {
//查找表单信息
FormBasic formBasic = formBasicDao.selectByPrimaryKey(param.getFormId());
if(ObjectUtil.isNotNull(formBasic)) {
//验证是否是创建表单的用户
if (!formBasic.getUserId().equals(userId)) {
throw new BaseException(CodeEnum.NOT_POWER);
}
//查找该表单内组件当前的最大排序
int sequence = moduleDao.getMaxSequence(param.getFormId());
//添加数据
FormModule formModule = new FormModule();
formModule.setId(snowflake.nextId());
formModule.setFormId(param.getFormId());
formModule.setModuleId(param.getModuleId());
formModule.setSequence(sequence + 1);
formModule.setOperator(userId);
formModuleMapper.insertSelective(formModule);
if (ObjectUtil.isNull(formBasic)) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
//验证是否是创建表单的用户
if (!formBasic.getUserId().equals(userId)) {
throw new BaseException(CodeEnum.NOT_POWER);
}
Module module = moduleDao.selectByPrimaryKey(param.getModuleId());
if (ObjectUtil.isNull(module)) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
//查找该表单内组件当前的最大排序
Integer sequence = moduleDao.getMaxSequence(param.getFormId());
sequence = sequence == null ? 0 : sequence;
//添加数据
FormModule formModule = new FormModule();
formModule.setId(snowflake.nextId());
formModule.setFormId(param.getFormId());
formModule.setModuleId(param.getModuleId());
formModule.setSequence(sequence + 1);
formModule.setOperator(userId);
formModuleMapper.insertSelective(formModule);
}
/**
* 同时添加多个组件
* @param param 表单id和组件id
*
* @param param 表单id和组件id
* @param userId userId
*/
@Override
public void saveMoreModule(ModuleDto.SaveMoreModule param, Long userId) {
//查找表单信息
FormBasic formBasic = formBasicDao.selectByPrimaryKey(param.getFormId());
if(ObjectUtil.isNotNull(formBasic)) {
//验证是否是创建表单的用户
if (!formBasic.getUserId().equals(userId)) {
throw new BaseException(CodeEnum.NOT_POWER);
}
if(CollectionUtil.isNotEmpty(param.getModuleIdList())){
//查找该表单内组件当前的最大排序
int sequence = moduleDao.getMaxSequence(param.getFormId());
for(Long moduleId : param.getModuleIdList()){
sequence++;
//添加数据
FormModule formModule = new FormModule();
formModule.setId(snowflake.nextId());
formModule.setFormId(param.getFormId());
formModule.setModuleId(moduleId);
formModule.setSequence(sequence);
formModule.setOperator(userId);
formModuleMapper.insertSelective(formModule);
if (ObjectUtil.isNull(formBasic)) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
//验证是否是创建表单的用户
if (!formBasic.getUserId().equals(userId)) {
throw new BaseException(CodeEnum.NOT_POWER);
}
if (CollectionUtil.isNotEmpty(param.getModuleIdList())) {
//查找该表单内组件当前的最大排序
Integer sequence = moduleDao.getMaxSequence(param.getFormId());
sequence = sequence == null ? 0 : sequence;
for (Long moduleId : param.getModuleIdList()) {
Module module = moduleDao.selectByPrimaryKey(moduleId);
if (ObjectUtil.isNull(module)) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
sequence++;
//添加数据
FormModule formModule = new FormModule();
formModule.setId(snowflake.nextId());
formModule.setFormId(param.getFormId());
formModule.setModuleId(moduleId);
formModule.setSequence(sequence);
formModule.setOperator(userId);
formModuleMapper.insertSelective(formModule);
}
}
}
/**
* 删除表单内的组件
* @param param 表单内的组件id
*
* @param param 表单内的组件id
* @param userId userId
*/
@Override
public void deleteFormModule(ModuleDto.GetFormModule param, Long userId) {
//查找表单内的组件的信息信息
FormModule formModule = formModuleMapper.selectByPrimaryKey(param.getFormModuleId());
if(ObjectUtil.isNotNull(formModule)) {
//查找表单信息
FormBasic formBasic = formBasicDao.selectByPrimaryKey(formModule.getFormId());
//验证是否是创建表单的用户
if (!formBasic.getUserId().equals(userId)) {
throw new BaseException(CodeEnum.NOT_POWER);
}
//删除组件和关联的信息
formBasicDao.deleteModule(param.getFormModuleId(),userId);
if (ObjectUtil.isNull(formModule)) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
//查找表单信息
FormBasic formBasic = formBasicDao.selectByPrimaryKey(formModule.getFormId());
if (ObjectUtil.isNull(formBasic)) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
//验证是否是创建表单的用户
if (!formBasic.getUserId().equals(userId)) {
throw new BaseException(CodeEnum.NOT_POWER);
}
//删除组件和关联的信息
formBasicDao.deleteModule(param.getFormModuleId(), userId);
}
}

2
form/src/main/resources/application-dev.yml

@ -4,7 +4,7 @@ server:
context-path:
spring:
application:
name: wisdomcar
name: form
datasource:
type: com.alibaba.druid.pool.DruidDataSource
rabbitmq:

4
form/src/main/resources/mapper_dao/FormBasicDao.xml

@ -40,7 +40,7 @@
t_form_module fm
LEFT JOIN t_form_module_config mc on mc.form_module_id = fm.id and mc.rec_status = 0
LEFT JOIN t_form_module_option o on o.form_module_id = fm.id and o.rec_status = 0
LEFT JOIN t_form_write w on w.form_module_id = u.id and w.rec_status = 0
LEFT JOIN t_form_write w on w.form_module_id = fm.id and w.rec_status = 0
SET
fm.rec_status = 2,
fm.operator = #{userId},
@ -52,7 +52,7 @@
w.operator = #{userId}
WHERE
fm.id = #{formModuleId}
and fb.rec_status = 0
and fm.rec_status = 0
</update>
<select id="getFormList" resultType="com.ccsens.form.bean.vo.FormVo$FormList">

3
form/src/main/resources/mapper_dao/ModuleDao.xml

@ -120,7 +120,8 @@
LEFT JOIN
(
SELECT
w.answer
w.answer,
w.option_id
FROM
t_form_write w,
t_form_user u

5
util/src/main/java/com/ccsens/util/QrCodeUtil.java

@ -104,7 +104,10 @@ public class QrCodeUtil {
HashMap<EncodeHintType, Object> hints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
BitMatrix bitMatrix =qrCodeWriter.encode(value, BarcodeFormat.QR_CODE, 1000, 1000,hints);
File file = new File(filePath, fileName);
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
Path path = FileSystems.getDefault().getPath(filePath + fileName);
MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);

Loading…
Cancel
Save