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

自己做网站赚钱疫情最新数据消息

自己做网站赚钱,疫情最新数据消息,地方政府网站建设,公司网站建设的费用会计处理订单状态定时处理、来单提醒和客户催单 Spring Task cron表达式 入门案例 ①导入maven坐标 spring-context(已存在) ②启动类添加注解 EnableScheduling 开启任务调度 ③自定义定时任务类 订单状态定时处理 需求分析 代码开发 自定义定…

订单状态定时处理、来单提醒和客户催单

Spring Task

cron表达式

入门案例 

①导入maven坐标 spring-context(已存在) 

②启动类添加注解 @EnableScheduling 开启任务调度 

③自定义定时任务类 

订单状态定时处理 

需求分析 

代码开发 

自定义定时任务类OrderTask 

在OrderMapper接口中扩展方法 

WebSocket

入门案例 

导入WebSocket的maven坐标 

导入WebSocket服务端组件WebSocketServer,用于和客户端通信

导入配置类WebSocketConfiguration,注册WebSocket的服务端组件 

导入定时任务类WebSocketTask,定时向客户端推送数据 

直接使用websocket.html页面作为WebSocket客户端 

来单提醒 

代码开发 

客户催单

接口设计

代码开发 

在user/OrderController中创建催单方法

在OrderService接口中声明reminder方法 

在OrderServiceImpl中实现reminder方法 

功能测试 


Spring Task

cron表达式

cron表达式其实就是一个字符串,通过cron表达式可以定义任务触发的时间

构成规则:分为6或7个域,由空格分隔开,每个域代表一个含义

每个域的含义分别为:秒、分钟、小时、日、月、周、年(可选)

2022年10月12日上午9点整 对应的cron表达式为:0 0 9 12 10 ? 2022 

cron表达式在线生成器:在线Cron表达式生成器 

入门案例 

①导入maven坐标 spring-context(已存在) 

②启动类添加注解 @EnableScheduling 开启任务调度 

③自定义定时任务类 

订单状态定时处理 

需求分析 

用户下单后可能存在的情况:

下单后未支付,订单一直处于“待支付”状态

用户收货后管理端未点击完成按钮,订单一直处于“派送中”状态 

对于上面两种情况需要通过定时任务来修改订单状态,具体逻辑为:

通过定时任务每分钟检查一次是否存在支付超时订单(下单后超过15分钟仍未支付则判定为支付超时订单),如果存在则修改订单状态为“已取消”

通过定时任务每天凌晨1点检查一次是否存在“派送中”的订单,如果存在则修改订单状态为“已完成” 

代码开发 

自定义定时任务类OrderTask 

在OrderMapper接口中扩展方法 

    /*** 根据状态和下单时间查询订单* @param status* @param orderTime* @return*/@Select("select * from sky_take_out.orders where status = #{status} and order_time <#{orderTime}")List<Orders> getBystatusAndOrderTimeLT(Integer status, LocalDateTime orderTime);

可以临时修改cron语句,通过查看控制台和数据库中数据变化进行测试 

WebSocket

入门案例 

导入WebSocket的maven坐标 

导入WebSocket服务端组件WebSocketServer,用于和客户端通信

导入配置类WebSocketConfiguration,注册WebSocket的服务端组件 

导入定时任务类WebSocketTask,定时向客户端推送数据 

直接使用websocket.html页面作为WebSocket客户端 

来单提醒 

约定服务端发送给客户端浏览器的数据格式为JSON,字段包括:type,orderId,content

- type 为消息类型,1为来单提醒 2为客户催单

- orderId 为订单id

- content 为消息内容 

代码开发 

在OrderServiceImpl中注入WebSocketServer对象,然后在paySuccess方法加入如下代码 

因为前面修改过支付的代码,设置支付的时候,默认都是直接支付成功,这里需要将这快代码从paySuccess方法移到payment方法

此外,nginx.conf配置的端口必须改回80,否则需更改前端页面中写的URL 

由于设置了5秒钟重复发送的缘故,需要把注解注释掉,否则提示音会一直响

测试通过

客户催单

接口设计

代码开发 

在user/OrderController中创建催单方法

    /*** 客户催单* @param id* @return*/@GetMapping("reminder/{id}")@ApiOperation("客户催单")public Result reminder(@PathVariable("id") Long id){orderService.reminder(id);return Result.success();}

在OrderService接口中声明reminder方法 

    /*** 客户催单* @param id*/void reminder(Long id);

在OrderServiceImpl中实现reminder方法 

    /*** 客户催单* @param id*/@Overridepublic void reminder(Long id) {// 根据id查询订单Orders ordersDB = orderMapper.getById(id);// 校验订单是否存在if (ordersDB == null) {throw new OrderBusinessException(MessageConstant.ORDER_STATUS_ERROR);}Map map = new HashMap();map.put("type", 2);//1代表来单提醒,2代表客户催单map.put("orderId", id);map.put("content", "订单号:"+ordersDB.getNumber());//通过websocket向客户端浏览器发送消息webSocketServer.sendToAllClient(JSON.toJSONString(map));}

功能测试 

http://www.dtcms.com/wzjs/283386.html

相关文章:

  • o2o商城网站建设供应北京网站seo哪家公司好
  • 代做毕业设计网站多少钱百度官网首页登录
  • 郑州网站建设361自媒体平台排名
  • 网站建设相关知识博客网上网络推广
  • 万网网站模板购买深圳营销策划公司十强
  • 做网站导航能赚钱吗如何创建一个app
  • 胶州网站建设dch100怎么注册网址
  • 建设银行网站转账必须u盾吗的磁力搜索引擎
  • 商城网站网络公司泉州网站seo外包公司
  • 专门更新最新设计的网站百度搜索浏览器
  • 天津市建设工程造价管理协会网站百度图片搜索网页版
  • web3普通人从哪里入手奉化网站关键词优化费用
  • 扬中网站优化市场推广策略
  • 手机网站建设毕业论文成都百度
  • 外贸网站建设哪里实惠建站模板网站
  • java网站开发技术开发背景长沙seo网站排名
  • 建手机网站的软件有哪些网站收录登录入口
  • 网站支付宝接口付费个人对网络营销的看法
  • 韩国展厅设计网站全网营销是什么意思
  • 简单oa网站建设方案权重查询入口
  • 微信做公司网站怎么做外链图片
  • 产品线上推广方式太原百度推广排名优化
  • 做网站的岗位叫什么问题词爱站的关键词
  • 做微网站的第三方广州网站制作服务
  • 建立一个网站用英语怎么说培训机构咨询
  • 旅游网站设计模板如何自己开发网站
  • 广州购物网站开发网站设计制作培训
  • 做外汇看哪些网站数据千万别在百度上搜别人的名字
  • 怎样做instergram网站营销竞价开户公司
  • 宜春市政府采购电子商城网站推广普通话手抄报句子