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

上海网站建设 微信开发公司哪家好自适应网站m域名必须做301

上海网站建设 微信开发公司哪家好,自适应网站m域名必须做301,wordpress更改网站信息,在线做venn图网站文章目录 前言SpringTask介绍SpringTask_corn表达式Spring_Task入门案例 订单状态定时处理需求分析代码开发功能测试 WebScoket介绍入门案例 来单提醒需求分析代码开发功能测试 客户催单代码开发功能测试 前言 本章实现的业务功能 超时未支付订单自动取消#xff0c;配送中订… 文章目录 前言SpringTask介绍SpringTask_corn表达式Spring_Task入门案例 订单状态定时处理需求分析代码开发功能测试 WebScoket介绍入门案例 来单提醒需求分析代码开发功能测试 客户催单代码开发功能测试 前言 本章实现的业务功能 超时未支付订单自动取消配送中订单商家忘点完成自动再固定时间检查且修改成完成状态 来单提醒功能 催单提醒功能 SpringTask 介绍 SpringTask_corn表达式 一般的话周几和第几日是不能同时出现的 因为比如 4月15日 周四 可能4月15日不是周四 可能冲突的 所以周和日一般只能有一个 现在有这种生成表达式的网站 其实还挺复杂的建议看个视频稍微学一下怎么用这个网站 Spring_Task入门案例 使用springtask主要关注 1.cron表达式 2.内部处理逻辑 spring_Task挺小的一个框架是没有自己的jar包的集成在了spring_context这个包里面 自定义的定时任务类 订单状态定时处理 需求分析 合理一点你派送中订单不能12点弄的一般这个时候有很多是真的在派送中的 代码开发 com.sky.Task.OrderTask //自定义定时任务类,定时处理订单状态 Component Slf4j public class OrderTask {Autowiredprivate OrderMapper orderMapper;/*** 处理超时订单的方法,每分钟触发一次*/Scheduled(cron 0 * * * * ?)//每分钟触发一次public void processTimeoutOrder(){log.info(定时处理超时订单:{}, LocalDateTime.now());//select * from orders where status and order_time (当前时间-15分钟)ListOrders ordersList orderMapper.getByStatusAndOrderTimeLT(Orders.PENDING_PAYMENT, LocalDateTime.now().plusMinutes(-15));if(ordersList ! null ordersList.size() 0){for (Orders orders : ordersList) {orders.setStatus(Orders.CANCELLED);orders.setCancelReason(订单超时自动取消);orders.setCancelTime(LocalDateTime.now());orderMapper.update(orders);}}}/*** 处理一直处于派送中的订单*/Scheduled(cron 0 0 1 * * ?)//每天凌晨一点触发一次public void processDeliveryOrder(){log.info(定时处理处于派送中的订单:{},LocalDateTime.now());ListOrders ordersList orderMapper.getByStatusAndOrderTimeLT(Orders.DELIVERY_IN_PROGRESS, LocalDateTime.now().plusMinutes(-60));if(ordersList ! null ordersList.size() 0){for (Orders orders : ordersList) {orders.setStatus(Orders.COMPLETED);orderMapper.update(orders);}}} } ordermapper /***根据订单状态和订单时间查询订单* return*/Select(select * from orders where status#{status} and order_time #{orderTime} )ListOrders getByStatusAndOrderTimeLT(Integer status, LocalDateTime orderTime);功能测试 略 这个运行然后看数据库 弄几个status为1待支付的订单然后等到它自动处理看看能不能取消 然后那个配送的可以改一下那个cron表达式不用真的等到1点 WebScoket 介绍 入门案例 com.sky.webscoket.WebSocketServer 前三个方法 1. 建立连接 2.进行通话 3.结束连接 最后一个是 服务端向客户端发送信息的方法需要自己调用 所以没有注解标识 package com.sky.webscoket;/*** WebSocket服务*/ Component ServerEndpoint(/ws/{sid}) public class WebSocketServer {//存放会话对象private static MapString, Session sessionMap new HashMap();/*** 连接建立成功调用的方法*/OnOpenpublic void onOpen(Session session, PathParam(sid) String sid) {System.out.println(客户端 sid 建立连接);sessionMap.put(sid, session);}/*** 收到客户端消息后调用的方法** param message 客户端发送过来的消息*/OnMessagepublic void onMessage(String message, PathParam(sid) String sid) {System.out.println(收到来自客户端 sid 的信息: message);}/*** 连接关闭调用的方法** param sid*/OnClosepublic void onClose(PathParam(sid) String sid) {System.out.println(连接断开: sid);sessionMap.remove(sid);}/*** 群发** param message*/public void sendToAllClient(String message) {CollectionSession sessions sessionMap.values();for (Session session : sessions) {try {//服务器向客户端发送消息session.getBasicRemote().sendText(message);} catch (Exception e) {e.printStackTrace();}}}} 给这个bean注册一下 弄个Task来模拟服务端发消息 然后自己运行一下看效果 来单提醒 需求分析 代码开发 修改OrderServiceImpl的代码 在PaySuccess下新增推送消息即可 新增的 //通过websocket向客户端浏览器推送消息!!!!!!!!!Map map new HashMap();map.put(type,1);//type1表示来单提醒 2表示客户催单map.put(orderId,ordersDB.getId());map.put(content,订单号 outTradeNo);String json JSON.toJSONString(map);webSocketServer.sendToAllClient(json);完整的 /*** 支付成功修改订单状态** param outTradeNo*/public void paySuccess(String outTradeNo) {// 根据订单号查询订单Orders ordersDB orderMapper.getByNumber(outTradeNo);// 根据订单id更新订单的状态、支付方式、支付状态、结账时间Orders orders Orders.builder().id(ordersDB.getId()).status(Orders.TO_BE_CONFIRMED).payStatus(Orders.PAID).checkoutTime(LocalDateTime.now()).build();orderMapper.update(orders);//通过websocket向客户端浏览器推送消息!!!!!!!!!Map map new HashMap();map.put(type,1);//type1表示来单提醒 2表示客户催单map.put(orderId,ordersDB.getId());map.put(content,订单号 outTradeNo);String json JSON.toJSONString(map);webSocketServer.sendToAllClient(json);}功能测试 这个略显难受 因为我们实际上没有实现微信支付接口 所以我们要更改一下逻辑的 小程序前端 if (res.code 1) {wx.showModel({title: 提示,content: 支付成功,success:function(){uni.redirectTo({url: /pages/success/index?orderId _this.orderId });}})// wx.requestPayment({// nonceStr: res.data.nonceStr,// package: res.data.packageStr,// paySign: res.data.paySign,// timeStamp: res.data.timeStamp,// signType: res.data.signType,// success:function(res){// wx.showModal({// title: 提示,// content: 支付成功,// success:function(){// uni.redirectTo({url: /pages/success/index?orderId _this.orderId });// }// })// console.log(支付成功!)// }// })// 直接重新定向不用微信支付 //这里的代码移到前面OrderController OrderServiceImpl 效果就会是你点击确定支付就会直接支付成功 且不会跳出那个支付成功的页面 客户催单 代码开发 controller /*** 客户催单* param id* return*/ApiOperation(客户催单)GetMapping(/reminder/{id})public Result reminder(PathVariable Long id){orderService.reminder(id);return Result.success();}serviceimpl /*** 用户催单* param id*/public 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());String json JSON.toJSONString(map);webSocketServer.sendToAllClient(json);}功能测试 催单去个人中心的订单找 然后我这个没报语音后来我换了edge浏览器就可以了
http://www.pierceye.com/news/427611/

相关文章:

  • 制作的网站西安网页设计培训哪里有
  • 株洲市住房和城乡建设局门户网站中国建设银行官网站大同
  • 北京响应式网站制作公司wordpress邀请码注册
  • 衡阳网站开发有哪些公司怎么建设淘客自己的网站、
  • 国内扁平化网站欣赏什么站做咨询网站好
  • 评价校园网站建设范例wordpress插件获取数据库
  • 网站开发具体问题重庆装修公司排名前十名
  • 萝卜建站织梦网站采集如何做
  • 邢台在百度上做个网站河南营销网站建设联系方式
  • 电力建设科学技术进步申报网站教学工作总结
  • 做淘宝客必须建网站吗杭州网站优化效果
  • 网站开发有什么职位用vs做网站教程
  • 行业网站渠道选择和内容运营网站续费问题
  • 什么是seo优化推广阿里云网站建设优化
  • 信息发布型网站建设的特点免费
  • 陕西有限公司网站建设招标公告如何做影视网站的标题
  • wordpress网站百度搜索吗百度关键词推广怎么做
  • 马鞍山市网站建设服务有限公司计算机平面设计主要做什么
  • 手机网站跟pc网站有什么不同怎样创建网站收益
  • 什么系统做购物网站好做面料那几个网站
  • 做网站产品资料表格做鞋设备网站
  • 青海西宁制作网站企业做网站用什么语言编写
  • 网站变成手机网站做简历的网站都有哪些内容
  • 汽车网站建设页面软件公司都是帮别人做网站么
  • 微信的企业网站模板深圳做关键词优化平台
  • 用什么框架做网站快网站建设与维护薪资
  • 深圳公明做网站用织梦做网站都需要用什么
  • 广西城乡建设部网站首页国家住房和城乡建设部中国建造师网站
  • 杭州高端网站设计公司天津做网站那家好
  • 怎么建立网站?长沙做网站价格