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

网站建设评比自评情况管网建设是什么意思

网站建设评比自评情况,管网建设是什么意思,一天赚50元的游戏,wordpress标签扩展背景: 下单时有很多情况,有的是用户下单,有的是卡密下单,有的是下游下单,有的是需要唤起支付,有的不需要支付,这样就需要写很多下单接口,下面使用策略模式优化这种情况 代码结构 com.example.order ├── controller │ └── OrderController.java ├── service │ …

背景:

下单时有很多情况,有的是用户下单,有的是卡密下单,有的是下游下单,有的是需要唤起支付,有的不需要支付,这样就需要写很多下单接口,下面使用策略模式优化这种情况

代码结构

com.example.order
├── controller
│   └── OrderController.java
├── service
│   ├── OrderService.java
│   └── impl
│       └── OrderServiceImpl.java
├── strategy
│   ├── OrderStrategy.java
│   ├── factory
│   │   └── OrderStrategyFactory.java
│   ├── impl
│   │   ├── UserOrderStrategy.java
│   │   └── CardOrderStrategy.java
├── dto
│   └── OrderDTO.java
├── vo
│   ├── UserOrderVO.java
│   └── CardOrderVO.java
├── mapper
│   ├── OrderMapper.java
│   └── xml
│       └── OrderMapper.xml
├── domain
│   └── OrderDO.java
@RestController
@RequestMapping("/orders")
public class OrderController {@Autowiredprivate OrderService orderService;@PostMapping("/create")public ResponseEntity<?> createOrder(@RequestBody OrderDTO orderDTO) {Object orderVO = orderService.createOrder(orderDTO);return new ResponseEntity<>(orderVO, HttpStatus.OK);}
}
@Service
public class OrderServiceImpl implements OrderService {@Override@SuppressWarnings("unchecked")public <T> T createOrder(OrderDTO orderDTO) {OrderStrategy<T> strategy = OrderStrategyFactory.getStrategy(orderDTO.getOrderType());return strategy.createOrder(orderDTO);}
}

策略类接口 

public interface OrderStrategy<T> {T createOrder(OrderDTO orderDTO);
}

用户下单策略类 

public class UserOrderStrategy implements OrderStrategy<UserOrderVO> {@Overridepublic UserOrderVO createOrder(OrderDTO orderDTO) {// 用户下单的具体处理逻辑// 生成订单并保存到数据库// 返回UserOrderVO对象UserOrderVO userOrderVO = new UserOrderVO();// 设置相关属性return userOrderVO;}
}

卡密下单策略类 

public class CardOrderStrategy implements OrderStrategy<CardOrderVO> {@Overridepublic CardOrderVO createOrder(OrderDTO orderDTO) {// 卡密下单的具体处理逻辑// 生成订单并保存到数据库// 返回CardOrderVO对象CardOrderVO cardOrderVO = new CardOrderVO();// 设置相关属性return cardOrderVO;}
}

策略类工厂 

import java.util.HashMap;
import java.util.Map;public class OrderStrategyFactory {private static final Map<String, OrderStrategy<?>> strategies = new HashMap<>();static {strategies.put("USER_ORDER", new UserOrderStrategy());strategies.put("CARD_ORDER", new CardOrderStrategy());// 初始化其他订单类型的策略}@SuppressWarnings("unchecked")public static <T> OrderStrategy<T> getStrategy(String orderType) {OrderStrategy<?> strategy = strategies.get(orderType);if (strategy == null) {throw new IllegalArgumentException("Unknown order type: " + orderType);}return (OrderStrategy<T>) strategy;}
}
public class UserOrderVO {private String orderId;private String status;private String userSpecificInfo;// 其他用户订单特有属性// Getters and Setters
}public class CardOrderVO {private String orderId;private String status;private String cardCode;// 其他卡密订单特有属性// Getters and Setters
}

public interface OrderMapper {void insertOrder(OrderDO orderDO);// 其他数据库操作方法
}

<mapper namespace="com.example.mapper.OrderMapper"><insert id="insertOrder" parameterType="OrderDO">INSERT INTO orders (order_id, user_id, order_type, payment_type, status)VALUES (#{orderId}, #{userId}, #{orderType}, #{paymentType}, #{status})</insert><!-- 其他数据库操作的XML定义 -->
</mapper>

http://www.yayakq.cn/news/282141/

相关文章:

  • 苏州手机网站设计网站开发 书
  • 黄冈网站建设效果电商网站开发成本
  • 做网站导航cms网站国际化建设方案
  • 百度指数资讯指数是指什么网站seo快速优化技巧
  • 网站建设的杂志工程咨询公司
  • 源码制作网站网站导航规划
  • 哪个网站可以自己做行程做一样的模板网站会被告侵权吗
  • 给企业建设网站的意义自己建网站怎么做seo
  • 增城做网站公司用c 做网站
  • 职业教育网站开发爱做网站免费模板vip
  • 网站欢迎页面怎么做剪辑素材网站
  • 宣城网站开发专业制温州网站建设 首选国鼎网络好
  • 宁波网站制作公司排名wordpress4.9.4
  • 京东的网站规划与建设市场分析科技论文发表网
  • 建网站知乎网站设建设表单
  • 网站在线留言如何做编程的基础知识
  • 温州手机网站制作哪家便宜做俄罗斯生意网站
  • Linux做视频网站网速均衡网页页面下载
  • 上海市城乡住房建设部网站上海建站哪家好
  • 装饰网站建设优惠套餐兼容ie8的网站模板
  • 上海网站建设联系电wordpress parent id
  • 怎么给网站做开场动画北京网站建设价格
  • 用服务器ip怎么做网站wordpress腾讯cos插件
  • da面板做两个网站实时在线街景地图
  • 有没有帮忙做推广的网站怎建网站
  • 桂林北站到象鼻山多远小程序开发 杭州
  • 烟台网站建设的公司网站备案应该怎么做
  • 大连地区建设网站asp 网站建设教程
  • 单页面推广网站模版互联网运营平台
  • 网站直播的功能怎样做免费企业网站建设免费