市场法规库清单接口新增

This commit is contained in:
梁琦涛
2024-07-05 16:00:07 +08:00
parent bfb51b2bfd
commit 478d7f0f54
7 changed files with 135 additions and 39 deletions
@@ -137,8 +137,8 @@ public class MarketStandardController {
@PostMapping(value = "/add")
@RequiresPermissions("marketStandard:add")
public Result<T> add(@RequestBody MarketStandardDetailVO marketStandardDetailVO) {
this.marketStandardService.add(marketStandardDetailVO);
return Result.OK("新增成功!");
String id = this.marketStandardService.add(marketStandardDetailVO);
return Result.OK(id);
}
/**
@@ -1,18 +1,11 @@
package com.jero.modules.laws.marketStandard.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.aspect.annotation.Translation;
import com.jero.common.util.MessageUtils;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
import com.jero.modules.laws.marketStandard.entity.MarketStandardDetailVO;
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -24,9 +17,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -56,6 +47,74 @@ public class MarketStandardDetailController {
return lawsMarketStandardDetailService.getList(manifestId,manifestVersion);
}
/**
* 新增
*
* @param marketStandardDetail
* @return
*/
@AutoLog(value = "外部标准库-市场法规清单-新增")
@ApiOperation(value = "外部标准库-市场法规清单-新增", notes = "外部标准库-市场法规清单-新增")
@ApiOperationSupport(order = 5)
@PostMapping(value = "/add")
@RequiresPermissions("marketStandard:add")
public Result<?> add(@RequestBody LawsMarketStandardDetail marketStandardDetail) {
return lawsMarketStandardDetailService.add(marketStandardDetail);
}
/**
* 编辑
*
* @param marketStandardDetail
* @return
*/
@AutoLog(value = "外部标准库-市场法规清单-编辑")
@ApiOperation(value = "外部标准库-市场法规清单-编辑", notes = "外部标准库-市场法规清单-编辑")
@ApiOperationSupport(order = 6)
@PostMapping(value = "/edit")
@RequiresPermissions("marketStandard:edit")
public Result<?> edit(@RequestBody LawsMarketStandardDetail marketStandardDetail) {
return lawsMarketStandardDetailService.edit(marketStandardDetail);
}
/**
* 删除
*
* @param map
* @return
*/
@AutoLog(value = "外部标准库-市场法规清单-删除")
@ApiOperation(value = "外部标准库-市场法规清单-删除", notes = "外部标准库-市场法规清单-删除")
@ApiOperationSupport(order = 4)
@PostMapping(value = "/delete")
@RequiresPermissions("marketStandard:deleteBatch")
public Result<?> delete(@RequestBody Map<String, String> map) {
if (!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))) {
return Result.error("请选择数据!");
}
return lawsMarketStandardDetailService.deleteById(map.get("id"));
}
/**
* 批量删除
*
* @param map
* @return
*/
@AutoLog(value = "外部标准库-市场法规清单-批量删除")
@ApiOperation(value = "外部标准库-市场法规清单-批量删除", notes = "外部标准库-市场法规清单-批量删除")
@ApiOperationSupport(order = 4)
@PostMapping(value = "/deleteBatch")
@RequiresPermissions("marketStandard:deleteBatch")
public Result<?> deleteBatch(@RequestBody Map<String, String> map) {
if (!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))) {
return Result.error("请选择数据!");
}
return lawsMarketStandardDetailService.deleteBatchById(map.get("id"));
}
/**
* 导入
*
@@ -3,6 +3,7 @@ package com.jero.modules.laws.marketStandard.service;
import com.jero.common.api.vo.Result;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
@@ -34,4 +35,32 @@ public interface ILawsMarketStandardDetailService extends IService<LawsMarketSta
* 下载模板
*/
void downloadTemplate(HttpServletResponse response);
/**
* 新增
* @param marketStandardDetail
* @return
*/
Result<?> add(LawsMarketStandardDetail marketStandardDetail);
/**
* 编辑
* @param marketStandardDetail
* @return
*/
Result<?> edit(LawsMarketStandardDetail marketStandardDetail);
/**
* 删除
* @param id
* @return
*/
Result<?> deleteById(String id);
/**
* 批量删除
* @param ids
* @return
*/
Result<?> deleteBatchById(String ids);
}
@@ -61,7 +61,7 @@ public interface ILawsMarketStandardService extends IService<LawsMarketStandard>
* 新增
* @param marketStandardDetailVO
*/
void add(MarketStandardDetailVO marketStandardDetailVO);
String add(MarketStandardDetailVO marketStandardDetailVO);
/**
* 编辑
@@ -3,19 +3,15 @@ package com.jero.modules.laws.marketStandard.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.ImportExcelUtil;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
import com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardDetailMapper;
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.word.WordExportUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@@ -23,9 +19,10 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.stream.Collectors;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
/**
* @author ThinkBook
@@ -75,9 +72,8 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
List<LawsMarketStandardDetail> list = new ArrayList<>();
ImportParams params = new ImportParams();
params.setHeadRows(0);
params.setSheetNum(1);
// 校验excel 字段是否正确
// boolean b = ImportExcelUtil.checkTemplateTitle(file, LawsMarketStandardDetail.class, null, 0);
// todo 校验excel 字段是否正确
// boolean b = ImportExcelUtil.checkTemplateTitle(file, LawsMarketStandardDetail.class, 0, 0);
// if (!b) {
// throw new JeroBootException("excel文件表头错误,请重新下载");
// }
@@ -119,6 +115,30 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
e.printStackTrace();
}
}
@Override
public Result<?> add(LawsMarketStandardDetail marketStandardDetail) {
save(marketStandardDetail);
return Result.OK("操作成功");
}
@Override
public Result<?> edit(LawsMarketStandardDetail marketStandardDetail) {
updateById(marketStandardDetail);
return Result.OK("操作成功");
}
@Override
public Result<?> deleteById(String id) {
removeById(id);
return Result.OK("删除成功");
}
@Override
public Result<?> deleteBatchById(String ids) {
removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功");
}
}
@@ -123,7 +123,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
@Override
@Transactional(rollbackFor = JeroBootException.class)
public synchronized void add(MarketStandardDetailVO marketStandardDetailVO) {
public synchronized String add(MarketStandardDetailVO marketStandardDetailVO) {
LawsMarketStandard manifest = marketStandardDetailVO.getManifest();
manifest.setManifestStatus(MarketStandardConstants.MANIFEST_STATUS_NOT_PUBLISH);
// 设置清单编号
@@ -141,9 +141,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
updateLawsMarketStandard.eq(LawsMarketStandard::getId,manifest.getId());
updateLawsMarketStandard.set(LawsMarketStandard::getVersionFlag, UUID.randomUUID().toString().replace("-",""));
update(updateLawsMarketStandard);
List<LawsMarketStandardDetail> lists = marketStandardDetailVO.getLists();
lists.forEach(e -> e.setManifestId(manifest.getId()));
lawsMarketStandardDetailService.saveBatch(lists);
return manifest.getId();
}
/**
@@ -167,6 +165,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
}
@Override
@Transactional(rollbackFor = JeroBootException.class)
public synchronized void edit(MarketStandardDetailVO marketStandardDetailVO) {
// todo 状态为已发布需要生成新数据,版本号等
// 修改清单信息
@@ -184,19 +183,8 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
List<DictModel> listDict = map.get("market_state");
List<String> country = listDict.stream().map(DictModel::getText).collect(Collectors.toList());
// 国家/地区+自定义+固定字段,自定义字段:预留手填,当前默认不填;固定字段:车型需满足标准法规清单
manifest.setManifestName(country + manifest.getCustomColumnName() + "车型需满足标准法规清单");
manifest.setManifestName(String.join("",country) + manifest.getCustomColumnName() + "车型需满足标准法规清单");
updateById(manifest);
// 删除旧数据
LambdaQueryWrapper<LawsMarketStandardDetail> wrapper = new LambdaQueryWrapper<>();
wrapper.in(LawsMarketStandardDetail::getManifestId, manifest.getId());
lawsMarketStandardDetailService.remove(wrapper);
// 添加新数据
List<LawsMarketStandardDetail> lists = marketStandardDetailVO.getLists();
lists.forEach(e -> {
e.setManifestId(manifest.getId());
e.setId(null);
});
lawsMarketStandardDetailService.saveBatch(lists);
}
@Override