package com.boco.nbd.wios.manage.controller; import cn.hutool.core.lang.Assert; import com.boco.nbd.cams.core.constant.CamsConstant; import com.boco.nbd.wios.manage.contants.WiosConstant; import com.boco.nbd.wios.manage.entity.bo.MaterialConfig; import com.boco.nbd.wios.manage.entity.bo.MaterialConfigBo; import com.boco.nbd.wios.manage.entity.bo.MaterialConfigVo; import com.boco.nbd.wios.manage.service.impl.MaterialConfigService; import com.boco.nbd.wios.manage.util.CommonUtils; import com.ihidea.component.api.v2.BaseResponse; import com.ihidea.core.util.StringUtilsEx; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; import java.util.ArrayList; import java.util.List; /** * 资料维护管理接口 * * @author * @version */ @RestController @RequestMapping("api") @Api(tags = "资料维护管理接口") @ApiIgnore public class MaterialConfigController { @Autowired private MaterialConfigService materialConfigService; /** * 添加资料 * * @param mc * @return */ @PostMapping(value = "materialConfig/add") @ApiOperation(value = "添加资料") public BaseResponse<Object> add(MaterialConfig mc) { Assert.notNull(mc.getType(), "type不能为空"); if (!StringUtils.isEmpty(mc.getContent())) { mc.setContent(StringUtilsEx.unescapeXss(mc.getContent())); } if (!StringUtils.isEmpty(mc.getContent()) && !mc.getContent().startsWith(CamsConstant.ANGLE_BRACKET)) { List<String> list = new ArrayList<>(); String[] contentArr = mc.getContent().split(CamsConstant.COMMA); for (String c : contentArr) { list.add(WiosConstant.FILE_UPLOAD_DEFAULT_URL + c); } mc.setContent(StringUtils.collectionToCommaDelimitedString(list)); } materialConfigService.add(mc); return new BaseResponse<>(); } /** * 修改资料 * * @param mc * @return */ @PostMapping(value = "materialConfig/update") @ApiOperation(value = "修改资料") @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "主键id", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "type", value = "类型", dataType = "int", paramType = "query", required = false), @ApiImplicitParam(name = "content", value = "内容", dataType = "String", paramType = "query", required = false),}) public BaseResponse<Object> update(MaterialConfig mc) { Assert.notNull(mc.getId(), WiosConstant.EMPTY_ID); if (!StringUtils.isEmpty(mc.getContent())) { mc.setContent(StringUtilsEx.unescapeXss(mc.getContent())); } if (!StringUtils.isEmpty(mc.getContent()) && !mc.getContent().startsWith(CamsConstant.ANGLE_BRACKET)) { List<String> list = new ArrayList<>(); String[] contentArr = mc.getContent().split(CamsConstant.COMMA); for (String c : contentArr) { list.add(CommonUtils.urlHandle(c)); } mc.setContent(StringUtils.collectionToCommaDelimitedString(list)); } materialConfigService.update(mc.getId(), mc); return new BaseResponse<>(); } /** * 删除资料 * * @param mc * @return */ @PostMapping(value = "materialConfig/delete") @ApiOperation(value = "修改资料") @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "主键id", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "status", value = "状态", dataType = "int", paramType = "query", required = true),}) public BaseResponse<Object> delete(MaterialConfigBo mc) { Assert.notNull(mc.getId(), WiosConstant.EMPTY_ID); Assert.notNull(mc.getStatus(), "status不能为空"); materialConfigService.delete(mc.getId(), mc); return new BaseResponse<>(); } /** * 查询资料列表 * * @param oemName * @param regionId * @param type * @return */ @GetMapping(value = "materialConfig/all") @ApiOperation(value = "查询资料列表") @ApiImplicitParams({ @ApiImplicitParam(name = "page", value = "一页显示数量", dataType = "int", paramType = "query", required = false), @ApiImplicitParam(name = "pagecount", value = "页码", dataType = "int", paramType = "query", required = false), @ApiImplicitParam(paramType = "query", name = "oemName", value = "主机厂名称", required = false, dataType = "String"), @ApiImplicitParam(paramType = "query", name = "regionId", value = "区域id", required = false, dataType = "int"), @ApiImplicitParam(paramType = "query", name = "type", value = "类型", required = false, dataType = "int"), }) public BaseResponse<List<MaterialConfigVo>> getAll(String oemName, Integer regionId, Integer type) { MaterialConfigBo condition = new MaterialConfigBo(); condition.setOemName(oemName); condition.setRegionId(regionId); condition.setType(type); return new BaseResponse<>(materialConfigService.getList(condition)); } /** * 查寻资料明细 * * @param mc * @return */ @GetMapping(value = "materialConfig/detail") @ApiOperation(value = "查询资料明细") @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "主键id", dataType = "int", paramType = "query", required = true),}) public BaseResponse<MaterialConfigVo> detail(MaterialConfigBo mc) { Assert.notNull(mc.getId(), WiosConstant.EMPTY_ID); return new BaseResponse<>(materialConfigService.getDetail(mc)); } }