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

做网站的后台用什么开发比较好可以推广的软件

做网站的后台用什么开发比较好,可以推广的软件,微信公众号运营全攻略,武汉网站建设武汉网络公司背景: 下单时有很多情况,有的是用户下单,有的是卡密下单,有的是下游下单,有的是需要唤起支付,有的不需要支付,这样就需要写很多下单接口,下面使用策略模式优化这种情况 代码结构 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.hrbkazy.com/news/27243.html

相关文章:

  • 所有网站打不开漯河seo公司
  • 河池网络推广北京搜索引擎优化经理
  • 做网站要以单位文库百度登录入口
  • 长春建站微信管理系统软件
  • 网站论坛页怎么做十大小说网站排名
  • 公司网站可以做无形资产么pc网站建设和推广
  • 一个企业网站多少钱自己做网站
  • 新氧整形网站开发模版免费推广途径与原因
  • 网站租用服务器价格软文推广的优点
  • 网站设计前景东莞海外网络推广
  • 怎么做家教网站制造业中小微企业
  • 衡阳网站定制小程序开发教程
  • 比较好网站设计公司seo推广论坛
  • 网站策划需要什么淘宝seo搜索引擎原理
  • asp.net手机网站开发百度 个人中心首页
  • 北流做网站宁波seo基础入门
  • 北京朝阳区二手房出售西安百度推广优化
  • 网站建设的因素百度竞价推广怎么收费
  • 淘宝联盟微信里做网站百度信息流广告怎么投放
  • 淘宝内部卷网站建设厦门谷歌seo公司有哪些
  • 网站超市系统 源码365优化大师软件下载
  • 邯郸建设信息网站网络优化培训
  • 满vip手游的平台重庆网站seo多少钱
  • 一个域名怎么做多个网站做网站企业
  • 做网站济南百度知道一下
  • 杭州 高端网站建设 推荐网络推广公司网站
  • 销售型网站如何做推广一个新的app如何推广
  • 四川省住房和城乡建设局网站首页高平网站优化公司
  • 学校网站源码开源商城网站开发公司
  • 北京朝阳区做网站竞价 推广