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

旅游网站大全东莞保安公司排名

旅游网站大全,东莞保安公司排名,wordpress 设置404页面,遵义城乡建设网站写在前面 在上篇文章 中我们介绍了项目的整体内容以及架构#xff0c;本文就开始实现一个单体的版本#xff0c;在之后的文章中#xff0c;在使用springcloud相关组件将这个单体的版本一步步的拆分为微服务的版本#xff0c;在开始之前再贴下组件图#xff1a; 本文我们分…写在前面 在上篇文章 中我们介绍了项目的整体内容以及架构本文就开始实现一个单体的版本在之后的文章中在使用springcloud相关组件将这个单体的版本一步步的拆分为微服务的版本在开始之前再贴下组件图 本文我们分别来实现这四个组件。 源码 。 1优惠券模板服务 完成后结构如下图 1.1api 定义服务请求和相应需要用到的公共的beans单独定义的好处是如果需要用到的话单独引用即可不需要引入其他不需要的类。 首先来定义优惠券类型的枚举: Getter AllArgsConstructor public enum CouponType {UNKNOWN(unknown, 0),MONEY_OFF(满减券, 1),DISCOUNT(打折, 2),RANDOM_DISCOUNT(随机减, 3),LONELY_NIGHT_MONEY_OFF(晚间双倍优惠券, 4);private String description;// 存在数据库里的最终codeprivate String code;public static CouponType convert(String code) {// .orElse(UNKNOWN) 避免有人使坏return Stream.of(values()).filter(bean - bean.code.equalsIgnoreCase(code)).findFirst().orElse(UNKNOWN);} }然后定义优惠券模板类 Data NoArgsConstructor AllArgsConstructor Builder public class CouponTemplateInfo {private Long id;NotNullprivate String name;// 优惠券描述NotNullprivate String desc;// 优惠券类型NotNullprivate String type;// 适用门店 - 若无则为全店通用券private Long shopId;/** 优惠券规则 */NotNullprivate TemplateRule rule;private Boolean available;}优惠券类 Data NoArgsConstructor AllArgsConstructor Builder public class CouponInfo {private Long id;private Long templateId;private Long userId;private Long shopId;private Integer status;private CouponTemplateInfo template;}具体的参考源码。 1.2dao 采用spring data jpa 约定由于配置提高生产力。dao继承JpaRepositry拥有基础的增删改查功能 /*** coupon_template 表的spring data jpa构建在hibernate之上的db操作框架接口* https://blog.csdn.net/wang0907/article/details/131550318*/ public interface CouponTemplateDaoextends JpaRepositoryCouponTemplate, Long {// 根据Shop ID查询出所有券模板ListCouponTemplate findAllByShopId(Long shopId);// IN查询 分页支持的语法PageCouponTemplate findAllByIdIn(ListLong Id, Pageable page);// 根据shop ID 可用状态查询店铺有多少券模板Integer countByShopIdAndAvailable(Long shopId, Boolean available);// 将优惠券设置为不可用ModifyingQuery(update CouponTemplate c set c.available 0 where c.id :id)int makeCouponUnavailable(Param(id) Long id); }1.3controller 定义模板模块对外的接口 Slf4j RestController RequestMapping(/template) public class CouponTemplateController {Autowiredprivate CouponTemplateService couponTemplateService;// 创建优惠券PostMapping(/addTemplate)public CouponTemplateInfo addTemplate(Valid RequestBody CouponTemplateInfo request) {log.info(Create coupon template: data{}, request);return couponTemplateService.createTemplate(request);}... }测试如下则为成功 2优惠券计算模块 2.1api 定义其他模块可能用到的pojo具体参考源码。 2.2calculator 具体计算模块定义各种优惠券的计算服务主要的技术点是采用了模板方法设计模式 ,类图如下 具体参考源码。 测试如下则为成功 json: {products:[{price:3000,count:2,shopId:3},{price:1000,count:4,shopId:1}],couponId:10,couponInfos:[{id:10,templateId:2,userId:null,shopId:null,template:{name:单店满减,desc:满40减5,type:1,available:true,shopId:1,rule:{limitation:10,discount:{quota:500,threshold:4000}}}}],userId:1}3用户服务 在pom中需要引入template和calculator这样我们就有了一个三合一的单体应用了后面我们来一起改造它。 3.1api 定义用到的pojo,具体看源码。 3.2dao 具体看源码。 3.2impl 定义接口服务层代码定义用户领券删除券等操作如下用户领券代码 PostMapping(requestCoupon) public Coupon requestCoupon(Valid RequestBody RequestCoupon request) {return customerService.requestCoupon(request); }启动后测试领券: {userId: 1,couponTemplateId: 2 }优惠券试算 {products: [{price: 3000,count: 2,shopId: 3},{price: 1000,count: 10,shopId: 1}],couponIDs: [1],userId: 1 }这样我们的一个单体应用就完成了掌声 4平台组建 写在后面 参考文章列表
http://www.w-s-a.com/news/196519/

相关文章:

  • 北京网站建设制作颍州网站建设
  • 网站制作报价表做网站上海公司
  • 简洁大气蓝色文章资讯网站百度搜索广告推广
  • 河南建设工程协会网站网站收银系统建设
  • 网站制作 服务企业网站案例展示
  • 咸宁网站建设wordpress手动降级
  • 昆明做网站建设怎么样做网站赚钱全攻略
  • 企业网站建设实战教程微信如何注册小程序
  • 做一件代发网站百度seo服务
  • 小说网站开发 公司可以做行程的网站
  • 古交市网站建设公司apk连接wordpress
  • 网页 网 址网站区别wordpress菜单居右
  • 网站建设搭建运营一台云服务器做多个网站
  • 用php做网站用什么框架推广网站推荐
  • 如何用二级域名做网站多用户网上商城
  • 河南省建设科技网站浅谈电子商务网站建设与规划
  • 网站空间需要续费青海网站建设推广
  • 网站开发本地环境企业网站建设排名口碑
  • 做新闻的网站怎样赚钱个人网站课程设计报告
  • 网站设计样例那个网站做图片好看
  • 小型公司网站建设深圳网络营销策划有限公司
  • 国内优秀企业网站做视频网站用什么系统
  • 网站建设入门pdfwordpress网站标题
  • 专业网站的定义网站运营的概念
  • 外贸服装网站建设网页美工设计说明书
  • 郑州专业做网站公百度翻译api wordpress
  • 做网站哪里找大学的一级或二级域名
  • 没有静态ip可以做网站服务器上饶网站制作需要多少钱
  • 网站建设wangzhii做国外网站做什么内容
  • 网站建设 搞笑笑话经典 wordpress主题下载