package com.qianwen.smartman.modules.system.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import java.util.List; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import com.qianwen.smartman.common.constant.ExtCacheConstant; import com.qianwen.core.cache.utils.CacheUtil; import com.qianwen.core.excel.util.ExcelUtil; import com.qianwen.core.mp.support.Condition; import com.qianwen.core.mp.support.Query; import com.qianwen.core.oss.model.BladeFile; import com.qianwen.core.scanner.modular.annotation.DeleteResource; import com.qianwen.core.scanner.modular.annotation.GetResource; import com.qianwen.core.scanner.modular.annotation.PostResource; import com.qianwen.core.scanner.modular.annotation.PutResource; import com.qianwen.core.scanner.modular.stereotype.ApiResource; import com.qianwen.core.secure.annotation.PreAuth; import com.qianwen.core.tool.api.R; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.modules.resource.enums.TemplateEnum; import com.qianwen.smartman.modules.resource.service.ISystemResourceService; import com.qianwen.smartman.modules.system.convert.I18nDataConverter; import com.qianwen.smartman.modules.system.dto.I18nDataDTO; import com.qianwen.smartman.modules.system.dto.I18nDataQueryDTO; import com.qianwen.smartman.modules.system.entity.I18nData; import com.qianwen.smartman.modules.system.service.I18nDataService; import com.qianwen.smartman.modules.system.vo.I18nDataExcelVO; import com.qianwen.smartman.modules.system.vo.I18nDataPageVO; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @Api(value = "国际化信息管理", tags = {"国际化信息管理"}) @RestController @ApiResource({"blade-system/i18n/i18n-data"}) @Validated /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/system/controller/I18nDataController.class */ public class I18nDataController { private final I18nDataService i18nDataService; private final ISystemResourceService systemResourceService; public I18nDataController(final I18nDataService i18nDataService, final ISystemResourceService systemResourceService) { this.i18nDataService = i18nDataService; this.systemResourceService = systemResourceService; } @PreAuth @GetResource({"/page"}) @ApiOperation(value = "分页查询", notes = "分页查询") public R> getI18nDataPage(Query query, I18nDataQueryDTO i18nDataQO) { IPage pages = this.i18nDataService.selectPage(Condition.getPage(query), i18nDataQO); return R.data(I18nDataConverter.INSTANCE.convert(pages)); } @GetResource({"/list"}) @ApiOperation(value = "查询指定国际化标识的所有数据", notes = "查询指定国际化标识的所有数据") public R> listByCode(@RequestParam("code") String code) { return R.data(this.i18nDataService.listByCode(code)); } @PreAuth @PostResource @ApiOperation(value = "新增国际化信息", notes = "新增国际化信息") public R save(@Valid @RequestBody I18nDataDTO i18nDataDTO) { CacheUtil.clear(ExtCacheConstant.I18N_CACHE, ExtCacheConstant.TENANT_MODE); I18nData i18nData = new I18nData(); i18nData.setCode(i18nDataDTO.getCode()); i18nData.setRemark(i18nDataDTO.getRemark()); i18nData.setLanguageTag(i18nDataDTO.getLanguageTag()); i18nData.setMessage(i18nDataDTO.getMessage()); return this.i18nDataService.save(i18nData) ? R.data(i18nData) : R.fail("新增国际化信息失败"); } @PreAuth @PutResource @ApiOperation(value = "修改国际化信息", notes = "修改国际化信息") public R updateById(@RequestBody I18nDataDTO i18nDataDTO) { CacheUtil.clear(ExtCacheConstant.I18N_CACHE, ExtCacheConstant.TENANT_MODE); return R.data(this.i18nDataService.updateById(i18nDataDTO)); } @PreAuth @DeleteResource @ApiOperation(value = "通过id删除国际化信息", notes = "通过id删除国际化信息") public R remove(@ApiParam(value = "主键", required = true) @RequestBody List ids) { if (ids.isEmpty()) { return R.status(false); } return R.status(this.i18nDataService.removeByIds(Func.toLongList(ids))); } @PreAuth @PostResource({"/import"}) @ApiOperation(value = "导入国际化信息", notes = "导入国际化信息") public R importI18nData(MultipartFile file) { List data = ExcelUtil.read(file, 0, 2, I18nDataExcelVO.class); return R.data(this.i18nDataService.importI18nData(data)); } @PreAuth @GetResource({"/export"}) @ApiOperation(value = "导出国际化信息", notes = "导出国际化信息") public R exportI18nData(I18nDataQueryDTO i18nDataQO, HttpServletResponse response) { return R.data(this.i18nDataService.exportExcel(i18nDataQO, response)); } @GetResource({"/excel-template"}) @ApiOperation(value = "国际化信息 Excel 模板", notes = "国际化信息 Excel 模板") public R excelTemplate() { return R.data(this.systemResourceService.getBusinessTemplateInfo(TemplateEnum.I18N_TYPE)); } }