修改商城的接口url的前缀
This commit is contained in:
parent
cf2ea3a12f
commit
21a007305e
@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.PathVariable;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
@RequestMapping("/app/user/category")
|
@RequestMapping("/app/category")
|
||||||
@RestController
|
@RestController
|
||||||
@Tag(name = "APP - 商品类型")
|
@Tag(name = "APP - 商品类型")
|
||||||
@Validated
|
@Validated
|
||||||
|
|||||||
@ -25,7 +25,7 @@ import java.util.List;
|
|||||||
* @Data: 2025-06-16 20:50
|
* @Data: 2025-06-16 20:50
|
||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/app/user/collect")
|
@RequestMapping("/app/collect")
|
||||||
@Tag(name = "APP - 商品收藏管理")
|
@Tag(name = "APP - 商品收藏管理")
|
||||||
@Validated
|
@Validated
|
||||||
@SaCheckLogin(type = StpUtil.TYPE)
|
@SaCheckLogin(type = StpUtil.TYPE)
|
||||||
|
|||||||
@ -28,7 +28,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@RequestMapping("/app/user/goods")
|
@RequestMapping("/app/goods")
|
||||||
@RestController
|
@RestController
|
||||||
@Tag(name = "APP - 商品")
|
@Tag(name = "APP - 商品")
|
||||||
@Validated
|
@Validated
|
||||||
|
|||||||
@ -33,7 +33,7 @@ import java.util.List;
|
|||||||
@DecryptionAnnotation
|
@DecryptionAnnotation
|
||||||
@EncryptionAnnotation
|
@EncryptionAnnotation
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/app/user/address")
|
@RequestMapping("/app/address")
|
||||||
@Tag(name = "APP - 收货地址管理")
|
@Tag(name = "APP - 收货地址管理")
|
||||||
@Validated
|
@Validated
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|||||||
@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/app/user/after-sale")
|
@RequestMapping("/app/after-sale")
|
||||||
@Tag(name = "APP - 交易售后")
|
@Tag(name = "APP - 交易售后")
|
||||||
@Validated
|
@Validated
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|||||||
@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@RequestMapping("/app/user/mall/cart")
|
@RequestMapping("/app/mall/cart")
|
||||||
@RestController
|
@RestController
|
||||||
@Tag(name = "APP - 购物车")
|
@Tag(name = "APP - 购物车")
|
||||||
@Validated
|
@Validated
|
||||||
|
|||||||
@ -32,7 +32,7 @@ import java.util.List;
|
|||||||
@Tag(name = "APP - 物流")
|
@Tag(name = "APP - 物流")
|
||||||
@Validated
|
@Validated
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/app/user/logistics")
|
@RequestMapping("/app/logistics")
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AppLogisticsController {
|
public class AppLogisticsController {
|
||||||
|
|
||||||
|
|||||||
@ -45,7 +45,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
@Tag(name = "APP - 用户订单")
|
@Tag(name = "APP - 用户订单")
|
||||||
@Validated
|
@Validated
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/app/user/order")
|
@RequestMapping("/app/order")
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@DecryptionAnnotation
|
@DecryptionAnnotation
|
||||||
@EncryptionAnnotation
|
@EncryptionAnnotation
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.seer.teach.mp.mapper;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.seer.teach.mp.entity.MpActivityFormFieldEntity;
|
import com.seer.teach.mp.entity.MpActivityFormFieldEntity;
|
||||||
|
import org.apache.ibatis.annotations.Delete;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -15,4 +16,6 @@ import org.apache.ibatis.annotations.Mapper;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface MpActivityFormFieldMapper extends BaseMapper<MpActivityFormFieldEntity> {
|
public interface MpActivityFormFieldMapper extends BaseMapper<MpActivityFormFieldEntity> {
|
||||||
|
|
||||||
|
@Delete("DELETE FROM mp_activity_form_field WHERE form_id = #{formId}")
|
||||||
|
int deleteByFormId(Integer formId);
|
||||||
}
|
}
|
||||||
@ -1,5 +1,7 @@
|
|||||||
package com.seer.teach.mp.admin.service.impl;
|
package com.seer.teach.mp.admin.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.seer.teach.common.constants.CommonConstant;
|
import com.seer.teach.common.constants.CommonConstant;
|
||||||
import com.seer.teach.common.utils.CommonUtils;
|
import com.seer.teach.common.utils.CommonUtils;
|
||||||
import com.seer.teach.mp.admin.controller.req.ActivityFormReq;
|
import com.seer.teach.mp.admin.controller.req.ActivityFormReq;
|
||||||
@ -7,13 +9,19 @@ import com.seer.teach.mp.admin.controller.resp.AdminActivityFormResp;
|
|||||||
import com.seer.teach.mp.admin.convert.AdminActivityFormConvert;
|
import com.seer.teach.mp.admin.convert.AdminActivityFormConvert;
|
||||||
import com.seer.teach.mp.admin.service.IAdminActivityFormService;
|
import com.seer.teach.mp.admin.service.IAdminActivityFormService;
|
||||||
import com.seer.teach.mp.entity.MpActivityFormEntity;
|
import com.seer.teach.mp.entity.MpActivityFormEntity;
|
||||||
|
import com.seer.teach.mp.entity.MpActivityFormFieldEntity;
|
||||||
import com.seer.teach.mp.entity.MpActivityFormRelationEntity;
|
import com.seer.teach.mp.entity.MpActivityFormRelationEntity;
|
||||||
|
import com.seer.teach.mp.service.IMpActivityFormFieldService;
|
||||||
import com.seer.teach.mp.service.IMpActivityFormRelationService;
|
import com.seer.teach.mp.service.IMpActivityFormRelationService;
|
||||||
import com.seer.teach.mp.service.IMpActivityFormService;
|
import com.seer.teach.mp.service.IMpActivityFormService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -33,12 +41,17 @@ public class AdminActivityFormServiceImpl implements IAdminActivityFormService {
|
|||||||
|
|
||||||
private final IMpActivityFormRelationService activityFormRelationService;
|
private final IMpActivityFormRelationService activityFormRelationService;
|
||||||
|
|
||||||
|
private final IMpActivityFormFieldService activityFormFieldService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean save(ActivityFormReq request) {
|
public Boolean save(ActivityFormReq request) {
|
||||||
MpActivityFormEntity form = AdminActivityFormConvert.INSTANCE.convertToEntity(request);
|
MpActivityFormEntity form = AdminActivityFormConvert.INSTANCE.convertToEntity(request);
|
||||||
boolean saveResult = activityFormService.save(form);
|
boolean saveResult = activityFormService.save(form);
|
||||||
|
|
||||||
if (saveResult) {
|
if (saveResult) {
|
||||||
|
// 保存表单字段
|
||||||
|
saveOrUpdateFormFields(form.getId(), request.getFields());
|
||||||
|
|
||||||
MpActivityFormRelationEntity relation = new MpActivityFormRelationEntity();
|
MpActivityFormRelationEntity relation = new MpActivityFormRelationEntity();
|
||||||
relation.setActivityId(request.getActivityId());
|
relation.setActivityId(request.getActivityId());
|
||||||
relation.setFormId(form.getId());
|
relation.setFormId(form.getId());
|
||||||
@ -71,12 +84,19 @@ public class AdminActivityFormServiceImpl implements IAdminActivityFormService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public Boolean update(ActivityFormReq request) {
|
public Boolean update(ActivityFormReq request) {
|
||||||
if (request.getId() == null) {
|
if (request.getId() == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
MpActivityFormEntity form = AdminActivityFormConvert.INSTANCE.convertToEntity(request);
|
MpActivityFormEntity form = AdminActivityFormConvert.INSTANCE.convertToEntity(request);
|
||||||
return activityFormService.updateById(form);
|
boolean updateResult = activityFormService.updateById(form);
|
||||||
|
|
||||||
|
if (updateResult) {
|
||||||
|
// 更新表单字段
|
||||||
|
saveOrUpdateFormFields(form.getId(), request.getFields());
|
||||||
|
}
|
||||||
|
return updateResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -106,4 +126,96 @@ public class AdminActivityFormServiceImpl implements IAdminActivityFormService {
|
|||||||
newRelation.setVersion(CommonUtils.generateVersionNumber(latestRelation.getVersion()));
|
newRelation.setVersion(CommonUtils.generateVersionNumber(latestRelation.getVersion()));
|
||||||
return activityFormRelationService.save(newRelation);
|
return activityFormRelationService.save(newRelation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新表单字段
|
||||||
|
*
|
||||||
|
* @param formId 表单ID
|
||||||
|
* @param fields 字段列表JSON字符串
|
||||||
|
*/
|
||||||
|
private void saveOrUpdateFormFields(Integer formId, List<String> fields) {
|
||||||
|
if (CollectionUtil.isEmpty(fields)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 如果字段列表为空,删除所有现有字段
|
||||||
|
activityFormFieldService.deleteByFormId(formId);
|
||||||
|
// 保存新的字段
|
||||||
|
int sortOrder = 0;
|
||||||
|
List<MpActivityFormFieldEntity> fieldEntities = buildActivityFormFieldList(formId, fields, sortOrder);
|
||||||
|
if (CollectionUtil.isNotEmpty(fieldEntities)) {
|
||||||
|
boolean savedBatch = activityFormFieldService.saveBatch(fieldEntities);
|
||||||
|
log.info("保存字段到字段表的结果:{}", savedBatch);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
log.info("没有字段需要保存到字段表");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<MpActivityFormFieldEntity> buildActivityFormFieldList(Integer formId, List<String> fields, int sortOrder) {
|
||||||
|
List<MpActivityFormFieldEntity> fieldEntities = new ArrayList<>();
|
||||||
|
for (String fieldJson : fields) {
|
||||||
|
try {
|
||||||
|
// 解析字段JSON
|
||||||
|
Map<String, Object> fieldMap = JSONUtil.toBean(fieldJson, Map.class);
|
||||||
|
Map<String, Object> config = (Map<String, Object>) fieldMap.get("__config__");
|
||||||
|
|
||||||
|
MpActivityFormFieldEntity fieldEntity = new MpActivityFormFieldEntity();
|
||||||
|
fieldEntity.setFormId(formId);
|
||||||
|
|
||||||
|
// 设置字段名称
|
||||||
|
fieldEntity.setFieldName((String) config.get("label"));
|
||||||
|
|
||||||
|
String fieldCode = (String) fieldMap.get("__vModel__");
|
||||||
|
if (fieldCode == null || fieldCode.trim().isEmpty()) {
|
||||||
|
fieldCode = generateFieldCode((String) config.get("label"), formId, sortOrder);
|
||||||
|
}
|
||||||
|
fieldEntity.setFieldCode(fieldCode);
|
||||||
|
|
||||||
|
// 设置字段类型
|
||||||
|
String fieldType = (String) fieldMap.get("tag");
|
||||||
|
if (fieldType == null) {
|
||||||
|
fieldType = (String) config.get("tag");
|
||||||
|
}
|
||||||
|
fieldEntity.setFieldType(fieldType);
|
||||||
|
|
||||||
|
// 设置占位符
|
||||||
|
fieldEntity.setPlaceholder((String) fieldMap.get("placeholder"));
|
||||||
|
|
||||||
|
// 设置是否必填
|
||||||
|
Boolean required = (Boolean) config.get("required");
|
||||||
|
fieldEntity.setIsRequired(required != null && required ? 1 : 0);
|
||||||
|
|
||||||
|
// 设置排序
|
||||||
|
fieldEntity.setSortOrder(sortOrder++);
|
||||||
|
|
||||||
|
// 设置字段描述
|
||||||
|
fieldEntity.setDescription((String) config.get("label"));
|
||||||
|
|
||||||
|
if(fieldMap.containsKey("options")){
|
||||||
|
fieldEntity.setFieldOptions(fieldMap.get("options").toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldEntities.add(fieldEntity);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("解析字段JSON失败: {}", fieldJson, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return fieldEntities;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成字段代码
|
||||||
|
*
|
||||||
|
* @param label 字段标签
|
||||||
|
* @param formId 表单ID
|
||||||
|
* @param index 索引
|
||||||
|
* @return 字段代码
|
||||||
|
*/
|
||||||
|
private String generateFieldCode(String label, Integer formId, int index) {
|
||||||
|
if (label == null) {
|
||||||
|
return "field_" + formId + "_" + index;
|
||||||
|
}
|
||||||
|
// 将标签转换为合适的字段代码格式
|
||||||
|
return label.replaceAll("[^a-zA-Z0-9\\u4e00-\\u9fa5]", "_").toLowerCase() + "_" + formId + "_" + index;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -11,13 +11,26 @@ public class AppActivityFormResp {
|
|||||||
|
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
@Schema(description = "表单模板名称")
|
/**
|
||||||
private String templateName;
|
* 表单名称
|
||||||
|
*/
|
||||||
|
@Schema(description = "表单名称")
|
||||||
|
private String formName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 表单描述
|
||||||
|
*/
|
||||||
|
@Schema(description = "表单描述")
|
||||||
|
private String formDescription;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配置
|
||||||
|
*/
|
||||||
|
@Schema(description = "配置")
|
||||||
|
private String config;
|
||||||
|
|
||||||
@Schema(description = "表单模板描述")
|
|
||||||
private String templateDescription;
|
|
||||||
|
|
||||||
@Schema(description = "表单字段列表")
|
@Schema(description = "表单字段列表")
|
||||||
private List<AppActivityFormFieldResp> fields;
|
private List<String> fields;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -3,18 +3,16 @@ package com.seer.teach.mp.app.convert;
|
|||||||
import com.seer.teach.mp.app.controller.resp.AppActivityFormExecutionResp;
|
import com.seer.teach.mp.app.controller.resp.AppActivityFormExecutionResp;
|
||||||
import com.seer.teach.mp.app.controller.resp.AppActivityFormFieldResp;
|
import com.seer.teach.mp.app.controller.resp.AppActivityFormFieldResp;
|
||||||
import com.seer.teach.mp.app.controller.resp.AppActivityFormResp;
|
import com.seer.teach.mp.app.controller.resp.AppActivityFormResp;
|
||||||
|
import com.seer.teach.mp.entity.MpActivityFormEntity;
|
||||||
import com.seer.teach.mp.entity.MpActivityFormExecutionEntity;
|
import com.seer.teach.mp.entity.MpActivityFormExecutionEntity;
|
||||||
import com.seer.teach.mp.entity.MpActivityFormFieldEntity;
|
import com.seer.teach.mp.entity.MpActivityFormFieldEntity;
|
||||||
import com.seer.teach.mp.entity.MpActivityFormEntity;
|
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
|
||||||
import org.mapstruct.factory.Mappers;
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface AppActivityFormConvert {
|
public interface AppActivityFormConvert {
|
||||||
AppActivityFormConvert INSTANCE = Mappers.getMapper(AppActivityFormConvert.class);
|
AppActivityFormConvert INSTANCE = Mappers.getMapper(AppActivityFormConvert.class);
|
||||||
|
|
||||||
@Mapping(source = "fields", target = "fields", ignore = true)
|
|
||||||
AppActivityFormResp convertToAppTemplateResp(MpActivityFormEntity entity);
|
AppActivityFormResp convertToAppTemplateResp(MpActivityFormEntity entity);
|
||||||
|
|
||||||
AppActivityFormFieldResp convertToAppFieldResp(MpActivityFormFieldEntity entity);
|
AppActivityFormFieldResp convertToAppFieldResp(MpActivityFormFieldEntity entity);
|
||||||
|
|||||||
@ -62,18 +62,6 @@ public class AppActivityFormServiceImpl implements IAppActivityFormService {
|
|||||||
MpActivityFormEntity template = activityFormTemplateService.getById(formId);
|
MpActivityFormEntity template = activityFormTemplateService.getById(formId);
|
||||||
if (template != null) {
|
if (template != null) {
|
||||||
AppActivityFormResp resp = AppActivityFormConvert.INSTANCE.convertToAppTemplateResp(template);
|
AppActivityFormResp resp = AppActivityFormConvert.INSTANCE.convertToAppTemplateResp(template);
|
||||||
|
|
||||||
// 获取该表单的所有字段
|
|
||||||
List<MpActivityFormFieldEntity> fields = activityFormFieldService.list(
|
|
||||||
new LambdaQueryWrapper<MpActivityFormFieldEntity>()
|
|
||||||
.eq(MpActivityFormFieldEntity::getFormId, formId)
|
|
||||||
);
|
|
||||||
|
|
||||||
List<AppActivityFormFieldResp> fieldResps = fields.stream()
|
|
||||||
.map(AppActivityFormConvert.INSTANCE::convertToAppFieldResp)
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
resp.setFields(fieldResps);
|
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -84,17 +72,6 @@ public class AppActivityFormServiceImpl implements IAppActivityFormService {
|
|||||||
MpActivityFormEntity template = activityFormTemplateService.getById(formId);
|
MpActivityFormEntity template = activityFormTemplateService.getById(formId);
|
||||||
if (template != null) {
|
if (template != null) {
|
||||||
AppActivityFormResp resp = AppActivityFormConvert.INSTANCE.convertToAppTemplateResp(template);
|
AppActivityFormResp resp = AppActivityFormConvert.INSTANCE.convertToAppTemplateResp(template);
|
||||||
|
|
||||||
// 获取该表单的所有字段
|
|
||||||
List<MpActivityFormFieldEntity> fields = activityFormFieldService.list(
|
|
||||||
new LambdaQueryWrapper<MpActivityFormFieldEntity>()
|
|
||||||
.eq(MpActivityFormFieldEntity::getFormId, formId)
|
|
||||||
);
|
|
||||||
List<AppActivityFormFieldResp> fieldResps = fields.stream()
|
|
||||||
.map(AppActivityFormConvert.INSTANCE::convertToAppFieldResp)
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
resp.setFields(fieldResps);
|
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,4 +13,12 @@ import com.seer.teach.mp.entity.MpActivityFormFieldEntity;
|
|||||||
*/
|
*/
|
||||||
public interface IMpActivityFormFieldService extends IService<MpActivityFormFieldEntity> {
|
public interface IMpActivityFormFieldService extends IService<MpActivityFormFieldEntity> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据表单ID删除表单字段定义
|
||||||
|
*
|
||||||
|
* @param formId
|
||||||
|
* @return 删除结果
|
||||||
|
*/
|
||||||
|
boolean deleteByFormId(Integer formId);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -8,6 +8,8 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 活动表单字段定义表 服务实现类
|
* 活动表单字段定义表 服务实现类
|
||||||
@ -21,4 +23,11 @@ import org.springframework.stereotype.Service;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class MpActivityFormFieldServiceImpl extends ServiceImpl<MpActivityFormFieldMapper, MpActivityFormFieldEntity> implements IMpActivityFormFieldService {
|
public class MpActivityFormFieldServiceImpl extends ServiceImpl<MpActivityFormFieldMapper, MpActivityFormFieldEntity> implements IMpActivityFormFieldService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteByFormId(Integer formId) {
|
||||||
|
if (Objects.isNull(formId) || formId == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return super.getBaseMapper().deleteByFormId(formId) > 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user