zoukankan      html  css  js  c++  java
  • 微信公众号 拼团到期人数不足 db触发器 js触发器 剥离

    w注意当页面多个先后到期或同时到期的团时的用户体验

    w保证了每次加载这个页面会是的过期的团不显示,马上到期的团会在页面存活期间进行页面更新和db操作;

    但是这依赖了团状态值的更新必须依赖于有客户端页面的存在,如果系统其他地方也需要这个团状态值呢?每处都进行

    判定和更新的操作,加重服务器、db负载??

    应该把更新团状态值的操作,剥离出来,前端页面在首次展示时进行团状态值过滤,同时添加js重新加载页面的触发器

    客户端,js发起更新请求

                if (leftTime <= 1) {
                    $.post("gb_udp_due", {gcid: id});
                    var url = 'gbone?id=' + gid + '&cid=' + cid + '&'
                    window.location = url
                }

    服务端,考虑到并发,先判定是否已更新或拼团成功

        function gb_udp_due()
        {
            $gcid = $_REQUEST['gcid'];
            $this->load->model('item_test');
            $this->load->model('item_test');
            $wcheck = $this->item_test->gb_selling_status($gcid);
            //考虑并发,避免其他客户端已经拼团成功或者已经执行判定失败动作
            if ($wcheck == 1) {
                $sql = 'UPDATE gbuy_create SET selling=2 WHERE id = ' . $gcid;
                $this->db->simple_query($sql);
            }
        }
  • 相关阅读:
    Java的Timezone问题
    Java正确获取星期Calendar.DAY_OF_WEEK
    Solr5之Schema.xml详解
    java文档生成器
    JRE扩展与jar文件
    java的访问权限
    java包与导包
    java方法、方法重载
    算法分析作业(C|C++版本)
    Java运算符
  • 原文地址:https://www.cnblogs.com/rsapaper/p/6564852.html
Copyright © 2011-2022 走看看