代码同步

main
张博文 5 months ago
parent 0f4b94db80
commit 1875242cb1

@ -54,6 +54,12 @@ public class UniTemplateDTO {
@ApiModelProperty(value = "扫码记录图标")
private String scanRecordIconUrl;
@ApiModelProperty(value = "显示切换语言")
private Boolean showChangeLanguage;
@ApiModelProperty(value = "显示切换语言图标")
private String changeLanguageIconUrl;
@ApiModelProperty(value = "创建时间")
private Date createTime;

@ -57,6 +57,9 @@ public interface ErrorCodeConstants {
ErrorCode UNI_TEMPLATE_GOODS_DETAIL_ICON_NOT_BE_NULL = new ErrorCode(1011003005, "商品详情图标不能为空");
ErrorCode UNI_TEMPLATE_AI_ICON_NOT_BE_NULL = new ErrorCode(1011003006, "AI图标不能为空");
ErrorCode UNI_TEMPLATE_SHOP_ICON_NOT_BE_NULL = new ErrorCode(1011003007, "商城图标不能为空");
ErrorCode CAN_NOT_DELETE_DEFAULT_TEMPLATE = new ErrorCode(1011003008, "无法删除默认模板");
ErrorCode MUST_BE_HAS_A_DEFAULT_TEMPLATE = new ErrorCode(1011003009, "至少需要有一个默认模板");
ErrorCode UNI_TEMPLATE_LANGUAGE_ICON_NOT_BE_NULL = new ErrorCode(1011003010, "切换语言图标不能为空");
/**
* 004

@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@ -80,4 +81,11 @@ public class UniTemplateController {
return success(uniTemplateService.getUniTemplatePage(pageVO));
}
@GetMapping("/options")
@ApiOperation("获得小程序模板分页")
@PreAuthorize("@ss.hasPermission('configure:uni-template:query')")
public CommonResult<List<UniTemplateOptionVO>> getOptions() {
return success(uniTemplateService.getOptions());
}
}

@ -46,4 +46,12 @@ public class UniTemplateBaseVO {
@Length(max = 256)
private String scanRecordIconUrl;
@ApiModelProperty(value = "显示切换语言", required = true)
@NotNull(message = "显示切换语言不能为空")
private Boolean showChangeLanguage;
@ApiModelProperty(value = "显示切换语言图标")
@Length(max = 256)
private String changeLanguageIconUrl;
}

@ -0,0 +1,23 @@
package cn.iocoder.yudao.module.configure.controller.admin.unitemplate.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
@ApiModel("管理后台 - 小程序模板 Response VO")
@Data
@ToString(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class UniTemplateOptionVO {
@ApiModelProperty(value = "编号")
private Long id;
@ApiModelProperty(value = "模板名称")
private String templateName;
}

@ -86,5 +86,13 @@ public class UniTemplateDO extends BaseDO {
*
*/
private String shopIconUrl;
/**
*
*/
private Boolean showChangeLanguage;
/**
*
*/
private String changeLanguageIconUrl;
}

@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.configure.controller.admin.unitemplate.vo.*;
import cn.iocoder.yudao.module.configure.dal.dataobject.unitemplate.UniTemplateDO;
import javax.validation.Valid;
import java.util.List;
/**
* Service
@ -53,4 +54,6 @@ public interface UniTemplateService {
UniTemplateDO getDefaultUniTemplate();
List<UniTemplateOptionVO> getOptions();
}

@ -91,6 +91,9 @@ public class UniTemplateServiceImpl implements UniTemplateService {
public <T extends UniTemplateUpdateReqVO> void updateUniTemplate(T updateReqVO) {
// 校验存在
UniTemplateDO templateDO = this.validateUniTemplateExists(updateReqVO.getId());
if (templateDO.getDefaultTemplate() && !updateReqVO.getDefaultTemplate()) {
throw exception(ErrorCodeConstants.MUST_BE_HAS_A_DEFAULT_TEMPLATE);
}
// 获取原本存在的环节信息
List<UniTemplateItemDO> itemDBList = uniTemplateItemMapper.selectList(new LambdaQueryWrapper<UniTemplateItemDO>()
.eq(UniTemplateItemDO::getTemplateId, templateDO.getTemplateId()));
@ -168,6 +171,12 @@ public class UniTemplateServiceImpl implements UniTemplateService {
templateDO.setScanRecordIconUrl("");
}
if (templateDO.getShowChangeLanguage() && StringUtils.isBlank(templateDO.getChangeLanguageIconUrl())) {
throw exception(ErrorCodeConstants.UNI_TEMPLATE_LANGUAGE_ICON_NOT_BE_NULL);
} else if (!templateDO.getShowChangeLanguage() || templateDO.getTemplateType().equals(UniTemplateTypeEnum.STANDARD.getType())) {
templateDO.setChangeLanguageIconUrl("");
}
if (templateDO.getTemplateType().equals(UniTemplateTypeEnum.CUSTOMIZE.getType())) {
if (templateDO.getShowGoodsDetail() && StringUtils.isBlank(templateDO.getGoodsDetailIconUrl())) {
throw exception(ErrorCodeConstants.UNI_TEMPLATE_GOODS_DETAIL_ICON_NOT_BE_NULL);
@ -201,7 +210,10 @@ public class UniTemplateServiceImpl implements UniTemplateService {
@Override
public void deleteUniTemplate(Long id) {
// 校验存在
this.validateUniTemplateExists(id);
UniTemplateDO templateDO = this.validateUniTemplateExists(id);
if (templateDO.getDefaultTemplate()) {
throw exception(ErrorCodeConstants.CAN_NOT_DELETE_DEFAULT_TEMPLATE);
}
// 删除
uniTemplateMapper.deleteById(id);
}
@ -239,4 +251,10 @@ public class UniTemplateServiceImpl implements UniTemplateService {
return uniTemplateMapper.selectOne(new LambdaQueryWrapperX<UniTemplateDO>().eq(UniTemplateDO::getDefaultTemplate, Boolean.TRUE));
}
@Override
public List<UniTemplateOptionVO> getOptions() {
List<UniTemplateDO> list = uniTemplateMapper.selectList(new LambdaQueryWrapperX<UniTemplateDO>().select(UniTemplateDO::getId, UniTemplateDO::getTemplateName));
return list.stream().map(item -> new UniTemplateOptionVO(item.getId(), item.getTemplateName())).collect(Collectors.toList());
}
}

@ -109,6 +109,8 @@ public interface ErrorCodeConstants {
ErrorCode INSPECTION_ITEM_OPERATE_TYPE_CAN_NOT_BE_NULL = new ErrorCode(1013007015, "检测项目操作类型不能为空");
ErrorCode INSPECTION_CONFIG_NOT_EXISTS = new ErrorCode(1013007016, "检验检疫配置不存在");
ErrorCode EXISTS_THE_SAME_INSPECTION_CONFIG = new ErrorCode(1013007017, "存在相同的检验检疫配置");
ErrorCode SELECTED_UNI_TEMPLATE_NOT_EXITS = new ErrorCode(1013007018, "所选小程序模板不存在或已删除");
ErrorCode CAN_NOT_FIND__UNI_TEMPLATE = new ErrorCode(1013007019, "所配置的小程序模板不存在或已删除");
/**
* 008

@ -24,6 +24,9 @@ public class HarvestBatchConfigRespVO {
@ApiModelProperty(value = "商品名称")
private String goodsName;
@ApiModelProperty(value = "模板ID")
private Long templateId;
@ApiModelProperty(value = "商户信息")
private BlockCertificateSaveReqVO businessInfo;

@ -12,11 +12,15 @@ import java.util.List;
@Data
public class HarvestBatchConfigSaveReqVO {
@ApiModelProperty(value = "采收批次ID")
@ApiModelProperty(value = "采收批次ID", required = true)
@NotNull(message = "采收批次ID不能为空")
private Long id;
@ApiModelProperty(value = "语言类型ID")
@ApiModelProperty(value = "模板ID", required = true)
@NotNull(message = "模板ID不能为空")
private Long templateId;
@ApiModelProperty(value = "语言类型ID", required = true)
@NotNull(message = "语言类型ID不能为空")
private Long languageTypeId;

@ -5,7 +5,6 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

@ -1185,12 +1185,21 @@ public class HarvestBatchServiceImpl implements HarvestBatchService {
PreviewRespVO previewResp = new PreviewRespVO();
previewResp.setBlockState(harvestBatch.getBlockState());
if (harvestBatch.getTemplateId() != null) {
// 查询模板
UniTemplateDTO uniTemplateDTO = uniTemplateApi.getTemplateById(harvestBatch.getTemplateId()).getData();
if (uniTemplateDTO == null) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.CAN_NOT_FIND__UNI_TEMPLATE);
}
previewResp.setUniTemplate(uniTemplateDTO);
} else {
// 查询默认模板
UniTemplateDTO uniTemplateDTO = uniTemplateApi.getDefaultTemplate().getData();
if (uniTemplateDTO == null) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.CAN_NOT_FIND_DEFAULT_UNI_TEMPLATE);
}
previewResp.setUniTemplate(uniTemplateDTO);
}
this.getAndSetBlockCertificateData(harvestBatch, previewResp, Boolean.FALSE, languageTypeId);
return previewResp;
@ -1388,11 +1397,21 @@ public class HarvestBatchServiceImpl implements HarvestBatchService {
public void updateHarvestBatchConfig(HarvestBatchConfigSaveReqVO saveReqVO) {
// 获得数据库已有的配置信息
HarvestBatchConfigRespVO configRespVO = this.getHarvestBatchConfig(saveReqVO.getId(), saveReqVO.getLanguageTypeId());
// 校验所选的模板是否存在
UniTemplateDTO templateDTO = uniTemplateApi.getTemplateById(saveReqVO.getTemplateId()).getData();
if (templateDTO == null) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.SELECTED_UNI_TEMPLATE_NOT_EXITS);
}
// 获取数据库对应的批次配置
HarvestBatchConfigDO harvestBatchConfig = harvestBatchConfigMapper.selectOne(new LambdaQueryWrapperX<HarvestBatchConfigDO>()
.eq(HarvestBatchConfigDO::getHarvestBatchId, configRespVO.getHarvestBatchId()).eq(HarvestBatchConfigDO::getLanguageTypeId, saveReqVO.getLanguageTypeId()));
HarvestBatchRespVO harvestBatch = new HarvestBatchRespVO();
BeanUtil.copyProperties(configRespVO, harvestBatch);
// 获取环境配置
List<EnvTypeDeviceConfigRespVO> envTypeConfigs = envTypeService.getEnvTypeConfigGroupByLandId(harvestBatch.getBelongBusinessId());
List<Long> willUpdateVerifyIds = new ArrayList<>();// 将要更新的商品认证id集合
Map<Long, BlockCertificateSaveReqVO> verifyDBMaps = new HashMap<>(); // 数据库中已有的商品认证信息配置
configRespVO.getGoodsVerifys().forEach(verify -> verifyDBMaps.put(verify.getId(), verify));
@ -2059,6 +2078,18 @@ public class HarvestBatchServiceImpl implements HarvestBatchService {
});
}
if (harvestBatchConfig != null) {
harvestBatchConfig.setTemplateId(saveReqVO.getTemplateId());
// 插入批次配置表
harvestBatchConfigMapper.updateById(harvestBatchConfig);
} else {
harvestBatchConfig = new HarvestBatchConfigDO();
harvestBatchConfig.setTemplateId(saveReqVO.getTemplateId());
harvestBatchConfig.setHarvestBatchId(configRespVO.getHarvestBatchId());
harvestBatchConfig.setLanguageTypeId(saveReqVO.getLanguageTypeId());
harvestBatchConfigMapper.insert(harvestBatchConfig);
}
if(!deleteCertificateIds.isEmpty()) {
blockCertificateApi.deleteBlockCertificateBatch(deleteCertificateIds);
}

Loading…
Cancel
Save