From 5643faab221aad18af98e8c770ca1094aff5acf7 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Mon, 19 Aug 2024 11:16:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=B9=E7=AA=97=E5=B9=BF=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TbMiniAppPagesController.java | 46 +++++++ .../controller/shop/TbShopAdController.java | 39 ++++++ .../cn/ysk/cashier/dto/TbMiniAppPagesDto.java | 22 ++++ .../cn/ysk/cashier/dto/shop/TbShopAdDto.java | 40 ++++++ .../mybatis/entity/TbMiniAppPages.java | 26 ++++ .../ysk/cashier/mybatis/entity/TbShopAd.java | 28 +++++ .../mybatis/mapper/TbMiniAppPagesMapper.java | 10 ++ .../mybatis/mapper/TbShopAdMapper.java | 10 ++ .../service/TbMiniAppPagesService.java | 22 ++++ .../mybatis/service/TbShopAdService.java | 22 ++++ .../impl/TbMiniAppPagesServiceImpl.java | 118 ++++++++++++++++++ .../service/impl/TbShopAdServiceImpl.java | 115 +++++++++++++++++ 12 files changed, 498 insertions(+) create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/controller/TbMiniAppPagesController.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopAdController.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/dto/TbMiniAppPagesDto.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopAdDto.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbMiniAppPages.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopAd.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbMiniAppPagesMapper.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbShopAdMapper.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbMiniAppPagesService.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbShopAdService.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbMiniAppPagesServiceImpl.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopAdServiceImpl.java diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbMiniAppPagesController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbMiniAppPagesController.java new file mode 100644 index 00000000..a7f6599e --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbMiniAppPagesController.java @@ -0,0 +1,46 @@ +package cn.ysk.cashier.controller; + +import cn.ysk.cashier.dto.TbMiniAppPagesDto; +import cn.ysk.cashier.mybatis.service.TbMiniAppPagesService; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + * @author GYJ + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/miniAppPages") +public class TbMiniAppPagesController { + + final private TbMiniAppPagesService tbMiniAppPagesService; + + @PostMapping + @ApiOperation("新增/system/miniAppPages") + public ResponseEntity createTbMiniAppPages(@Validated @RequestBody TbMiniAppPagesDto pagesDto) { + return tbMiniAppPagesService.createTbMiniAppPages(pagesDto); + } + + @PutMapping + @ApiOperation("修改/system/miniAppPages") + public ResponseEntity updateTbMiniAppPages(@Validated @RequestBody TbMiniAppPagesDto pagesDto) { + return tbMiniAppPagesService.updateTbMiniAppPages(pagesDto); + } + + @DeleteMapping("/{pagesId}") + @ApiOperation("删除/system/miniAppPages") + public ResponseEntity deleteTbMiniAppPages(@PathVariable Integer pagesId) { + return tbMiniAppPagesService.deleteTbMiniAppPages(pagesId); + } + + @GetMapping + @ApiOperation("查询/system/miniAppPages") + public ResponseEntity getTbMiniAppPages(@RequestParam Map params) { + return tbMiniAppPagesService.getTbMiniAppPages(params); + } +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopAdController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopAdController.java new file mode 100644 index 00000000..e1396888 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopAdController.java @@ -0,0 +1,39 @@ +package cn.ysk.cashier.controller.shop; + +import cn.ysk.cashier.dto.shop.TbShopAdDto; +import cn.ysk.cashier.mybatis.service.TbShopAdService; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + * @author GYJ + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/ad") +public class TbShopAdController { + final private TbShopAdService tbShopAdService; + + @PostMapping + public ResponseEntity createTbShopAd(@RequestBody TbShopAdDto adDto) { + return tbShopAdService.createTbShopAd(adDto); + } + + @PutMapping + public ResponseEntity updateTbShopAd(@RequestBody TbShopAdDto adDto) { + return tbShopAdService.updateTbShopAd(adDto); + } + + @DeleteMapping("/{adId}") + public ResponseEntity deleteTbShopAd(@PathVariable Integer adId) { + return tbShopAdService.deleteTbShopAd(adId); + } + + @GetMapping + public ResponseEntity getTbShopAd(@RequestParam Map params) { + return tbShopAdService.getTbShopAd(params); + } +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/TbMiniAppPagesDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/TbMiniAppPagesDto.java new file mode 100644 index 00000000..e90ba071 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/TbMiniAppPagesDto.java @@ -0,0 +1,22 @@ +package cn.ysk.cashier.dto; + +import lombok.Data; + +import java.util.Date; + +/** + * @author GYJ + */ +@Data +public class TbMiniAppPagesDto { + private Integer id; + private Integer shopId; + private String name; + private String path; + private String icon; + private String description; + private Integer sort; + private Integer status; + private Date createTime; + private Date updateTime; +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopAdDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopAdDto.java new file mode 100644 index 00000000..59411fea --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopAdDto.java @@ -0,0 +1,40 @@ +package cn.ysk.cashier.dto.shop; + +import cn.ysk.cashier.mybatis.entity.TbShopAd; +import lombok.Data; + +import java.util.Date; + +/** + * @author GYJ + */ +@Data +public class TbShopAdDto { + private Integer id; + private Integer shopId; + private String imgUrl; + private String linkPath; + private Integer borderRadius; + private String showPosition; + private String frequency; + private Integer status; + private Integer sort; + private Date createTime; + private Date updateTime; + + public TbShopAd convertToTbShopAd() { + TbShopAd tbShopAd = new TbShopAd(); + tbShopAd.setId(this.id); + tbShopAd.setShopId(this.shopId); + tbShopAd.setImgUrl(this.imgUrl); + tbShopAd.setLinkPath(this.linkPath); + tbShopAd.setBorderRadius(this.borderRadius); + tbShopAd.setShowPosition(this.showPosition); + tbShopAd.setFrequency(this.frequency); + tbShopAd.setStatus(this.status); + tbShopAd.setSort(this.sort); + tbShopAd.setCreateTime(this.createTime); + tbShopAd.setUpdateTime(this.updateTime); + return tbShopAd; + } +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbMiniAppPages.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbMiniAppPages.java new file mode 100644 index 00000000..70c1042e --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbMiniAppPages.java @@ -0,0 +1,26 @@ +package cn.ysk.cashier.mybatis.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * @author GYJ + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("tb_mini_app_pages") +public class TbMiniAppPages extends Model { + private Integer id; + private String icon; + private String name; + private String path; + private String description; + private Integer status; + private Integer sort; + private Date createTime; + private Date updateTime; +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopAd.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopAd.java new file mode 100644 index 00000000..31fb11db --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopAd.java @@ -0,0 +1,28 @@ +package cn.ysk.cashier.mybatis.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * @author GYJ + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("tb_shop_ad") +public class TbShopAd extends Model { + private Integer id; + private Integer shopId; + private String imgUrl; + private String linkPath; + private Integer borderRadius; + private String showPosition; + private String frequency; + private Integer status; + private Integer sort; + private Date createTime; + private Date updateTime; +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbMiniAppPagesMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbMiniAppPagesMapper.java new file mode 100644 index 00000000..e4803dce --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbMiniAppPagesMapper.java @@ -0,0 +1,10 @@ +package cn.ysk.cashier.mybatis.mapper; + +import cn.ysk.cashier.mybatis.entity.TbMiniAppPages; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @author GYJ + */ +public interface TbMiniAppPagesMapper extends BaseMapper { +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbShopAdMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbShopAdMapper.java new file mode 100644 index 00000000..6ea4b44c --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbShopAdMapper.java @@ -0,0 +1,10 @@ +package cn.ysk.cashier.mybatis.mapper; + +import cn.ysk.cashier.mybatis.entity.TbShopAd; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @author GYJ + */ +public interface TbShopAdMapper extends BaseMapper { +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbMiniAppPagesService.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbMiniAppPagesService.java new file mode 100644 index 00000000..005efedd --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbMiniAppPagesService.java @@ -0,0 +1,22 @@ +package cn.ysk.cashier.mybatis.service; + +import cn.ysk.cashier.dto.TbMiniAppPagesDto; +import cn.ysk.cashier.mybatis.entity.TbMiniAppPages; +import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.http.ResponseEntity; + +import java.util.Map; + +/** + * @author GYJ + */ +public interface TbMiniAppPagesService extends IService { + + ResponseEntity createTbMiniAppPages(TbMiniAppPagesDto pagesDto); + + ResponseEntity updateTbMiniAppPages(TbMiniAppPagesDto pagesDto); + + ResponseEntity deleteTbMiniAppPages(Integer pagesId); + + ResponseEntity getTbMiniAppPages(Map params); +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbShopAdService.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbShopAdService.java new file mode 100644 index 00000000..3c5503eb --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbShopAdService.java @@ -0,0 +1,22 @@ +package cn.ysk.cashier.mybatis.service; + +import cn.ysk.cashier.dto.shop.TbShopAdDto; +import cn.ysk.cashier.mybatis.entity.TbShopAd; +import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.http.ResponseEntity; + +import java.util.Map; + +/** + * @author GYJ + */ +public interface TbShopAdService extends IService { + + ResponseEntity createTbShopAd(TbShopAdDto adDto); + + ResponseEntity updateTbShopAd(TbShopAdDto adDto); + + ResponseEntity deleteTbShopAd(Integer adId); + + ResponseEntity getTbShopAd(Map params); +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbMiniAppPagesServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbMiniAppPagesServiceImpl.java new file mode 100644 index 00000000..caf356bc --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbMiniAppPagesServiceImpl.java @@ -0,0 +1,118 @@ +package cn.ysk.cashier.mybatis.service.impl; + +import cn.ysk.cashier.dto.TbMiniAppPagesDto; +import cn.ysk.cashier.mybatis.entity.TbMiniAppPages; +import cn.ysk.cashier.mybatis.mapper.TbMiniAppPagesMapper; +import cn.ysk.cashier.mybatis.service.TbMiniAppPagesService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.Map; + +/** + * @author GYJ + */ +@Service +@RequiredArgsConstructor +public class TbMiniAppPagesServiceImpl extends ServiceImpl implements TbMiniAppPagesService { + @Override + public ResponseEntity createTbMiniAppPages(TbMiniAppPagesDto pagesDto) { + if (pagesDto == null) { + return ResponseEntity.badRequest().body("参数不能为空"); + } + if (pagesDto.getName() == null || pagesDto.getPath() == null) { + return ResponseEntity.badRequest().body("页面名称和路径不能为空"); + } + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("name", pagesDto.getName()); + TbMiniAppPages tbMiniAppPages = baseMapper.selectOne(wrapper); + if (tbMiniAppPages != null) { + return ResponseEntity.badRequest().body("页面已存在"); + } + + tbMiniAppPages = new TbMiniAppPages(); + tbMiniAppPages.setName(pagesDto.getName()); + tbMiniAppPages.setPath(pagesDto.getPath()); + tbMiniAppPages.setIcon(pagesDto.getIcon()); + tbMiniAppPages.setSort(pagesDto.getSort()); + tbMiniAppPages.setDescription(pagesDto.getDescription()); + tbMiniAppPages.setStatus(pagesDto.getStatus()); + tbMiniAppPages.setCreateTime(new Date()); + tbMiniAppPages.setUpdateTime(new Date()); + + baseMapper.insert(tbMiniAppPages); + + return ResponseEntity.ok().body("新增成功"); + } + + @Override + public ResponseEntity updateTbMiniAppPages(TbMiniAppPagesDto pagesDto) { + TbMiniAppPages appPages = baseMapper.selectById(pagesDto.getId()); + if (appPages == null) { + return ResponseEntity.badRequest().body("页面不存在"); + } + + if (pagesDto.getName() == null || pagesDto.getPath() == null) { + return ResponseEntity.badRequest().body("页面名称和路径不能为空"); + } + + if (!appPages.getName().equals(pagesDto.getName())) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("name", pagesDto.getName()); + TbMiniAppPages tbMiniAppPages = baseMapper.selectOne(wrapper); + if (tbMiniAppPages != null) { + return ResponseEntity.badRequest().body("页面已存在"); + } + } + + if (pagesDto.getName() != null) { + appPages.setName(pagesDto.getName()); + } + if (pagesDto.getPath() != null) { + appPages.setPath(pagesDto.getPath()); + } + if (pagesDto.getIcon() != null) { + appPages.setIcon(pagesDto.getIcon()); + } + if (pagesDto.getSort() != null) { + appPages.setSort(pagesDto.getSort()); + } + if (pagesDto.getDescription() != null) { + appPages.setDescription(pagesDto.getDescription()); + } + if (pagesDto.getStatus() != null) { + appPages.setStatus(pagesDto.getStatus()); + } + appPages.setUpdateTime(new Date()); + + baseMapper.updateById(appPages); + + return ResponseEntity.ok().body("更新成功"); + } + + @Override + public ResponseEntity deleteTbMiniAppPages(Integer pagesId) { + TbMiniAppPages appPages = baseMapper.selectById(pagesId); + if (appPages == null) { + return ResponseEntity.badRequest().body("页面不存在"); + } + + baseMapper.deleteById(pagesId); + + return ResponseEntity.ok().body("删除成功"); + } + + @Override + public ResponseEntity getTbMiniAppPages(Map params) { + QueryWrapper wrapper = new QueryWrapper<>(); + if (params.get("status") != null) { + wrapper.eq("status", params.get("status")); + } + wrapper.orderByDesc("sort"); + return ResponseEntity.ok().body(baseMapper.selectList(wrapper)); + } +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopAdServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopAdServiceImpl.java new file mode 100644 index 00000000..c1d0c3d4 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopAdServiceImpl.java @@ -0,0 +1,115 @@ +package cn.ysk.cashier.mybatis.service.impl; + +import cn.hutool.core.util.StrUtil; +import cn.ysk.cashier.dto.shop.TbShopAdDto; +import cn.ysk.cashier.mybatis.entity.TbShopAd; +import cn.ysk.cashier.mybatis.mapper.TbShopAdMapper; +import cn.ysk.cashier.mybatis.service.TbShopAdService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.Map; + +/** + * @author GYJ + */ +@Service +@RequiredArgsConstructor +public class TbShopAdServiceImpl extends ServiceImpl implements TbShopAdService { + @Override + public ResponseEntity createTbShopAd(TbShopAdDto adDto) { + if (adDto.getShopId() == null || adDto.getShopId() == 0) { + return ResponseEntity.badRequest().body("店铺ID不能为空"); + } + if (StrUtil.isBlank(adDto.getImgUrl())) { + return ResponseEntity.badRequest().body("图片地址不能为空"); + } + TbShopAd shopAd = adDto.convertToTbShopAd(); + shopAd.setCreateTime(new Date()); + shopAd.setUpdateTime(new Date()); + baseMapper.insert(shopAd); + return ResponseEntity.ok().body("新增成功"); + } + + @Override + public ResponseEntity updateTbShopAd(TbShopAdDto adDto) { + if (adDto.getShopId() == null || adDto.getShopId() == 0) { + return ResponseEntity.badRequest().body("店铺ID不能为空"); + } + if (StrUtil.isBlank(adDto.getImgUrl())) { + return ResponseEntity.badRequest().body("图片地址不能为空"); + } + TbShopAd shopAd = baseMapper.selectById(adDto.getId()); + if (shopAd == null) { + return ResponseEntity.badRequest().body("广告不存在"); + } + + if (StrUtil.isNotBlank(adDto.getImgUrl())) { + shopAd.setImgUrl(adDto.getImgUrl()); + } + if (StrUtil.isNotBlank(adDto.getLinkPath())) { + shopAd.setLinkPath(adDto.getLinkPath()); + } + if (adDto.getBorderRadius() != null) { + shopAd.setBorderRadius(adDto.getBorderRadius()); + } + if (StrUtil.isNotBlank(adDto.getShowPosition())) { + shopAd.setShowPosition(adDto.getShowPosition()); + } + if (StrUtil.isNotBlank(adDto.getFrequency())) { + shopAd.setFrequency(adDto.getFrequency()); + } + if (adDto.getStatus() != null) { + shopAd.setStatus(adDto.getStatus()); + } + if (adDto.getSort() != null) { + shopAd.setSort(adDto.getSort()); + } + shopAd.setUpdateTime(new Date()); + + baseMapper.updateById(shopAd); + + return ResponseEntity.ok().body("修改成功"); + } + + @Override + public ResponseEntity deleteTbShopAd(Integer adId) { + TbShopAd shopAd = baseMapper.selectById(adId); + if (shopAd == null) { + return ResponseEntity.badRequest().body("广告不存在"); + } + + baseMapper.deleteById(adId); + + return ResponseEntity.ok().body("删除成功"); + } + + @Override + public ResponseEntity getTbShopAd(Map params) { + QueryWrapper wrapper = new QueryWrapper<>(); + + if (StrUtil.isBlank((String) params.get("shopId"))) { + return ResponseEntity.badRequest().body("店铺ID不能为空"); + } + + if (StrUtil.isNotBlank((String) params.get("status"))) { + wrapper.eq("status", params.get("status")); + } + + if (StrUtil.isNotBlank((String) params.get("showPosition"))) { + wrapper.eq("show_position", params.get("showPosition")); + } + + if (StrUtil.isNotBlank((String) params.get("frequency"))) { + wrapper.eq("frequency", params.get("frequency")); + } + + wrapper.orderByDesc("sort"); + + return ResponseEntity.ok().body(baseMapper.selectList(wrapper)); + } +}