From de423f774efcbbd748e1947051cef1313dbd315d Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期五, 01 三月 2024 16:01:38 +0800 Subject: [PATCH] 交通宣传基础功能 --- dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficPropagandaBo.java | 48 +++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficPropagandaService.java | 49 +++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java | 22 ++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficIndexBo.java | 9 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java | 14 dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml | 11 + dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java | 2 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficIndex.java | 20 - dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficPropagandaServiceImpl.java | 115 ++++++++++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java | 61 ++++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficPropagandaController.java | 105 +++++++++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java | 5 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficPropaganda.java | 46 +++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java | 2 14 files changed, 479 insertions(+), 30 deletions(-) diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficPropagandaController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficPropagandaController.java new file mode 100644 index 0000000..b80960b --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficPropagandaController.java @@ -0,0 +1,105 @@ +package org.dromara.demo.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.demo.domain.vo.RsTrafficPropagandaVo; +import org.dromara.demo.domain.bo.RsTrafficPropagandaBo; +import org.dromara.demo.service.IRsTrafficPropagandaService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 浜ら�氬浼� + * + * @author gonghl + * @date 2024-03-01 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/demo/trafficPropaganda") +public class RsTrafficPropagandaController extends BaseController { + + private final IRsTrafficPropagandaService rsTrafficPropagandaService; + + /** + * 鏌ヨ浜ら�氬浼犲垪琛� + */ + @SaCheckPermission("demo:trafficPropaganda:list") + @GetMapping("/list") + public TableDataInfo<RsTrafficPropagandaVo> list(RsTrafficPropagandaBo bo, PageQuery pageQuery) { + return rsTrafficPropagandaService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭浜ら�氬浼犲垪琛� + */ + @SaCheckPermission("demo:trafficPropaganda:export") + @Log(title = "浜ら�氬浼�", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(RsTrafficPropagandaBo bo, HttpServletResponse response) { + List<RsTrafficPropagandaVo> list = rsTrafficPropagandaService.queryList(bo); + ExcelUtil.exportExcel(list, "浜ら�氬浼�", RsTrafficPropagandaVo.class, response); + } + + /** + * 鑾峰彇浜ら�氬浼犺缁嗕俊鎭� + * + * @param id 涓婚敭 + */ + @SaCheckPermission("demo:trafficPropaganda:query") + @GetMapping("/{id}") + public R<RsTrafficPropagandaVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable String id) { + return R.ok(rsTrafficPropagandaService.queryById(id)); + } + + /** + * 鏂板浜ら�氬浼� + */ + @SaCheckPermission("demo:trafficPropaganda:add") + @Log(title = "浜ら�氬浼�", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody RsTrafficPropagandaBo bo) { + return toAjax(rsTrafficPropagandaService.insertByBo(bo)); + } + + /** + * 淇敼浜ら�氬浼� + */ + @SaCheckPermission("demo:trafficPropaganda:edit") + @Log(title = "浜ら�氬浼�", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody RsTrafficPropagandaBo bo) { + return toAjax(rsTrafficPropagandaService.updateByBo(bo)); + } + + /** + * 鍒犻櫎浜ら�氬浼� + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("demo:trafficPropaganda:remove") + @Log(title = "浜ら�氬浼�", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable String[] ids) { + return toAjax(rsTrafficPropagandaService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficIndex.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficIndex.java index 2a9e811..83601d4 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficIndex.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficIndex.java @@ -1,12 +1,12 @@ package org.dromara.demo.domain; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import lombok.EqualsAndHashCode; -import java.math.BigDecimal; import java.io.Serial; +import java.math.BigDecimal; +import java.util.Date; /** * 浜ら�氭寚鏁板璞� rs_traffic_index @@ -15,7 +15,6 @@ * @date 2024-02-26 */ @Data -//@EqualsAndHashCode(callSuper = true) @TableName("rs_traffic_index") public class RsTrafficIndex { @@ -141,18 +140,13 @@ /** * 鍛ㄦ湡 */ - private String periodName; + private Long period; /** * 鍛ㄦ湡骞� */ - private Integer periodYear; - /** - * 鍛ㄦ湡鏈� - */ - private Integer periodMonth; + private String periodDate; - - + private Date createTime; } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficPropaganda.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficPropaganda.java new file mode 100644 index 0000000..692c5fa --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficPropaganda.java @@ -0,0 +1,46 @@ +package org.dromara.demo.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serial; +import java.util.Date; + +/** + * 浜ら�氬浼犲璞� rs_traffic_propaganda + * + * @author gonghl + * @date 2024-03-01 + */ +@Data +@TableName("rs_traffic_propaganda") +public class RsTrafficPropaganda { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 缂栧彿 + */ + @TableId(value = "id") + private String id; + + /** + * 鏍囬 + */ + private String title; + + /** + * 鎺掑簭 + */ + private Long sequence; + + /** + * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢� + */ + private Long status; + + private Date createTime; + +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficIndexBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficIndexBo.java index 2c12827..0418408 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficIndexBo.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficIndexBo.java @@ -163,18 +163,13 @@ * 鍛ㄦ湡 1 鏈� 2骞� */ @NotBlank(message = "鍛ㄦ湡 1 鏈� 2骞翠笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) - private String periodName; + private Long period; /** * 鍛ㄦ湡骞� */ @NotNull(message = "鍛ㄦ湡骞翠笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) - private Integer periodYear; - /** - * 鍛ㄦ湡鏈� - */ -// @NotNull(message = "鍛ㄦ湡鍊间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) - private Integer periodMonth; + private String periodDate; } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficPropagandaBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficPropagandaBo.java new file mode 100644 index 0000000..63d12e2 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficPropagandaBo.java @@ -0,0 +1,48 @@ +package org.dromara.demo.domain.bo; + +import org.dromara.demo.domain.RsTrafficPropaganda; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 浜ら�氬浼犱笟鍔″璞� rs_traffic_propaganda + * + * @author gonghl + * @date 2024-03-01 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = RsTrafficPropaganda.class, reverseConvertGenerate = false) +public class RsTrafficPropagandaBo extends BaseEntity { + + /** + * 缂栧彿 + */ + @NotBlank(message = "缂栧彿涓嶈兘涓虹┖", groups = { EditGroup.class }) + private String id; + + /** + * 鏍囬 + */ + @NotBlank(message = "鏍囬涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String title; + + /** + * 鎺掑簭 + */ + @PositiveOrZero(message = "鎺掑簭涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long sequence; + + /** + * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢� + */ + @NotNull(message = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢ㄤ笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private Long status; + + +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java index ea25de1..b13e5da 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java @@ -171,19 +171,19 @@ * 鍛ㄦ湡 */ @ExcelProperty(value = "鍛ㄦ湡") - private String periodName; + private Long period; - /** - * 鍛ㄦ湡鏈� - */ - @ExcelProperty(value = "鍛ㄦ湡鍊�") - private Integer periodMonth; /** * 鍛ㄦ湡骞� */ @ExcelProperty(value = "鍛ㄦ湡鍊�") - private Integer periodYear; + private String periodDate; + /** + * 鍒涘缓鏃堕棿 + */ + @ExcelProperty(value = "鍒涘缓鏃堕棿") + private Date createTime; } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java new file mode 100644 index 0000000..ac93da4 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java @@ -0,0 +1,61 @@ +package org.dromara.demo.domain.vo; + +import org.dromara.demo.domain.RsTrafficPropaganda; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 浜ら�氬浼犺鍥惧璞� rs_traffic_propaganda + * + * @author gonghl + * @date 2024-03-01 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = RsTrafficPropaganda.class) +public class RsTrafficPropagandaVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 缂栧彿 + */ + @ExcelProperty(value = "缂栧彿") + private String id; + + /** + * 鏍囬 + */ + @ExcelProperty(value = "鏍囬") + private String title; + + /** + * 鎺掑簭 + */ + @ExcelProperty(value = "鎺掑簭") + private Long sequence; + + /** + * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢� + */ + @ExcelProperty(value = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�") + private Long status; + + /** + * 鍒涘缓鏃堕棿 + */ + @ExcelProperty(value = "鍒涘缓鏃堕棿") + private Date createTime; + +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java new file mode 100644 index 0000000..55f2f6b --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java @@ -0,0 +1,22 @@ +package org.dromara.demo.mapper; + +import org.dromara.demo.domain.RsTrafficPropaganda; +import org.dromara.demo.domain.vo.RsTrafficPropagandaVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 浜ら�氬浼燤apper鎺ュ彛 + * + * @author gonghl + * @date 2024-03-01 + */ +public interface RsTrafficPropagandaMapper extends BaseMapperPlus<RsTrafficPropaganda, RsTrafficPropagandaVo> { + + /** + * 淇敼澶т簬褰撳墠椤哄簭鐨勬暟鎹竴娆�+1 + * @param sequence 褰撳墠椤哄簭 + * @param id id + */ + void addSequence(Long sequence, String id); + +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficPropagandaService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficPropagandaService.java new file mode 100644 index 0000000..d8b8709 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficPropagandaService.java @@ -0,0 +1,49 @@ +package org.dromara.demo.service; + +import org.dromara.demo.domain.RsTrafficPropaganda; +import org.dromara.demo.domain.vo.RsTrafficPropagandaVo; +import org.dromara.demo.domain.bo.RsTrafficPropagandaBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 浜ら�氬浼燬ervice鎺ュ彛 + * + * @author gonghl + * @date 2024-03-01 + */ +public interface IRsTrafficPropagandaService { + + /** + * 鏌ヨ浜ら�氬浼� + */ + RsTrafficPropagandaVo queryById(String id); + + /** + * 鏌ヨ浜ら�氬浼犲垪琛� + */ + TableDataInfo<RsTrafficPropagandaVo> queryPageList(RsTrafficPropagandaBo bo, PageQuery pageQuery); + + /** + * 鏌ヨ浜ら�氬浼犲垪琛� + */ + List<RsTrafficPropagandaVo> queryList(RsTrafficPropagandaBo bo); + + /** + * 鏂板浜ら�氬浼� + */ + Boolean insertByBo(RsTrafficPropagandaBo bo); + + /** + * 淇敼浜ら�氬浼� + */ + Boolean updateByBo(RsTrafficPropagandaBo bo); + + /** + * 鏍¢獙骞舵壒閲忓垹闄や氦閫氬浼犱俊鎭� + */ + Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java index 2fa4a3c..d00858a 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java @@ -65,7 +65,7 @@ LambdaQueryWrapper<RsDangerInfo> lqw = Wrappers.lambdaQuery(); lqw.eq(StringUtils.isNotBlank(bo.getNotificationTime()), RsDangerInfo::getNotificationTime, bo.getNotificationTime()); lqw.eq(StringUtils.isNotBlank(bo.getDangerType()), RsDangerInfo::getDangerType, bo.getDangerType()); - lqw.eq(StringUtils.isNotBlank(bo.getAccountabilityUnit()), RsDangerInfo::getAccountabilityUnit, bo.getAccountabilityUnit()); + lqw.like(StringUtils.isNotBlank(bo.getAccountabilityUnit()), RsDangerInfo::getAccountabilityUnit, bo.getAccountabilityUnit()); lqw.eq(StringUtils.isNotBlank(bo.getRectificationTimeLimit()), RsDangerInfo::getRectificationTimeLimit, bo.getRectificationTimeLimit()); lqw.eq(StringUtils.isNotBlank(bo.getPerformance()), RsDangerInfo::getPerformance, bo.getPerformance()); lqw.eq(bo.getStatus() != null, RsDangerInfo::getStatus, bo.getStatus()); diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java index 6c7d0b7..c5853cc 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.demo.domain.RsDangerInfo; import org.springframework.stereotype.Service; import org.dromara.demo.domain.bo.RsDangerTotalBo; import org.dromara.demo.domain.vo.RsDangerTotalVo; @@ -69,6 +70,7 @@ lqw.eq(bo.getIssueNotice() != null, RsDangerTotal::getIssueNotice, bo.getIssueNotice()); lqw.eq(bo.getDealWithSecurityRisks() != null, RsDangerTotal::getDealWithSecurityRisks, bo.getDealWithSecurityRisks()); lqw.eq(bo.getStatus() != null, RsDangerTotal::getStatus, bo.getStatus()); + lqw.orderByDesc(RsDangerTotal::getCreateTime); return lqw; } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java index 4ace7ea..abc0e5a 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java @@ -15,6 +15,7 @@ import org.dromara.demo.mapper.RsTrafficIndexMapper; import org.dromara.demo.service.IRsTrafficIndexService; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.Collection; @@ -83,7 +84,7 @@ lqw.eq(bo.getTargetFourStatus() != null, RsTrafficIndex::getTargetFourStatus, bo.getTargetFourStatus()); lqw.eq(bo.getTargetFourCompareValue() != null, RsTrafficIndex::getTargetFourCompareValue, bo.getTargetFourCompareValue()); lqw.eq(bo.getStatus() != null, RsTrafficIndex::getStatus, bo.getStatus()); - lqw.like(StringUtils.isNotBlank(bo.getPeriodName()), RsTrafficIndex::getPeriodName, bo.getPeriodName()); + lqw.like(StringUtils.isNotBlank(bo.getPeriodDate()), RsTrafficIndex::getPeriodDate, bo.getPeriodDate()); return lqw; } @@ -116,7 +117,7 @@ * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 */ private void validEntityBeforeSave(RsTrafficIndex entity){ - //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 + entity.setCreateTime(new Date()); } /** diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficPropagandaServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficPropagandaServiceImpl.java new file mode 100644 index 0000000..889c7be --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficPropagandaServiceImpl.java @@ -0,0 +1,115 @@ +package org.dromara.demo.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.demo.domain.bo.RsTrafficPropagandaBo; +import org.dromara.demo.domain.vo.RsTrafficPropagandaVo; +import org.dromara.demo.domain.RsTrafficPropaganda; +import org.dromara.demo.mapper.RsTrafficPropagandaMapper; +import org.dromara.demo.service.IRsTrafficPropagandaService; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 浜ら�氬浼燬ervice涓氬姟灞傚鐞� + * + * @author gonghl + * @date 2024-03-01 + */ +@RequiredArgsConstructor +@Service +public class RsTrafficPropagandaServiceImpl implements IRsTrafficPropagandaService { + + private final RsTrafficPropagandaMapper baseMapper; + + /** + * 鏌ヨ浜ら�氬浼� + */ + @Override + public RsTrafficPropagandaVo queryById(String id){ + return baseMapper.selectVoById(id); + } + + /** + * 鏌ヨ浜ら�氬浼犲垪琛� + */ + @Override + public TableDataInfo<RsTrafficPropagandaVo> queryPageList(RsTrafficPropagandaBo bo, PageQuery pageQuery) { + LambdaQueryWrapper<RsTrafficPropaganda> lqw = buildQueryWrapper(bo); + Page<RsTrafficPropagandaVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 鏌ヨ浜ら�氬浼犲垪琛� + */ + @Override + public List<RsTrafficPropagandaVo> queryList(RsTrafficPropagandaBo bo) { + LambdaQueryWrapper<RsTrafficPropaganda> lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper<RsTrafficPropaganda> buildQueryWrapper(RsTrafficPropagandaBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<RsTrafficPropaganda> lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getTitle()), RsTrafficPropaganda::getTitle, bo.getTitle()); + lqw.eq(bo.getSequence() != null, RsTrafficPropaganda::getSequence, bo.getSequence()); + lqw.eq(bo.getStatus() != null, RsTrafficPropaganda::getStatus, bo.getStatus()); + lqw.orderByAsc(RsTrafficPropaganda::getSequence); + return lqw; + } + + /** + * 鏂板浜ら�氬浼� + */ + @Override + public Boolean insertByBo(RsTrafficPropagandaBo bo) { + RsTrafficPropaganda add = MapstructUtils.convert(bo, RsTrafficPropaganda.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + // 淇敼澶т簬褰撳墠椤哄簭鐨勬暟鎹竴娆�+1 + // baseMapper.addSequence(bo.getSequence(), bo.getId()); + } + return flag; + } + + /** + * 淇敼浜ら�氬浼� + */ + @Override + public Boolean updateByBo(RsTrafficPropagandaBo bo) { + RsTrafficPropaganda update = MapstructUtils.convert(bo, RsTrafficPropaganda.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 + */ + private void validEntityBeforeSave(RsTrafficPropaganda entity){ + entity.setCreateTime(new Date()); + } + + /** + * 鎵归噺鍒犻櫎浜ら�氬浼� + */ + @Override + public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) { + if(isValid){ + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml new file mode 100644 index 0000000..6203eb7 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.dromara.demo.mapper.RsTrafficPropagandaMapper"> + + <update id="addSequence"> + update rs_traffic_propaganda set sequence = sequence + 1 where sequence >= #{sequence} and id != #{id} + </update> + +</mapper> -- Gitblit v1.8.0