diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/ParamsConfigVO.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/ParamsConfigVO.java new file mode 100644 index 000000000..68ea94e61 --- /dev/null +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/ParamsConfigVO.java @@ -0,0 +1,19 @@ +package com.jero.modules.cert.collect; + +import com.jero.modules.cert.collect.entity.ParamsConfigEO; +import lombok.Data; + +import java.util.List; + +/** + * @Author: liyawei + * @Description: + * @Date: Created in 11:50 2022/5/6 + */ +@Data +public class ParamsConfigVO { + + private String paramsManifestId; + private String deleteConfigIds; + private List paramsConfigEOList; +} diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsConfigEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsConfigEOController.java index 2b5950150..d016ebd15 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsConfigEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsConfigEOController.java @@ -4,19 +4,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; +import com.jero.modules.cert.collect.ParamsConfigVO; import com.jero.modules.cert.collect.entity.ParamsConfigEO; import com.jero.modules.cert.collect.service.IParamsConfigEOService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.Arrays; import java.util.List; @@ -46,104 +43,25 @@ public class ParamsConfigEOController extends JeroController queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ParamsConfigEO::getParamsManifestId, paramsManifestId); + queryWrapper.orderByAsc(ParamsConfigEO::getDisplaySeq); List list = paramsConfigEOService.list(queryWrapper); return Result.OK(cut, list); } - /** - * 添加 - * - * @param paramsConfigEO - * @return - */ - @AutoLog(value = "参数配置-添加") - @ApiOperation(value="参数配置-添加", notes="参数配置-添加") - @PostMapping(value = "/add") - public Result add(@Validated @RequestBody ParamsConfigEO paramsConfigEO) { - paramsConfigEOService.add(paramsConfigEO); + /** + * 批量添加 + * @param paramsConfigVO + * @return + */ + @AutoLog(value = "参数配置-批量添加") + @ApiOperation(value="参数配置-批量添加", notes="参数配置-批量添加") + @PostMapping(value = "/addBatch") + public Result addBatch(@RequestBody ParamsConfigVO paramsConfigVO) { + String paramsManifestId = paramsConfigVO.getParamsManifestId(); + if (StringUtils.isBlank(paramsManifestId)) { + return Result.error("参数不能为空"); + } + paramsConfigEOService.addBatch(paramsConfigVO); return Result.OK("添加成功!"); } - - /** - * 编辑 - * - * @param paramsConfigEO - * @return - */ - @AutoLog(value = "参数配置-编辑") - @ApiOperation(value="参数配置-编辑", notes="参数配置-编辑") - @PutMapping(value = "/edit") - public Result edit(@Validated @RequestBody ParamsConfigEO paramsConfigEO) { - paramsConfigEOService.editById(paramsConfigEO); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "参数配置-通过id删除") - @ApiOperation(value="参数配置-通过id删除", notes="参数配置-通过id删除") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - paramsConfigEOService.deleteById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ - @AutoLog(value = "参数配置-批量删除") - @ApiOperation(value="参数配置-批量删除", notes="参数配置-批量删除") - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.paramsConfigEOService.deleteByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - @AutoLog(value = "参数配置-通过id查询") - @ApiOperation(value="参数配置-通过id查询", notes="参数配置-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - ParamsConfigEO paramsConfigEO = paramsConfigEOService.queryById(id); - if(paramsConfigEO==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(paramsConfigEO); - } - - /** - * 导出excel - * - * @param request - * @param paramsConfigEO - */ - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, ParamsConfigEO paramsConfigEO) { - return super.exportXls(request, paramsConfigEO, ParamsConfigEO.class, "参数配置"); - } - - /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, ParamsConfigEO.class); - } - } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java index 730dca29b..8d5490fcc 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java @@ -137,7 +137,7 @@ public class ParamsManifestEOController extends JeroController delete(@RequestParam(name="id",required=true) String id) { paramsManifestEOService.deleteById(id); return Result.OK("删除成功!"); @@ -151,7 +151,7 @@ public class ParamsManifestEOController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.paramsManifestEOService.deleteByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsConfigEO.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsConfigEO.java index f9bd8debc..4d9e46535 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsConfigEO.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsConfigEO.java @@ -1,21 +1,18 @@ package com.jero.modules.cert.collect.entity; -import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; -import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; /** @@ -71,6 +68,11 @@ public class ParamsConfigEO implements Serializable { @ApiModelProperty(value = "版本") private String version; + /**车型*/ + @Excel(name = "车型", width = 15) + @ApiModelProperty(value = "车型") + private String carType; + /**电池*/ @Excel(name = "电池", width = 15) @ApiModelProperty(value = "电池") @@ -86,4 +88,9 @@ public class ParamsConfigEO implements Serializable { @ApiModelProperty(value = "参数清单id") private String paramsManifestId; + /**展示顺序*/ + @Excel(name = "展示顺序", width = 15) + @ApiModelProperty(value = "展示顺序") + private Integer displaySeq; + } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java index c8c106fc6..4a0ed34f2 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java @@ -14,6 +14,7 @@ import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; +import java.util.List; /** diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsConfigDataEOMapper.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsConfigDataEOMapper.java index 9d17c32b9..edb6d79da 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsConfigDataEOMapper.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsConfigDataEOMapper.java @@ -1,10 +1,8 @@ package com.jero.modules.cert.collect.mapper; -import java.util.List; - -import org.apache.ibatis.annotations.Param; -import com.jero.modules.cert.collect.entity.ParamsConfigDataEO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.cert.collect.entity.ParamsConfigDataEO; +import org.apache.ibatis.annotations.Param; /** * @Description: 参数配置数据 @@ -14,4 +12,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface ParamsConfigDataEOMapper extends BaseMapper { + int deleteByParamsConfigIds(@Param("paramsConfigIds") String paramsConfigIds); } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsConfigEOMapper.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsConfigEOMapper.java index 1b3aa689b..5288b020a 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsConfigEOMapper.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsConfigEOMapper.java @@ -1,10 +1,10 @@ package com.jero.modules.cert.collect.mapper; -import java.util.List; - -import org.apache.ibatis.annotations.Param; -import com.jero.modules.cert.collect.entity.ParamsConfigEO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.cert.collect.entity.ParamsConfigEO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Description: 参数配置 @@ -14,4 +14,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface ParamsConfigEOMapper extends BaseMapper { + int deleteByParamsManifestIds(@Param("paramsManifestIds") String paramsManifestIds); + + int updateForeach(@Param("list") List list); + } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsConfigDataEOMapper.xml b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsConfigDataEOMapper.xml index 3c62b14d7..250e0b1d5 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsConfigDataEOMapper.xml +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsConfigDataEOMapper.xml @@ -14,4 +14,12 @@ + + + delete from params_config_data + where params_config_id in + + #{item} + + \ No newline at end of file diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsConfigEOMapper.xml b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsConfigEOMapper.xml index 821f83d29..3ac473775 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsConfigEOMapper.xml +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsConfigEOMapper.xml @@ -10,8 +10,35 @@ + + + + + + update params_config + + config_name = #{item.configName, jdbcType=VARCHAR}, + version = #{item.version, jdbcType=VARCHAR}, + car_type = #{item.carType, jdbcType=VARCHAR}, + battery = #{item.battery, jdbcType=VARCHAR}, + motor = #{item.motor, jdbcType=VARCHAR}, + display_seq = #{item.displaySeq, jdbcType=INTEGER}, + update_by = #{item.updateBy, jdbcType=VARCHAR}, + update_time = #{item.updateTime, jdbcType=TIMESTAMP}, + + where id = #{item.id, jdbcType=VARCHAR} + ; + + + + delete from params_config + where params_manifest_id in + + #{item} + + \ No newline at end of file diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigEOService.java index 1fbc02fba..da1b6b28a 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigEOService.java @@ -1,7 +1,9 @@ package com.jero.modules.cert.collect.service; -import com.jero.modules.cert.collect.entity.ParamsConfigEO; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.cert.collect.ParamsConfigVO; +import com.jero.modules.cert.collect.entity.ParamsConfigEO; + import java.util.List; /** @@ -15,10 +17,10 @@ public interface IParamsConfigEOService extends IService { /** * 保存 * - * @param paramsConfigEO + * @param paramsConfigVO * @return */ - void add(ParamsConfigEO paramsConfigEO); + void addBatch(ParamsConfigVO paramsConfigVO); /** * 更新 diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigEOServiceImpl.java index d2f0528f2..d97897269 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigEOServiceImpl.java @@ -1,12 +1,22 @@ package com.jero.modules.cert.collect.service.impl; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.system.vo.LoginUser; +import com.jero.modules.cert.collect.ParamsConfigVO; import com.jero.modules.cert.collect.entity.ParamsConfigEO; +import com.jero.modules.cert.collect.mapper.ParamsConfigDataEOMapper; import com.jero.modules.cert.collect.mapper.ParamsConfigEOMapper; import com.jero.modules.cert.collect.service.IParamsConfigEOService; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; + +import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; /** * @Description: 参数配置 @@ -17,18 +27,61 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class ParamsConfigEOServiceImpl extends ServiceImpl implements IParamsConfigEOService { + @Autowired + private ParamsConfigEOMapper paramsConfigEOMapper; + @Autowired + private ParamsConfigDataEOMapper paramsConfigDataEOMapper; + /** * 保存 * - * @param paramsConfigEO + * @param paramsConfigVO * @return */ @Override - public void add(ParamsConfigEO paramsConfigEO) { - Date now = new Date(); - paramsConfigEO.setCreateTime(now); - paramsConfigEO.setUpdateTime(now); - save(paramsConfigEO); + public void addBatch(ParamsConfigVO paramsConfigVO) { + String paramsManifestId = paramsConfigVO.getParamsManifestId(); + List paramsConfigEOList = paramsConfigVO.getParamsConfigEOList(); + + int ind = 1; + List addConfigList = new ArrayList<>(); // 新增的配置 + List updateConfigList = new ArrayList<>(); // 修改的配置 + for (ParamsConfigEO paramsConfigEO : paramsConfigEOList) { + paramsConfigEO.setParamsManifestId(paramsManifestId); + paramsConfigEO.setDisplaySeq(ind); + if (StringUtils.isEmpty(paramsConfigEO.getId())) { + addConfigList.add(paramsConfigEO); + } else { + updateConfigList.add(paramsConfigEO); + } + ind++; + } + + // 删除的配置 + String deleteConfigIds = paramsConfigVO.getDeleteConfigIds(); + if (StringUtils.isNotBlank(deleteConfigIds)) { + List deleteConfigIdList = Arrays.asList(deleteConfigIds.split(",")); + paramsConfigEOMapper.deleteBatchIds(deleteConfigIdList); + // 级联删除配置数据 + paramsConfigDataEOMapper.deleteByParamsConfigIds(deleteConfigIds); + } + // 新增的配置 + if (CollectionUtil.isNotEmpty(addConfigList)) { + addConfigList.forEach(paramsConfigEO -> { + paramsConfigEO.setParamsManifestId(paramsManifestId); + }); + saveBatch(addConfigList); + } + // 修改的配置 + if (CollectionUtil.isNotEmpty(updateConfigList)) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + updateConfigList.forEach(paramsConfigEO -> { + Date now = new Date(); + paramsConfigEO.setUpdateBy(sysUser.getUsername()); + paramsConfigEO.setUpdateTime(now); + }); + paramsConfigEOMapper.updateForeach(updateConfigList); + } } /**