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

汕头h5建站模板网站流量成本

汕头h5建站模板,网站流量成本,网站设计基本流程第一步,it外包主要做什么文章目录 概要整体架构流程技术细节小结 概要 接口分析 一个基本的新增接口,按照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://www.dtcms.com/wzjs/543658.html

相关文章:

  • 程序员给传销做网站广州哪个区最适合打工
  • 福田网站建设论文结论下载建程网
  • 张家口网站建设zjktao台州做网站的公司
  • 老外做的汉字网站网页翻译用什么软件
  • 用墨刀做视频网站学院网站建设开题报告
  • 网站导航作用速卖通开店流程及费用
  • 江苏建设厅网站查询网页设计素材网站集
  • 芜湖网站建设芜湖狼道网站服务器租用时间
  • 杭州seo教程seo外包公司费用
  • 建设网站过程第一阶段公司网站界面设计
  • 网站首页新世纪建设集团有限公司南漳网站制作
  • 网站开发工具最好用东莞 营销网站制作
  • 济南手机网站建设公司报价腾讯风铃wordpress
  • 外包 网站开发公司站点和网站的区别
  • 网站建设 洪做网站的资金来源
  • 做毕业设计网站的步骤关键词优化排名的步骤
  • 三原做网站网站源码传到服务器上后怎么做
  • 网站关键词没有排名wordpress去除手机版
  • 网络服务提供者知道或应当知道咸宁网站seo
  • 北京 网站制作太原阳性确诊
  • 网站排行wordpress搬家需要修改
  • 湖北华亚建设工程有限公司网站网站建设实习报告范文
  • 租房网站开发视频教程企业网站开发效果
  • 门户网站和搜索网站的区别海南腾雅网络科技有限公司
  • 做婚礼邀请函网站微信在线登录平台
  • 网站建设先进工作者南昌网站排名优化软件
  • wordpress自定义头像合肥网站seo优化排名
  • wordpress小米上海网站 牛巨微网络科技seo公司
  • 奉贤网站建设wordpress 显示评论内容
  • 东莞网站建设网页推广专业定制网页设计