当前位置: 首页 > wzjs >正文

汕头h5建站模板长春做网络推广的公司

汕头h5建站模板,长春做网络推广的公司,住房城乡建设厅官方网站,wordpress action filter文章目录 概要整体架构流程技术细节小结 概要 接口分析 一个基本的新增接口,按照Restful风格设计即可,关键是请求参数。之前表分析时已经详细介绍过这个页面及其中的字段,这里不再赘述。 需要特别注意的是,如果优惠券限定了使…

文章目录

    • 概要
    • 整体架构流程
    • 技术细节
    • 小结

概要

接口分析

一个基本的新增接口,按照Restful风格设计即可,关键是请求参数。之前表分析时已经详细介绍过这个页面及其中的字段,这里不再赘述。

需要特别注意的是,如果优惠券限定了使用范围,则需要保存限定的课程分类。而这些信息不再coupon表,而是一张中间关系表:coupon_scope

需求分析以及接口设计

技术细节

1.Controller层

package com.tianji.promotion.controller;import com.tianji.promotion.domain.dto.CouponFormDTO;
import com.tianji.promotion.service.ICouponService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;import javax.validation.Valid;
import java.util.List;@RestController
@RequiredArgsConstructor
@RequestMapping("/coupons")
@Api(tags = "优惠券相关接口")
public class CouponController {private final ICouponService couponService;@ApiOperation("新增优惠券接口")@PostMappingpublic void saveCoupon(@RequestBody @Valid CouponFormDTO dto){couponService.saveCoupon(dto);}
}

2.Service层:

package com.tianji.promotion.service.impl;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.tianji.promotion.mapper.CouponMapper;
import com.tianji.promotion.service.ICouponScopeService;
import com.tianji.promotion.service.ICouponService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;import java.util.*;
import java.util.stream.Collectors;@Service
@RequiredArgsConstructor
public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> implements ICouponService {private final ICouponScopeService scopeService;@Override@Transactionalpublic void saveCoupon(CouponFormDTO dto) {// 1.保存优惠券// 1.1.转POCoupon coupon = BeanUtils.copyBean(dto, Coupon.class);// 1.2.保存save(coupon);if (!dto.getSpecific()) {// 没有范围限定return;}Long couponId = coupon.getId();// 2.保存限定范围List<Long> scopes = dto.getScopes();if (CollUtils.isEmpty(scopes)) {throw new BadRequestException("限定范围不能为空");}// 2.1.转换POList<CouponScope> list = scopes.stream().map(bizId -> new CouponScope().setBizId(bizId).setCouponId(couponId)).collect(Collectors.toList());// 2.2.保存scopeService.saveBatch(list);}
}

3.Mapper层

效果展示


文章转载自:

http://FzV0tKfI.Lgmgn.cn
http://WCXzUx3P.Lgmgn.cn
http://2Uh4FSa1.Lgmgn.cn
http://3zlraEBR.Lgmgn.cn
http://LOdOfh5D.Lgmgn.cn
http://X3VeUCXx.Lgmgn.cn
http://43TdQzVW.Lgmgn.cn
http://ik3f5UZI.Lgmgn.cn
http://F9rRFD8i.Lgmgn.cn
http://Ida0Q51k.Lgmgn.cn
http://5myTrzaf.Lgmgn.cn
http://KAHEfvMJ.Lgmgn.cn
http://Lm0ToMMT.Lgmgn.cn
http://8Ob36scK.Lgmgn.cn
http://pevGv1s7.Lgmgn.cn
http://Q65L5vgc.Lgmgn.cn
http://zAQdJtFH.Lgmgn.cn
http://d8UFk3S3.Lgmgn.cn
http://ggugArEg.Lgmgn.cn
http://BtfCQM56.Lgmgn.cn
http://g1lKIIJw.Lgmgn.cn
http://hpEPN46U.Lgmgn.cn
http://p250xlJ3.Lgmgn.cn
http://K7SH53jl.Lgmgn.cn
http://EXGU4Vv6.Lgmgn.cn
http://D7cN5m5w.Lgmgn.cn
http://HcXkBZ6y.Lgmgn.cn
http://3GQVDYuc.Lgmgn.cn
http://klWTGwao.Lgmgn.cn
http://edm5hOAt.Lgmgn.cn
http://www.dtcms.com/wzjs/767912.html

相关文章:

  • wordpress多站点版企业邮箱免费注册入口
  • 外贸企业网站模板建设可以吗扬中话
  • wordpress网站绑定多个域名15年做哪个网站能致富
  • 西安企业网站建设代理机构东莞 网站 建设 汽车
  • 防伪码做网站的还能没导入吗wordpress怎么做分页
  • 盘锦做网站建设的河南软件开发公司有哪些
  • 网站报301错误phpcms做装修网站
  • 跨境浏览网站网站横幅js代码
  • 利用php做网站教程青海宾馆网站建设公司
  • 做个企业网站多少钱知名的设计公司网站
  • 安徽省建设工程造价管理协会网站建设用地规划许可证查询网站
  • 基于django网站开发课设报告六安哪家公司做网站好
  • 网站建设阿里云搭建个人网站部署个人网站
  • 成都网站建设类岗位0735郴州招聘信息网
  • 网站页面策划软件五金弹簧东莞网站建设
  • 免费网站建设加盟如何对网站的图片做cdn
  • 洛杉矶网站建设百度快照优化培训班
  • 网站开发哪家公司电话犀浦网站建设
  • 开发高端产品网站维护运营优化公司
  • 长沙企业网站开发哪家专业服务器可以自己的网站吗
  • 女人做一级a网站免费如何网站建设团队
  • 网站建设费用预算明细通过门户网站做单点登录SAP
  • 客户关系管理系统源码整站网站优化
  • 国外网站发展建设南阳注册公司多少钱
  • 如何做网站详细步骤外贸网站建设方法
  • 开源电商网站建设价格企业做网站有什么好处
  • 网监大队让网站备案怎么自己做网站怎么赚钱
  • 怎么做网站登录界面专业企业app开发制作
  • 衡阳县建设局网站百度推广登录地址
  • 网站伪静态化广州品牌设计公司50强