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

互联网软件开发是什么手机关键词seo排名优化

互联网软件开发是什么,手机关键词seo排名优化,网站建设怎么建设,网站与经营网站Spring Task实现定时处理订单状态 作用:不需要输入提示信号,便可定时自动执行程序 使用步骤 1、启动类上加上注解(EnableScheduling)开启定时任务调度 2、专门创建一个包来管理执行定时任务的类,该类需要交给IOC容…

Spring Task实现定时处理订单状态

作用:不需要输入提示信号,便可定时自动执行程序

使用步骤

1、启动类上加上注解(@EnableScheduling)开启定时任务调度

2、专门创建一个包来管理执行定时任务的类,该类需要交给IOC容器管理

3、通过注解@Scheduled() + Cron表达式来指定执行时间(通过6|7个域 (秒 分 时 [日] 月 [周] 年),周和日只存在其一)

场景

订单下单后一直没有支付;派送完成后用户没有点击已收货;

示例

@Scheduled(cron = "0 * * * * ? ") //每分钟触发一次public void processTimeoutOrder(){log.info("定时处理超时订单:{}", LocalDateTime.now());
​LocalDateTime time = LocalDateTime.now().plusMinutes(-15);
​List<Orders> ordersList = orderMapper.getByStatusAndOrderTimeLT(Orders.PENDING_PAYMENT, time);
​if(ordersList != null && ordersList.size() > 0){for (Orders orders : ordersList) {orders.setStatus(Orders.CANCELLED);orders.setCancelReason("订单超时,自动取消");orders.setCancelTime(LocalDateTime.now());orderMapper.update(orders);}}}
​

WebSocket 实现来单提醒

作用:基于TCP的网络协议,仅需一次握手,便可实现浏览器和服务器双向通信

场景:实时通信类、有交换类的游戏或功能

使用流程:

1、导入maven

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

2、创建配置类来配置 WebSocket

/*** WebSocket配置类,用于注册WebSocket的Bean*/
@Configuration
public class WebSocketConfiguration {
​@Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}
​
}

3、封装一个Socket服务来处理客户端发送的消息

@Component
@ServerEndpoint("/ws/{sid}")
public class WebSocketServer {
​//存放会话对象private static Map<String, 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) {Collection<Session> sessions = sessionMap.values();for (Session session : sessions) {try {//服务器向客户端发送消息session.getBasicRemote().sendText(message);} catch (Exception e) {e.printStackTrace();}}}
}
​

4、使用

​
@Component
public class WebSocketTask {@Autowiredprivate WebSocketServer webSocketServer;/*** 通过WebSocket每隔5秒向客户端发送消息*/@Scheduled(cron = "0/5 * * * * ?")public void sendMessageToClient() {webSocketServer.sendToAllClient("这是来自服务端的消息:" + DateTimeFormatter.ofPattern("HH:mm:ss").format(LocalDateTime.now()));}
}

营业额统计

ServiceImpl

public TurnoverReportVO getTurnoverStatistics(LocalDate begin, LocalDate end) {//当前集合用于存放从begin到end范围内的每天的日期List<LocalDate> dateList = new ArrayList<>();
​dateList.add(begin);
​while (!begin.equals(end)) {//日期计算,计算指定日期的后一天对应的日期begin = begin.plusDays(1);dateList.add(begin);}
​//存放每天的营业额List<Double> turnoverList = new ArrayList<>();for (LocalDate date : dateList) {//查询date日期对应的营业额数据,营业额是指:状态为“已完成”的订单金额合计LocalDateTime beginTime = LocalDateTime.of(date, LocalTime.MIN);LocalDateTime endTime = LocalDateTime.of(date, LocalTime.MAX);
​// select sum(amount) from orders where order_time > beginTime and order_time < endTime and status = 5Map map = new HashMap();map.put("begin", beginTime);map.put("end", endTime);map.put("status", Orders.COMPLETED);Double turnover = orderMapper.sumByMap(map);turnover = turnover == null ? 0.0 : turnover;turnoverList.add(turnover);}
​//封装返回结果return TurnoverReportVO.builder().dateList(StringUtils.join(dateList, ",")).turnoverList(StringUtils.join(turnoverList, ",")).build();}

Mapper.xml

<select id="sumByMap" resultType="java.lang.Double">select sum(amount) from orders<where><if test="begin != null">and order_time &gt; #{begin}</if><if test="end != null">and order_time &lt; #{end}</if><if test="status != null">and status = #{status}</if></where>
</select>

订单统计和用户统计功能实现也一样基本为增删改查,不过返回数据的类型之前不同

Apache POI 导出Excel报表

http://www.cadmedia.cn/news/14590.html

相关文章:

  • 公交公司网站建设的意义怎么做公司网站推广
  • 汽车网站建设需要多少钱网站页面关键词优化
  • 广告网站建设及推广百度推广客服投诉电话
  • 做游戏和做网站哪个难怎么注册自己的网站
  • 重庆做网站有哪些企业网站推广有哪些
  • 自助建站比较好的哈尔滨优化网站方法
  • 最近最新mv在线观看免费高清天津百度优化
  • 厦门跨境建站平台活动推广
  • 商城网站建设好么友情链接多少钱一个
  • 企业公众号申请注册河南seo技术教程
  • 公司做网站 优帮云站长工具whois查询
  • 权重查询站长工具枸橼酸西地那非片的作用及功效
  • 四川住房城乡建设网站成都百度快照优化排名
  • 长滚动页网站怎么做收录提交入口
  • 海口网站制作计划上海职业技能培训机构一览表
  • 计算机网站建设维护的基本知识杭州网站定制
  • 网站建设数据录入网络营销案例分析论文
  • 用html制作简单的购物网站北京外贸网站优化
  • 电子商务网站建设方案范文网络营销产品概念
  • 苏州专业做网站的公司哪家好最好用的搜索引擎
  • 广安市网站建设哪个模板建站好
  • 邗江区建设局网站常州百度推广代理公司
  • 百度建设公司网站信息流广告是什么意思
  • wordpress.cn淘宝客seo推广教程
  • 常州网站建设流程湖南网站建设推荐
  • 威海外贸网站建设联系方式外贸推广平台哪个好
  • 济南中风险地区巩义关键词优化推广
  • 企业年报汕头自动seo
  • 阿里妈妈通过审核 又拒绝 网站建设不完整淘宝关键词热度查询工具
  • 巴中建设厅网站电话淘宝排名查询