ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/management/MgtArticleController.java
@@ -1,6 +1,7 @@ package com.ruoyi.article.controller.management; import com.ruoyi.article.controller.management.dto.MgtArticleAuditDTO; import com.ruoyi.article.controller.management.dto.MgtArticleDTO; import com.ruoyi.article.controller.management.dto.MgtArticleQuery; import com.ruoyi.article.controller.management.vo.MgtArticleVO; @@ -42,7 +43,7 @@ * @param query 资讯管理查询条件 * @return PageDTO<ArticleVO> */ @ApiOperation(value = "获取资讯列表的分页数据", notes = "获取资讯列表的分页数据") @ApiOperation(value = "获取资讯列表的分页数据", notes = "获取资讯列表的分页数据,资讯审核列表") @PostMapping("/page") public R<PageDTO<MgtArticleVO>> getArticlePage(@Validated @RequestBody MgtArticleQuery query) { return R.ok(articleService.getArticlePage(query)); @@ -86,5 +87,16 @@ return R.ok(articleService.getDetail(id)); } /** * 资讯审核 * * @param dto 管理后台-资讯审核传输对象 */ @ApiOperation("资讯审核") @PutMapping("/audit") public R<?> audit(@Validated @RequestBody MgtArticleAuditDTO dto) { articleService.audit(dto); return R.ok(); } } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/management/MgtSensitiveWordsController.java
@@ -1,6 +1,7 @@ package com.ruoyi.article.controller.management; import com.ruoyi.article.controller.management.dto.MgtSensitiveWordsDTO; import com.ruoyi.article.controller.management.dto.MgtSensitiveWordsQuery; import com.ruoyi.article.controller.management.vo.MgtSensitiveWordsVO; import com.ruoyi.article.service.ISensitiveWordsService; @@ -44,4 +45,15 @@ return R.ok(sensitiveWordsService.getSensitiveWordsPage(query)); } /** * 添加敏感词 * * @param dto 敏感词数据传输对象 */ @ApiOperation("添加敏感词") @PostMapping("/save") public R<?> saveSensitiveWords(@Validated @RequestBody MgtSensitiveWordsDTO dto) { sensitiveWordsService.saveSensitiveWords(dto); return R.ok(); } } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/management/dto/MgtArticleAuditDTO.java
New file @@ -0,0 +1,26 @@ package com.ruoyi.article.controller.management.dto; import com.ruoyi.common.core.enums.AuditStatusEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import javax.validation.constraints.NotNull; import lombok.Data; /** * @author mitao * @date 2024/6/12 */ @Data @ApiModel(value = "管理后台-资讯审核传输对象", description = "管理后台-资讯审核传输对象") public class MgtArticleAuditDTO implements Serializable { private static final long serialVersionUID = -8029337933255222034L; @ApiModelProperty(value = "资讯id") @NotNull(message = "资讯id不能为空") private Long id; @ApiModelProperty(value = "审核状态 已通过 已拒绝") @NotNull(message = "审核状态不能为空") private AuditStatusEnum status; } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/management/dto/MgtSensitiveWordsDTO.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.article.controller.management.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import javax.validation.constraints.NotBlank; import lombok.Data; /** * @author mitao * @date 2024/6/12 */ @Data @ApiModel(value = "敏感词数据传输对象", description = "敏感词数据传输对象") public class MgtSensitiveWordsDTO implements Serializable { private static final long serialVersionUID = 8439052498356527062L; @ApiModelProperty(value = "敏感词") @NotBlank(message = "敏感词不能为空") private String word; } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IArticleService.java
@@ -4,6 +4,7 @@ import com.ruoyi.article.controller.forepart.dto.ArticleDTO; import com.ruoyi.article.controller.forepart.vo.ArticleCommentsVO; import com.ruoyi.article.controller.forepart.vo.ArticleVO; import com.ruoyi.article.controller.management.dto.MgtArticleAuditDTO; import com.ruoyi.article.controller.management.dto.MgtArticleDTO; import com.ruoyi.article.controller.management.dto.MgtArticleQuery; import com.ruoyi.article.controller.management.vo.MgtArticleVO; @@ -62,4 +63,11 @@ * @return MgtArticleVO */ MgtArticleVO getDetail(Long id); /** * 资讯审核 * * @param dto 管理后台-资讯审核传输对象 */ void audit(MgtArticleAuditDTO dto); } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/ISensitiveWordsService.java
@@ -1,6 +1,7 @@ package com.ruoyi.article.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.article.controller.management.dto.MgtSensitiveWordsDTO; import com.ruoyi.article.controller.management.dto.MgtSensitiveWordsQuery; import com.ruoyi.article.controller.management.vo.MgtSensitiveWordsVO; import com.ruoyi.article.domain.SensitiveWords; @@ -30,4 +31,11 @@ * @return PageDTO<MgtSensitiveWordsVO> */ PageDTO<MgtSensitiveWordsVO> getSensitiveWordsPage(MgtSensitiveWordsQuery query); /** * 添加敏感词 * * @param dto 敏感词数据传输对象 */ void saveSensitiveWords(MgtSensitiveWordsDTO dto); } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java
@@ -8,6 +8,7 @@ import com.ruoyi.article.controller.forepart.dto.ArticleDTO; import com.ruoyi.article.controller.forepart.vo.ArticleCommentsVO; import com.ruoyi.article.controller.forepart.vo.ArticleVO; import com.ruoyi.article.controller.management.dto.MgtArticleAuditDTO; import com.ruoyi.article.controller.management.dto.MgtArticleDTO; import com.ruoyi.article.controller.management.dto.MgtArticleQuery; import com.ruoyi.article.controller.management.vo.MgtArticleVO; @@ -432,4 +433,19 @@ } return BeanUtils.copyBean(article, MgtArticleVO.class); } /** * 资讯审核 * * @param dto 管理后台-资讯审核传输对象 */ @Override public void audit(MgtArticleAuditDTO dto) { Article article = this.getById(dto.getId()); if (StringUtils.isNull(article)) { throw new ServiceException("资讯不存在"); } article.setStatus(dto.getStatus()); this.updateById(article); } } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/SensitiveWordsServiceImpl.java
@@ -2,12 +2,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.article.controller.management.dto.MgtSensitiveWordsDTO; import com.ruoyi.article.controller.management.dto.MgtSensitiveWordsQuery; import com.ruoyi.article.controller.management.vo.MgtSensitiveWordsVO; import com.ruoyi.article.domain.SensitiveWords; import com.ruoyi.article.mapper.SensitiveWordsMapper; import com.ruoyi.article.service.ISensitiveWordsService; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.dto.judgeSensitiveWordsDTO; import com.ruoyi.system.api.domain.vo.judgeSensitiveWordsVO; @@ -62,6 +66,25 @@ */ @Override public PageDTO<MgtSensitiveWordsVO> getSensitiveWordsPage(MgtSensitiveWordsQuery query) { return null; PageDTO<MgtSensitiveWordsVO> pageVO; Page<SensitiveWords> page = this.lambdaQuery() .like(StringUtils.isNotBlank(query.getWord()), SensitiveWords::getWord, query.getWord()).page(new Page<>(query.getPageCurr(), query.getPageSize())); if (StringUtils.isEmpty(page.getRecords())) { pageVO = PageDTO.empty(page); } else { pageVO = PageDTO.of(page, MgtSensitiveWordsVO.class); } return pageVO; } /** * 添加敏感词 * * @param dto 敏感词数据传输对象 */ @Override public void saveSensitiveWords(MgtSensitiveWordsDTO dto) { this.save(BeanUtils.copyBean(dto, SensitiveWords.class)); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtInvoicingApplicationController.java
New file @@ -0,0 +1,19 @@ package com.ruoyi.order.controller.management; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 开票申请表 前端控制器 * </p> * * @author mitao * @since 2024-05-16 */ @RestController @RequestMapping("/mgt/invoicing-application") public class MgtInvoicingApplicationController { } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderAuctionController.java
New file @@ -0,0 +1,19 @@ package com.ruoyi.order.controller.management; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 拍卖订单表 前端控制器 * </p> * * @author mitao * @since 2024-05-16 */ @RestController @RequestMapping("/mgt/order-auction") public class MgtOrderAuctionController { } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java
New file @@ -0,0 +1,47 @@ package com.ruoyi.order.controller.management; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.order.controller.management.dto.MgtMallOrderQuery; import com.ruoyi.order.controller.management.vo.MgtMallOrderVO; import com.ruoyi.order.service.IOrderService; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 订单表 前端控制器 * </p> * * @author mitao * @since 2024-05-16 */ @Slf4j @RestController @RequestMapping("/mgt/order") @RequiredArgsConstructor public class MgtOrderController { private final IOrderService orderService; /** * 商城订单分页列表 * * @param query 商城订单查询对象 * @return PageDTO<MgtMallOrderVO> */ @ApiOperation("商城订单分页列表") @PostMapping("/mall-page") public R<PageDTO<MgtMallOrderVO>> getMallOrderPage( @Validated @RequestBody MgtMallOrderQuery query) { return R.ok(orderService.getMallOrderPage(query)); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderReturnRequestController.java
New file @@ -0,0 +1,23 @@ package com.ruoyi.order.controller.management; import io.swagger.annotations.Api; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 售后表 前端控制器 * </p> * * @author mitao * @since 2024-05-16 */ @RestController @RequiredArgsConstructor @RequestMapping("/mgt/order-return-request") @Api(tags = {"管理后台-售后管理相关接口"}, value = "管理后台-售后管理相关接口") public class MgtOrderReturnRequestController { } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/dto/MgtMallOrderQuery.java
New file @@ -0,0 +1,39 @@ package com.ruoyi.order.controller.management.dto; import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; /** * @author mitao * @date 2024/6/12 */ @Data @EqualsAndHashCode(callSuper = true) @ApiModel(value = "商城订单查询对象") public class MgtMallOrderQuery extends BasePage { private static final long serialVersionUID = 7466073766154410614L; @ApiModelProperty(value = "订单编号") private String orderNo; @ApiModelProperty(value = "订单来源 1=商品订单 2=秒杀订单 3=团购订单 4=拍卖订单") private OrderFromEnum orderFrom; @ApiModelProperty(value = "商品名称") private String skuName; @ApiModelProperty(value = "下单会员") private String nickname; @ApiModelProperty("联系方式") private String phone; @ApiModelProperty(value = "订单状态 1=待支付 2=待发货 3=待收货 4=已完成 5=已取消,6 售后") private OrderStatusEnum orderStatus; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtMallOrderVO.java
New file @@ -0,0 +1,115 @@ package com.ruoyi.order.controller.management.vo; import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; import com.ruoyi.common.core.enums.PaymentMethodEnum; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import lombok.Data; /** * @author mitao * @date 2024/6/12 */ @Data @Api(value = "商城订单视图对象") public class MgtMallOrderVO implements Serializable { private static final long serialVersionUID = -7047076906373189300L; @ApiModelProperty(value = "订单id") private Long id; @ApiModelProperty(value = "订单编号") private String orderNo; @ApiModelProperty(value = "下单时间") private LocalDateTime orderTime; @ApiModelProperty(value = "订单来源 1=商品订单 2=秒杀订单 3=团购订单 4=拍卖订单") private OrderFromEnum orderFrom; @ApiModelProperty(value = "会员id") private Long memberId; @ApiModelProperty(value = "会员姓名") private String nickname; @ApiModelProperty("联系方式") private String phone; @ApiModelProperty(value = "支付方式 1=微信 2=支付宝") private PaymentMethodEnum paymentMethod; @ApiModelProperty(value = "支付合计") private BigDecimal totalAmount; @ApiModelProperty(value = "订单状态 1=待支付 2=待发货 3=待收货 4=已完成 5=已取消,6 售后") private OrderStatusEnum orderStatus; @ApiModelProperty(value = "支付时间") private LocalDateTime payTime; @ApiModelProperty(value = "取消时间") private LocalDateTime cancelTime; @ApiModelProperty(value = "订单备注") private String orderRemark; @ApiModelProperty(value = "发货时间") private LocalDateTime deliveryTime; @ApiModelProperty(value = "确认收货时间") private LocalDateTime receiveTime; @ApiModelProperty(value = "优惠金额") private BigDecimal discountMoney; @ApiModelProperty(value = "商品数量") private Integer goodsQuantity; @ApiModelProperty(value = "快递单号") private String courierNumber; @ApiModelProperty(value = "收货人姓名") private String receiverName; @ApiModelProperty(value = "收货人电话") private String receiverphone; @ApiModelProperty(value = "城市") private String receiverCity; @ApiModelProperty(value = "详细地址") private String receiverDetailAddress; @ApiModelProperty(value = "开票状态 开票状态 1 待开票,2待审核,3 已开票,4 拒绝") private Integer invoiceStatus; @ApiModelProperty(value = "优惠券id") private Long couponId; @ApiModelProperty(value = "优惠券名称") private String couponName; @ApiModelProperty(value = "商品id") private Long goodsSkuId; @ApiModelProperty(value = "商品名称") private String skuName; @ApiModelProperty(value = "封面图") private String coverPic; @ApiModelProperty(value = "商品价格") private BigDecimal price; @ApiModelProperty(value = "积分") private Integer points; @ApiModelProperty("售后信息") private MgtOrderReturnRequestVO returnRequestVO; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtOrderReturnRequestVO.java
New file @@ -0,0 +1,63 @@ package com.ruoyi.order.controller.management.vo; import com.ruoyi.common.core.enums.AuditStatusEnum; import com.ruoyi.common.core.enums.RequestTypeEnum; import com.ruoyi.common.core.enums.ReturnRequestStatusEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.time.LocalDateTime; import lombok.Data; /** * @author mitao * @date 2024/6/12 */ @Data @ApiModel(value = "售后信息视图对象", description = "售后信息视图对象") public class MgtOrderReturnRequestVO implements Serializable { private static final long serialVersionUID = -8078959211637146770L; @ApiModelProperty(value = "售后id") private Long id; @ApiModelProperty(value = "订单id") private Long orderId; @ApiModelProperty(value = "申请时间") private LocalDateTime requestTime; @ApiModelProperty(value = "售后类型 1=退款 2=退款退货") private RequestTypeEnum requestType; @ApiModelProperty(value = "申请原因") private String requestReason; @ApiModelProperty(value = "售后状态 1=待审核 2=待退货 3=待平台收货 4=已完成 5=已拒绝") private ReturnRequestStatusEnum status; @ApiModelProperty(value = "审核状态 1=待审核 2=已通过 3=已拒绝") private AuditStatusEnum auditStatus; @ApiModelProperty(value = "拒绝理由") private String refuseReason; @ApiModelProperty(value = "详情图,不超过五张图片") private String album; @ApiModelProperty(value = "收件人姓名") private String recipientName; @ApiModelProperty(value = "收件人电话") private String recipientPhone; @ApiModelProperty(value = "详细地址") private String detailedAddress; @ApiModelProperty(value = "备注") private String remark; @ApiModelProperty(value = "快递单号") private String courierNumber; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java
@@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.order.controller.management.dto.MgtMallOrderQuery; import com.ruoyi.order.controller.management.vo.MgtMallOrderVO; import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.MemberOrderDTO; @@ -71,4 +73,12 @@ * @return List<Order> */ List<Order> getOrderByCouponIds(Collection<Long> couponIds); /** * 商城订单分页列表 * * @param query 商城订单查询对象 * @return PageDTO<MgtMallOrderVO> */ PageDTO<MgtMallOrderVO> getMallOrderPage(MgtMallOrderQuery query); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -12,6 +12,8 @@ import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.order.controller.management.dto.MgtMallOrderQuery; import com.ruoyi.order.controller.management.vo.MgtMallOrderVO; import com.ruoyi.order.domain.Paylog; import com.ruoyi.order.mapper.OrderAuctionBondMapper; import com.ruoyi.order.mapper.OrderMapper; @@ -628,4 +630,15 @@ return this.lambdaQuery().in(Order::getCouponId, couponIds) .eq(Order::getOrderStatus, OrderStatusEnum.FINISHED).list(); } /** * 商城订单分页列表 * * @param query 商城订单查询对象 * @return PageDTO<MgtMallOrderVO> */ @Override public PageDTO<MgtMallOrderVO> getMallOrderPage(MgtMallOrderQuery query) { return null; } } ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/management/MgtPromotionWishListController.java
@@ -12,6 +12,7 @@ import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -31,7 +32,7 @@ @RestController @RequestMapping("/mgt/promotion-wish-list") @RequiredArgsConstructor @Api(value = "管理后台-心愿求购管理相关接口", tags = "管理后台-心愿求购管理相关接口") @Api(value = "管理后台-心愿求购管理相关接口", tags = "管理后台-心愿求购管理相关接口筛选条件为:用户发布") public class MgtPromotionWishListController { private final IPromotionWishListService promotionWishListService; @@ -73,4 +74,17 @@ promotionWishListService.reply(dto); return R.ok(); } /** * 删除 * * @param id 心愿求购id */ @ApiOperation("删除") @DeleteMapping("/{id}") public R<?> delete( @ApiParam(name = "id", value = "心愿求购id", required = true) @PathVariable("id") Long id) { promotionWishListService.removeById(id); return R.ok(); } } ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/management/dto/MgtCouponDTO.java
@@ -12,7 +12,6 @@ import java.time.LocalDateTime; import java.util.List; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import lombok.Data; @@ -79,7 +78,6 @@ private Integer issuedQuantity; @ApiModelProperty(value = "会员id列表") @NotEmpty(message = "会员id列表不能为空", groups = {InsertGroup.class}) private List<Long> memberIdList; } ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionWishListServiceImpl.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.enums.ReplyStatusEnum; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; @@ -169,6 +170,7 @@ public void reply(MgtPromotionWishListDTO dto) { PromotionWishList promotionWishList = this.getById(dto.getId()); promotionWishList.setReplies(dto.getReplies()); promotionWishList.setReplyStatus(ReplyStatusEnum.REPLIED); this.updateById(promotionWishList); } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CustomConfigController.java
@@ -6,8 +6,10 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.CustomConfig; import com.ruoyi.system.domain.dto.PointsConfigDTO; import com.ruoyi.system.domain.vo.CustomConfigVO; import com.ruoyi.system.service.ICustomConfigService; import io.swagger.annotations.ApiOperation; import java.util.List; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; @@ -15,6 +17,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** @@ -40,6 +43,16 @@ } /** * 获取积分设置 * * @return List<CustomConfig> */ @ApiOperation("获取积分设置") @GetMapping("/points") public R<List<CustomConfigVO>> getPointsConfig() { return R.ok(iCustomConfigService.getPointsConfig()); } /** * 保存积分设置 * * @param dto 积分配置数据传输对象 @@ -50,4 +63,28 @@ iCustomConfigService.savePointsSettings(dto); return R.ok(); } /** * 获取订单说明设置 * * @return CustomConfigVO */ @ApiOperation("获取订单说明设置") @GetMapping("/order-desc") public R<CustomConfigVO> getOrderDesc() { return R.ok(iCustomConfigService.getOrderDesc()); } /** * 订单说明设置 * * @param description 订单说明 */ @ApiOperation(value = "订单说明设置") @PostMapping("/save-order-desc") public R<?> saveOrderDescription( @RequestParam(value = "description", required = true) String description) { iCustomConfigService.saveOrderDescription(description); return R.ok(); } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CustomConfigVO.java
New file @@ -0,0 +1,28 @@ package com.ruoyi.system.domain.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import lombok.Data; /** * @author mitao * @date 2024/6/12 */ @Data @ApiModel(value = "系统配置视图对象", description = "系统配置视图对象") public class CustomConfigVO implements Serializable { private static final long serialVersionUID = -3924918944203960354L; @ApiModelProperty(value = "配置id") private Integer configId; @ApiModelProperty(value = "配置键") private String configKey; @ApiModelProperty(value = "配置名") private String configName; @ApiModelProperty(value = "配置值") private String configValue; } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICustomConfigService.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.api.domain.CustomConfig; import com.ruoyi.system.domain.dto.PointsConfigDTO; import com.ruoyi.system.domain.vo.CustomConfigVO; import java.util.List; /** * <p> @@ -14,5 +16,32 @@ */ public interface ICustomConfigService extends IService<CustomConfig> { /** * 保存积分设置 * * @param dto 积分配置数据传输对象 */ void savePointsSettings(PointsConfigDTO dto); /** * 获取积分设置 * * @return List<CustomConfig> */ List<CustomConfigVO> getPointsConfig(); /** * 获取订单说明设置 * * @return CustomConfigVO */ CustomConfigVO getOrderDesc(); /** * 订单说明设置 * * @param description 订单说明 */ void saveOrderDescription(String description); } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CustomConfigServiceImpl.java
@@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.system.api.constants.ConfigEnum; import com.ruoyi.system.api.domain.CustomConfig; import com.ruoyi.system.domain.dto.PointsConfigDTO; import com.ruoyi.system.domain.vo.CustomConfigVO; import com.ruoyi.system.mapper.CustomConfigMapper; import com.ruoyi.system.service.ICustomConfigService; import java.util.List; import java.util.Optional; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -23,6 +26,11 @@ @Service public class CustomConfigServiceImpl extends ServiceImpl<CustomConfigMapper, CustomConfig> implements ICustomConfigService { /** * 保存积分设置 * * @param dto 积分配置数据传输对象 */ @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public void savePointsSettings(PointsConfigDTO dto) { @@ -54,4 +62,51 @@ .eq(CustomConfig::getConfigType, key) .eq(CustomConfig::getDelFlag, 0).oneOpt(); } /** * 获取积分设置 * * @return List<CustomConfigVO> */ @Override public List<CustomConfigVO> getPointsConfig() { List<CustomConfig> list = this.lambdaQuery() .in(CustomConfig::getConfigType, ConfigEnum.MEMBER_POINTS_MONEY.getKey(), ConfigEnum.MEMBER_POINTS_POINTS.getKey()) .eq(CustomConfig::getDelFlag, 0).list(); return BeanUtils.copyList(list, CustomConfigVO.class); } /** * 获取订单说明设置 * * @return CustomConfigVO */ @Override public CustomConfigVO getOrderDesc() { CustomConfigVO vo; CustomConfig customConfig = getCustomConfigByKey( ConfigEnum.MALL_ORDER_DESCRIPTION.getKey()).orElse(new CustomConfig()); vo = BeanUtils.copyBean(customConfig, CustomConfigVO.class); return vo; } /** * 订单说明设置 * * @param description 订单说明 */ @Override public void saveOrderDescription(String description) { CustomConfig orderDescription = getCustomConfigByKey( ConfigEnum.MALL_ORDER_DESCRIPTION.getKey()).orElseGet(() -> { CustomConfig customConfig = new CustomConfig(); customConfig.setConfigKey(ConfigEnum.MALL_ORDER_DESCRIPTION.getKey()); customConfig.setConfigName(ConfigEnum.MALL_ORDER_DESCRIPTION.getKeyName()); customConfig.setConfigType(ConfigEnum.MALL_ORDER_DESCRIPTION.getKeyType()); return customConfig; }); orderDescription.setConfigValue(description); this.saveOrUpdate(orderDescription); } }