曾经写的存储过程

DeepSeek-V4-Pro 正式版突袭上线:Agent 能力暴涨,DeepSWE 直接干翻 Claude Opus 4.8 8 月 12 日深夜,DeepSeek 悄悄在 API 文档里上架了一个新版本号——DeepSeek-V4-Pro-0813。第二天(13 日),这个版本被确认为 V4 Pro 正式版。没有发布会,没有预热,只改了版本号,就把整个 AI 圈的注意力又抢了过去。 阅读详情

时间:2020-07-28 21:12:41

自动撤消存储过程

DELIMITER $$ 
-- 调用例子
-- call Auto_UndoOrder(@sumss);
-- SELECT @sumss
CREATE DEFINER=`root`@`localhost` PROCEDURE `Auto_UndoOrder`(OUT txt varchar(100))
    COMMENT '自动撤消任务'
BEGIN
    #Routine body goes here...
    -- 游标所使用变量需要在定义游标之前申明
    declare counter int ;    
    declare rwid int(11);    
    declare kf_role_id int default 4; -- 客服发单者 
    declare myrole_id int; -- 客服发单者 
    declare Result int(11); 
    DECLARE renwu_number_total int DEFAULT 0;
    declare order_sn varchar(30); 
    declare userid int(11);   
    declare renwu_oyalties FLOAT(8,2); 
    declare renwu_bond FLOAT(8,2); 
    declare renwu_scharge FLOAT(8,2); 
    declare inputtime int(11); 
    declare inputtime2 int(11); 
    declare is_renwu_bond int(1); 
    declare is_renwu_scharge int(1); 
    declare mystatus int(2); 
    declare renwu_undo FLOAT(8,2); 
    declare return_amount FLOAT(8,2) default 0;# 要退的费用合计
    DECLARE nowtimestamp int DEFAULT UNIX_TIMESTAMP(); -- 当前时间戳  
     
     
    declare xsuserid int(11);   
    declare xs_amount FLOAT(10,2); 
     
    #查询已超交稿时间的任务总数
 
    -- 遍历数据结束标志 注意位置顺序  
    DECLARE done INT DEFAULT FALSE;  
    -- 注意用别名 因为id在上面已经有定义所以需要使用表的别名区别 
    declare _Renwu CURSOR FOR SELECT a.* FROM (SELECT
                                                    rwt.id,
                                                    rwt.status,
                                                    rwt.order_sn,
                                                    rwt.userid,
                                                    rwt.renwu_oyalties,
                                                    rwt.renwu_bond,
                                                    rwt.renwu_scharge,
                                                    rwt.inputtime,
                                                    case when rwt.renwu_undo > 0 THEN (rwt.inputtime + rwt.renwu_undo*3600) ELSE rwt.inputtime END as inputtime2,
                                                    rwt.renwu_undo,
                                                    rwt.is_renwu_bond,
                                                    rwt.is_renwu_scharge
                                                FROM
                                                    springcms_renwu rwt
                                                WHERE
                                                    `status` in ('10','30')) a where a.inputtime2 < nowtimestamp;
    -- 将结束标志绑定到游标   
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; #如果读取完,设置done为True 
    set counter = 0;# 计数,循环了几次  
    open _Renwu;  
        repeat  
            set counter = counter +1;  
            fetch _Renwu into rwid,mystatus,order_sn,userid,renwu_oyalties,renwu_bond,renwu_scharge,inputtime,inputtime2,renwu_undo,is_renwu_bond,is_renwu_scharge;  
                -- select rwid ;  
                -- concat_ws函数用逗号后面的参数隔开 concat_ws(',','12','33','332') --> 12,33,332 
                -- 如果不加判断,会多循环一次。最后一次读取游标时,done已经是True,但是进入循环之前是0,故可以进入循环,会多循环一次;
                if done<>TRUE then  
                    -- 调试用
                    SET txt=concat_ws(',',rwid,mystatus,order_sn,userid,renwu_oyalties,renwu_bond,renwu_scharge,inputtime,inputtime2,renwu_undo,is_renwu_bond,is_renwu_scharge); 
                    SELECT txt;
                    -- 处理自己代码
                     
                    -- 查询当前所在组
                    select u.role_id into myrole_id FROM springcms_user u where id=userid;
                    -- 生成自动撤消任务退费记录
                    if myrole_id<>kf_role_id then
                        -- 客服发单者不退稿费,因为就没交稿费
                        set return_amount = renwu_oyalties;
                    end if;
                    if is_renwu_bond<>1 THEN
                        set return_amount = return_amount + renwu_bond;
                    end if;
                    if is_renwu_scharge<>1 THEN
                        set return_amount = return_amount + renwu_scharge;
                    end if;
                    INSERT INTO `springcms_user_xiaofei` (
                                                            `id`,
                                                            `uid`,
                                                            `type`,
                                                            `amount`,
                                                            `order_id`,
                                                            `ip`,
                                                            `remark`,
                                                            `create_time`,
                                                            `status`
                                                        )
                                                        VALUES
                                                            (
                                                                NULL,
                                                                userid,
                                                                '11',
                                                                return_amount,
                                                                order_sn,
                                                                '127.0.0.1',
                                                                '系统自动撤消任务,退还费用',
                                                                nowtimestamp,
                                                                '1'
                                                            );
                    -- 更新发单者用户余额
                    UPDATE `springcms_user` SET `amount`=amount+return_amount WHERE `id` = userid;
                    -- 发送站内信
                    INSERT INTO `springcms_user_msgtext` (
                                                            `type`,
                                                            `title`,
                                                            `note`,
                                                            `senduserid`,
                                                            `rwid`,
                                                            `userids`,
                                                            `issysadd`,
                                                            `islock`,
                                                            `addtime`,
                                                            `mestype`
                                                        )
                                                        VALUES
                                                            (
                                                                '8',
                                                                '费用退还!',
                                                                concat('系统自动撤消任务,退还',return_amount,'元,任务订单号是',order_sn,',点击<a href=\"http://20180308.aaa.com/index.php?g=Renwu&m=Renwu&a=detail&order_sn=',order_sn,'\" target=\"_blank\">查看</a>'),
                                                                '1',
                                                                '0',
                                                                userid,
                                                                '1',
                                                                '2',
                                                                nowtimestamp,
                                                                '0'
                                                            );
                    SET Result=LAST_INSERT_ID(); -- 获取插入的ID值
                    INSERT INTO `springcms_user_msg` (
                                                        `msgid`,
                                                        `userid`,
                                                        `status`,
                                                        `rwid`,
                                                        `datetime`,
                                                        `readtime`
                                                    )
                                                    VALUES
                                                        (Result, userid, '0', '0', '0', '0');
                     
                    if mystatus = 30 THEN
                        SELECT rco.userid,rco.amount INTO xsuserid,xs_amount FROM `springcms_renwu_consult` rco WHERE rco.`rwid` = rwid limit 1;
                        -- 有协商信息
                        SELECT xsuserid;
                        if xsuserid THEN
                            UPDATE `springcms_renwu_consult` SET `returntype`='2',`returntime`=nowtimestamp WHERE `rwid` = rwid;
                            INSERT INTO `springcms_user_xiaofei` (
                                                            `id`,
                                                            `uid`,
                                                            `type`,
                                                            `amount`,
                                                            `order_id`,
                                                            `ip`,
                                                            `remark`,
                                                            `create_time`,
                                                            `status`
                                                        )
                                                        VALUES
                                                            (
                                                                NULL,
                                                                xsuserid,
                                                                '52',
                                                                xs_amount,
                                                                order_sn,
                                                                '127.0.0.1',
                                                                '系统自动撤消任务,退还协商费',
                                                                nowtimestamp,
                                                                '1'
                                                            );
                            UPDATE `springcms_user` SET `amount`=amount+xs_amount WHERE `id` = xsuserid;
                            -- 发送站内信
                            INSERT INTO `springcms_user_msgtext` (
                                                            `type`,
                                                            `title`,
                                                            `note`,
                                                            `senduserid`,
                                                            `rwid`,
                                                            `userids`,
                                                            `issysadd`,
                                                            `islock`,
                                                            `addtime`,
                                                            `mestype`
                                                        )
                                                        VALUES
                                                            (
                                                                '8',
                                                                '费用退还!',
                                                                concat('系统自动撤消任务,退还协商费',xs_amount,'元,任务订单号是',order_sn,',点击<a href=\"http://20180308.aaa.com/index.php?g=Renwu&m=Renwu&a=detail&order_sn=',order_sn,'\" target=\"_blank\">查看</a>'),
                                                                '1',
                                                                '0',
                                                                xsuserid,
                                                                '1',
                                                                '2',
                                                                nowtimestamp,
                                                                '0'
                                                            );
                            SET Result=LAST_INSERT_ID(); -- 获取插入的ID值
                            INSERT INTO `springcms_user_msg` (
                                                        `msgid`,
                                                        `userid`,
                                                        `status`,
                                                        `rwid`,
                                                        `datetime`,
                                                        `readtime`
                                                    )
                                                    VALUES
                                                        (Result, xsuserid, '0', '0', '0', '0');
                        end if;
                    end if;
                    -- 生成任务变更日志
                    INSERT INTO `springcms_renwu_log` (`inputtime`,`ip`,`userid`,`type`,`rwid`,`info`) VALUES (nowtimestamp,'127.0.0.1','1','60',rwid,'系统自动撤消');-- 以管理员操作
                    -- 更新任务状态
                    UPDATE `springcms_renwu` SET `status`='70',`undo_time`=nowtimestamp WHERE `id` = rwid;
                     
                end if;
            until done  
        end repeat;  
    -- 注意关闭游标  
    close _Renwu; 
END $$
DELIMITER ;

自动撤消存储过程-不发站内信

DELIMITER $$ 
-- 调用例子
-- call Auto_UndoOrder(@sumss);
-- SELECT @sumss
CREATE DEFINER=`root`@`localhost` PROCEDURE `Auto_UndoOrder`(OUT txt varchar(100))
    COMMENT '自动撤消任务'
BEGIN
    #Routine body goes here...
    -- 游标所使用变量需要在定义游标之前申明
    declare counter int ;    
    declare rwid int(11);    
    declare kf_role_id int default 4; -- 客服发单者 
    declare myrole_id int; -- 客服发单者 
    declare Result int(11); 
    DECLARE renwu_number_total int DEFAULT 0;
    declare order_sn varchar(30); 
    declare userid int(11);   
    declare renwu_oyalties FLOAT(8,2); 
    declare renwu_bond FLOAT(8,2); 
    declare renwu_scharge FLOAT(8,2); 
    declare inputtime int(11); 
    declare inputtime2 int(11); 
    declare is_renwu_bond int(1); 
    declare is_renwu_scharge int(1); 
    declare renwu_undo FLOAT(8,2); 
    declare return_amount FLOAT(8,2) default 0;# 要退的费用合计
    DECLARE nowtimestamp int DEFAULT UNIX_TIMESTAMP(); -- 当前时间戳  
    #查询已超交稿时间的任务总数
 
    -- 遍历数据结束标志 注意位置顺序  
    DECLARE done INT DEFAULT FALSE;  
    -- 注意用别名 因为id在上面已经有定义所以需要使用表的别名区别 
    declare _Renwu CURSOR FOR SELECT a.* FROM (SELECT
                                                    rwt.id,
                                                    rwt.order_sn,
                                                    rwt.userid,
                                                    rwt.renwu_oyalties,
                                                    rwt.renwu_bond,
                                                    rwt.renwu_scharge,
                                                    rwt.inputtime,
                                                    case when rwt.renwu_undo > 0 THEN (rwt.inputtime + rwt.renwu_undo*3600) ELSE rwt.inputtime END as inputtime2,
                                                    rwt.renwu_undo,
                                                    rwt.is_renwu_bond,
                                                    rwt.is_renwu_scharge
                                                FROM
                                                    springcms_renwu rwt
                                                WHERE
                                                    `status` = '10') a where a.inputtime2 < nowtimestamp;
    -- 将结束标志绑定到游标   
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; #如果读取完,设置done为True 
    set counter = 0;# 计数,循环了几次  
    open _Renwu;  
        repeat  
            set counter = counter +1;  
            fetch _Renwu into rwid,order_sn,userid,renwu_oyalties,renwu_bond,renwu_scharge,inputtime,inputtime2,renwu_undo,is_renwu_bond,is_renwu_scharge;  
                -- select rwid ;  
                -- concat_ws函数用逗号后面的参数隔开 concat_ws(',','12','33','332') --> 12,33,332 
                -- 如果不加判断,会多循环一次。最后一次读取游标时,done已经是True,但是进入循环之前是0,故可以进入循环,会多循环一次;
                if done<>TRUE then  
                    -- 调试用
                    SET txt=concat_ws(',',rwid,order_sn,userid,renwu_oyalties,renwu_bond,renwu_scharge,inputtime,inputtime2,renwu_undo,is_renwu_bond,is_renwu_scharge); 
                    SELECT txt;
                    -- 处理自己代码
                     
                    -- 查询当前所在组
                    select u.role_id into myrole_id FROM springcms_user u where id=userid;
                    -- 生成自动撤消任务退费记录
                    if myrole_id<>kf_role_id then
                        -- 客服发单者不退稿费,因为就没交稿费
                        set return_amount = renwu_oyalties;
                    end if;
                    if is_renwu_bond<>1 THEN
                        set return_amount = return_amount + renwu_bond;
                    end if;
                    if is_renwu_scharge<>1 THEN
                        set return_amount = return_amount + renwu_scharge;
                    end if;
                    INSERT INTO `springcms_user_xiaofei` (
                                                            `id`,
                                                            `uid`,
                                                            `type`,
                                                            `amount`,
                                                            `order_id`,
                                                            `ip`,
                                                            `remark`,
                                                            `create_time`,
                                                            `status`
                                                        )
                                                        VALUES
                                                            (
                                                                NULL,
                                                                userid,
                                                                '11',
                                                                return_amount,
                                                                order_sn,
                                                                '127.0.0.1',
                                                                '系统自动撤消任务(order_sn),退还费用',
                                                                nowtimestamp,
                                                                '1'
                                                            );
                    -- 更新发单者用户余额
                    UPDATE `springcms_user` SET `amount`=amount+return_amount WHERE `id` = userid;
                     
                    -- 生成任务变更日志
                    INSERT INTO `springcms_renwu_log` (`inputtime`,`ip`,`userid`,`type`,`rwid`,`info`) VALUES (nowtimestamp,'127.0.0.1','1','70',rwid,'系统自动撤消');-- 以管理员操作
                    -- 更新任务状态
                    UPDATE `springcms_renwu` SET `status`='70',`undo_time`=nowtimestamp WHERE `id` = rwid;
                end if;
            until done  
        end repeat;  
    -- 注意关闭游标  
    close _Renwu; 
END $$
DELIMITER ;

自动结算存储过程

DELIMITER $$ 
-- 调用例子
-- call Auto_Settlement(@sumss);
-- SELECT @sumss
CREATE DEFINER=`root`@`localhost` PROCEDURE `Auto_Settlement`(OUT txt varchar(100))
    COMMENT '自动结算超时任务'
BEGIN
    #Routine body goes here...
    declare kf_role_id int default 4; -- 客服发单者  客服发单组结算时需要扣稿费
    DECLARE rwid int;
    declare order_sn varchar(30); 
    declare userid int(11);   
    declare myrole_id int(11); 
    declare Resultid int;  
    declare renwu_xs_oyalties FLOAT(8,2); 
    declare renwu_xs_bond FLOAT(8,2); 
    declare xsfdzxs FLOAT(8,2); 
    declare renwu_oyalties FLOAT(8,2); 
    declare is_renwu_bond int(1); 
    declare renwu_bond FLOAT(8,2); 
    declare pay_xs_amount FLOAT(8,2) default 0;# 写手
    declare pay_fdz_amount FLOAT(8,2) default 0;# 发单者
    declare return_fdz_bond FLOAT(8,2) default 0;# 发单者保证金
    DECLARE nowtimestamp int DEFAULT UNIX_TIMESTAMP(); -- 当前时间戳 
     
     
    declare my_oyalties FLOAT(8,2);
    declare my_userid int(11);
    declare my_order_id int(11); 
    declare my_is_bond int(1); 
    declare my_bond FLOAT(8,2); 
     
    -- 遍历数据结束标志 注意位置顺序  
    DECLARE done INT DEFAULT FALSE;  
    -- 注意用别名 因为id在上面已经有定义所以需要使用表的别名区别 
    declare _Renwu_S CURSOR FOR SELECT
                                    rw.id,
                                    rw.userid,
                                    rw.order_sn,
                                    rw.xsfdzxs,
                                    rw.renwu_xs_oyalties,
                                    rw.renwu_xs_bond,
                                    rw.renwu_oyalties,
                                    rw.is_renwu_bond,
                                    rw.renwu_bond
                                FROM
                                    `springcms_renwu` as rw
                                WHERE
                                    rw.renwu_settle <= nowtimestamp
                                AND rw.`status` IN (20, 50);
 
    -- 将结束标志绑定到游标   
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; #如果读取完,设置done为True 
    open _Renwu_S;  
        repeat   
            fetch _Renwu_S into rwid,userid,order_sn,xsfdzxs,renwu_xs_oyalties,renwu_xs_bond,renwu_oyalties,is_renwu_bond,renwu_bond;
                -- select rwid ;  
                -- concat_ws函数用逗号后面的参数隔开 concat_ws(',','12','33','332') --> 12,33,332 
                -- 如果不加判断,会多循环一次。最后一次读取游标时,done已经是True,但是进入循环之前是0,故可以进入循环,会多循环一次;
                if done<>TRUE then  
                    -- 调试用
                    SET txt=concat_ws(',',rwid,order_sn,userid,xsfdzxs,renwu_xs_oyalties,renwu_xs_bond,renwu_oyalties,is_renwu_bond,renwu_bond); 
                    SELECT txt;
                     
                    -- 查询当前所在组
                    select u.role_id into myrole_id FROM springcms_user u where u.id = userid;
                    -- 处理发单者支付稿费问题
                    if myrole_id=kf_role_id THEN
                        -- 客服发单者因为就没交稿费,所以需要扣除
                        if renwu_xs_oyalties>0 THEN
                            -- 协商费用
                            set pay_fdz_amount = ceil(renwu_xs_oyalties*xsfdzxs); -- 需要乘系数
                        ELSE
                            set pay_fdz_amount = renwu_oyalties;
                        end if;
                        -- 扣费记录
                        INSERT INTO `springcms_user_xiaofei` (
                                                                `id`,
                                                                `uid`,
                                                                `type`,
                                                                `amount`,
                                                                `order_id`,
                                                                `ip`,
                                                                `remark`,
                                                                `create_time`,
                                                                `status`
                                                            )
                                                            VALUES
                                                            (
                                                                NULL,
                                                                userid,
                                                                '20',
                                                                pay_fdz_amount,
                                                                order_sn,
                                                                '127.0.0.1',
                                                                '结算任务稿费扣除',
                                                                nowtimestamp,
                                                                '1'
                                                            );
                        -- 更新发单者用户余额
                        UPDATE `springcms_user` SET `amount`=amount-pay_fdz_amount WHERE `id` = userid;
                        -- 发送站内信
                        INSERT INTO `springcms_user_msgtext` (
                                                                `type`,
                                                                `title`,
                                                                `note`,
                                                                `senduserid`,
                                                                `rwid`,
                                                                `userids`,
                                                                `issysadd`,
                                                                `islock`,
                                                                `addtime`,
                                                                `mestype`
                                                            )
                                                            VALUES
                                                            (
                                                                '8',
                                                                '结算消费',
                                                                concat('结算任务(',order_sn,')支付写手稿费',pay_fdz_amount,'元'),
                                                                '1',
                                                                '0',
                                                                userid,
                                                                '1',
                                                                '2',
                                                                nowtimestamp,
                                                                '0'
                                                            );
                        SET Resultid=LAST_INSERT_ID(); -- 获取插入的ID值
                        INSERT INTO `springcms_user_msg` (
                                                            `msgid`,
                                                            `userid`,
                                                            `status`,
                                                            `rwid`,
                                                            `datetime`,
                                                            `readtime`
                                                        )
                                                        VALUES
                                                            (Resultid, userid, '0', '0', '0', '0');
                    end if;
                     
                    -- 退给发单者保证金
                    if is_renwu_bond<>1 THEN
                        -- 更新发单者用户余额
                        if renwu_xs_bond>0 THEN
                            -- set return_fdz_bond=ceil(renwu_xs_bond*xsfdzxs); -- 需要乘系数
                            set return_fdz_bond=renwu_bond;
                        ELSE
                            set return_fdz_bond=renwu_bond;
                        end if;
                        UPDATE `springcms_user` SET `amount`=amount+return_fdz_bond WHERE `id` = userid;
                        -- 生成退保证金记录
                        INSERT INTO `springcms_user_xiaofei` (
                                                                `id`,
                                                                `uid`,
                                                                `type`,
                                                                `amount`,
                                                                `order_id`,
                                                                `ip`,
                                                                `remark`,
                                                                `create_time`,
                                                                `status`
                                                            )
                                                            VALUES
                                                            (
                                                                NULL,
                                                                userid,
                                                                '30',
                                                                return_fdz_bond,
                                                                order_sn,
                                                                '127.0.0.1',
                                                                '结算任务退保证金',
                                                                nowtimestamp,
                                                                '1'
                                                            );
                        -- 更新发单者用户余额
                        UPDATE `springcms_user` SET `amount`=amount+return_fdz_bond WHERE `id` = userid;
                        -- 发送站内信
                        INSERT INTO `springcms_user_msgtext` (
                                                                `type`,
                                                                `title`,
                                                                `note`,
                                                                `senduserid`,
                                                                `rwid`,
                                                                `userids`,
                                                                `issysadd`,
                                                                `islock`,
                                                                `addtime`,
                                                                `mestype`
                                                            )
                                                            VALUES
                                                            (
                                                                '8',
                                                                '退回保证金',
                                                                concat('结算任务(',order_sn,')退回保证金',return_fdz_bond,'元'),
                                                                '1',
                                                                '0',
                                                                userid,
                                                                '1',
                                                                '2',
                                                                nowtimestamp,
                                                                '0'
                                                            );
                        SET Resultid=LAST_INSERT_ID(); -- 获取插入的ID值
                        INSERT INTO `springcms_user_msg` (
                                                            `msgid`,
                                                            `userid`,
                                                            `status`,
                                                            `rwid`,
                                                            `datetime`,
                                                            `readtime`
                                                        )
                                                        VALUES
                                                            (Resultid, userid, '0', '0', '0', '0');
                         
                    end if;
                     
                    -- 处理写手部分--------------------------------------------------------------------------------------------------------------------------
                    SELECT xso.order_id as my_order_id,xso.user_id,xso.oyalties,xso.bond,xso.is_bond INTO my_order_id,my_userid,my_oyalties,my_bond,my_is_bond FROM `springcms_xsorder` xso where xso.rwid=rwid;
                     
                    -- 获得稿费记录
                    INSERT INTO `springcms_user_xiaofei` (
                                                            `id`,
                                                            `uid`,
                                                            `type`,
                                                            `amount`,
                                                            `order_id`,
                                                            `ip`,
                                                            `remark`,
                                                            `create_time`,
                                                            `status`
                                                        )
                                                        VALUES
                                                        (
                                                            NULL,
                                                            my_userid,
                                                            '21',
                                                            my_oyalties,
                                                            order_sn,
                                                            '127.0.0.1',
                                                            '结算稿费应得',
                                                            nowtimestamp,
                                                            '1'
                                                        );
                    -- 更新写手用户余额
                    UPDATE `springcms_user` SET `amount`=amount+my_oyalties WHERE `id` = my_userid;                    
                    -- 发送站内信
                    INSERT INTO `springcms_user_msgtext` (
                                                            `type`,
                                                            `title`,
                                                            `note`,
                                                            `senduserid`,
                                                            `rwid`,
                                                            `userids`,
                                                            `issysadd`,
                                                            `islock`,
                                                            `addtime`,
                                                            `mestype`
                                                        )
                                                        VALUES
                                                        (
                                                            '8',
                                                            '结算任务所得',
                                                            concat('结算任务(',order_sn,')所得稿费',my_oyalties,'元'),
                                                            '1',
                                                            '0',
                                                            my_userid,
                                                            '1',
                                                            '2',
                                                            nowtimestamp,
                                                            '0'
                                                        );
                    SET Resultid=LAST_INSERT_ID(); -- 获取插入的ID值
                    INSERT INTO `springcms_user_msg` (
                                                        `msgid`,
                                                        `userid`,
                                                        `status`,
                                                        `rwid`,
                                                        `datetime`,
                                                        `readtime`
                                                    )
                                                    VALUES
                                                        (Resultid, my_userid, '0', '0', '0', '0');
                    -- 退保证金处理
                    if my_is_bond<>1 THEN
                        -- 退还写手保证金记录
                        INSERT INTO `springcms_user_xiaofei` (
                                                                `id`,
                                                                `uid`,
                                                                `type`,
                                                                `amount`,
                                                                `order_id`,
                                                                `ip`,
                                                                `remark`,
                                                                `create_time`,
                                                                `status`
                                                            )
                                                            VALUES
                                                            (
                                                                NULL,
                                                                my_userid,
                                                                '21',
                                                                my_bond,
                                                                order_sn,
                                                                '127.0.0.1',
                                                                '结算任务退保证金',
                                                                nowtimestamp,
                                                                '1'
                                                            );
                        -- 更新写手用户余额
                        UPDATE `springcms_user` SET `amount`=amount+my_bond WHERE `id` = my_userid;
                        -- 发送站内信
                        INSERT INTO `springcms_user_msgtext` (
                                                                `type`,
                                                                `title`,
                                                                `note`,
                                                                `senduserid`,
                                                                `rwid`,
                                                                `userids`,
                                                                `issysadd`,
                                                                `islock`,
                                                                `addtime`,
                                                                `mestype`
                                                            )
                                                            VALUES
                                                            (
                                                                '8',
                                                                '退回保证金',
                                                                concat('结算任务(',order_sn,')退回保证金',my_bond,'元'),
                                                                '1',
                                                                '0',
                                                                my_userid,
                                                                '1',
                                                                '2',
                                                                nowtimestamp,
                                                                '0'
                                                            );
                        SET Resultid=LAST_INSERT_ID(); -- 获取插入的ID值
                        INSERT INTO `springcms_user_msg` (
                                                            `msgid`,
                                                            `userid`,
                                                            `status`,
                                                            `rwid`,
                                                            `datetime`,
                                                            `readtime`
                                                        )
                                                        VALUES
                                                            (Resultid, my_userid, '0', '0', '0', '0');
                    end if;
                    UPDATE `springcms_xsorder` SET `order_status`='40' WHERE `order_id` = my_order_id;-- 更新状态
                    UPDATE `springcms_renwu` SET `status`='60' WHERE `id` = rwid;-- 更新任务状态
                    -- 生成任务日志
                    INSERT INTO `springcms_renwu_log`(`userid`,`inputtime`,`ip`,`type`,`rwid`,`info`) VALUES(userid,nowtimestamp,'127.0.0.1',60,rwid,'确认结算');   
                end if;
            until done  
        end repeat;  
    -- 注意关闭游标  
    close _Renwu_S; 
END $$
DELIMITER ;

自动处理事件(通过事件调用存储过程)

DELIMITER $$ 
CREATE DEFINER=`root`@`localhost` EVENT `event_minute` ON SCHEDULE EVERY 2 MINUTE STARTS '2018-01-17 14:49:43' ON COMPLETION NOT PRESERVE ENABLE COMMENT '一分钟一次。' DO BEGIN 
    -- INSERT INTO USER(name, address,addtime) VALUES('test2','test2',now());
    CALL Auto_Settlement(@txt);
    CALL Auto_UndoOrder(@txt2);
    INSERT INTO springcms_event_log(txt1, txt2,addtime) VALUES(@txt,@txt2,now());    
END $$
DELIMITER ;

RS-485调试踩坑实录:MAX13487数据回环问题排查与修复(附电路图) 本文深入解析了RS-485通信中MAX13487芯片的数据回环问题,提供了详细的排查过程和解决方案。通过分析芯片特性和自动换向机制,揭示了RO引脚配置不当是导致问题的关键原因,并给出硬件(添加上拉电阻)和软件(调整MCU配置)两种修复方案,附有优化设计建议和实际调试技巧。 阅读详情

相关推荐

spring boot 集成cas(一) 服务端搭建

简单点就是统一服务认证,多个系统一次登录。俗称单点登录。

慕孑晨的博客 1955

MSSQL2005存储过程写报表

听说MSSQL2005自带报表功能,于是我测试了一下,还算比较好用,所以我就录了一个用存储过程来写报表的例子。下载地址如下:http://tclywork.itpub.net/get/464/MSSQL2005%B4%E6%B4...

ciweiti5307的博客 239

STM32C8T6HAL库实战:MAX30102心率血氧检测与OLED多级菜单一体化方案

本文详细介绍了基于STM32C8T6和HAL库的MAX30102心率血氧检测与OLED多级菜单一体化方案。内容涵盖硬件连接、CubeMX工程配置、传感器驱动移植、数据滤波算法、OLED显示驱动以及高效的多级菜单系统设计,旨在提供一个稳定、实用且易于移植的嵌入式健康监测项目参考。

weixin_29256771的博客 396

oracle 存储过程直接写文件

一、用sys执行下面的命令。 0. alter user sys identified by sys; 1. select owner, object_type from all_objects where object_name = 'UTL_FILE' ; 2. grant execute on sys.utl_file to public; 3. grant create a

甲骨虫的家 3595

告别昂贵硬件!用Unity3D 2023 + ROS2 Humble搭建你的第一个SLAM仿真实验室(保姆级教程)

本文提供了一份详细的教程,介绍如何使用Unity3D 2023和ROS2 Humble搭建SLAM仿真实验室,无需昂贵硬件即可实现虚拟传感器模拟和算法测试。通过Docker容器配置、ROS2安装优化及Unity插件集成,开发者可以快速构建高精度的仿真环境,适用于自主导航、多传感器标定等场景。

weixin_42526353的博客 433

【ESP32 S3 开发】基于I2S协议驱动INMP441数字麦克风 实现语音采集

注意INMP441的 L/R接地之后才稳定输出数据 否则一直都是0WAV格式说明这里主要是想说wav文件重要的就是生成一个wavhead来标识它是一个wave文件,wave文件的data chunk 中的data部分还是PCM编码格式的数据,直接从I2S读进去就可以,不需要压缩。wav文件的头一般由4个chunk组成。 以16bit深度为例,代码如下。其他深度可以根据注释自行计算。 I2S -> DAC i2s_read()函数,向flash中划分的一个buff当中读入byte数组。以16bit深度为例,一

m0_43395703的博客 1万+

oracle 存储过程写文件,Oracle写本地文件

Oracle写本地文件是指写到运行Oracle的主机上,而不是运行该脚本的机器上。说起来有点拗口,实际上就是无论在哪里执行这个过程,生成的文件始终都是在服务器上的。下面过程实现了这个功能:logdir是指文件存放路径。有Oracle的directory指定:create or replace directory log_dir as '/oracle/admin/orcl';创建带有clob字段...

weixin_35591736的博客 910

Agilent N5230A矢量网络分析仪在射频器件S参数测试中的关键操作指南

本文详细介绍了Agilent N5230A矢量网络分析仪在射频器件S参数测试中的关键操作流程与技巧。内容涵盖从开机预热、校准(SOLT/ECal)、参数设置(频率、点数、功率、IFBW)到连接测量、数据保存分析的全过程,并分享了夹具去嵌入、时域分析等进阶功能与常见问题避坑指南,旨在帮助工程师获得精准可靠的散射参数测试结果。

kotlin6android的博客 398

AI写存储过程?能写,但别让AI碰这3类逻辑

AI不知道你们公司"库存不足时是直接取消订单还是标记待补货",不知道"优惠券已扣但订单取消时券是否自动退回",不知道"部分支付失败时是保留订单还是整单作废"。但涉及跨事务编排、数据一致性校验、异常分支决策的3类逻辑——这些是业务知识的结晶,不是通用知识的拼凑。写存储过程最难的部分,从来不是PL/SQL语法,是理解业务规则、设计异常分支、确保数据一致性。但存储过程真正难写的部分,从来不是语法,是业务语义。存储过程的声明部分、变量定义、游标声明、基本循环结构——这些模板化代码让AI写,你专注填业务逻辑。

weixin_42615070的博客 222

PCIE2.0/PCIE3.0/PCIE4.0/PCIE5.0接口的带宽、速率计算

一、PCIE接口速率: 二、PCIE相关概念: 传输速率为每秒传输量GT/s,而不是每秒位数Gbps,因为传输量包括不提供额外吞吐量的开销位; 比如 PCIe 1.x和PCIe 2.x使用8b / 10b编码方案,导致占用了20% (= 2/10)的原始信道带宽。 GT/s —— Giga transation per second (千兆传输/秒),即每一秒内传输的次数。重点在于描述物理层通信协议的速率属性,可以不和链路宽度等关联。 Gbps —— Giga Bits Per Second

技术联盟 1万+

ISOLAR Autosar BSW 配置 之 Com

Autosar ISOLAR Bsw Configuration 之 Com

qq_42262743的博客 452

在SQL server中如何写存储过程

前言: 刚换了工作,之前使用的数据库是Oracle,现在用的是SQL server。有时候语法和写SQL语句各种不习惯。 总结一下SQL server中如何存储。 USE [SSQADM]   ----Use 是跳转到哪个数据库,对这个数据库进行操作。 GO        ----GO向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号,相当于提交上面的SQL...

蓝星部队的博客 3万+

Windows 10 本地硬盘变成了可弹出磁盘

今天新装了系统, 电脑是一个SSD+HHD, 没想到装好之后右下角显示可安全删除设备, 两个硬盘在那里. 这还得了. 查了一下午, 大致知道了是什么问题. Standard SATA AHCI controller使用高性能的硬盘模式就会把硬盘看作是一个可热插拔的存储器, 所以自然就会显示可弹出. 如果你的BIOS支持关闭HotSwap或者HotPlug, 那么直接关闭就可以了. 或者你直接在BIOS里把磁盘模式改为IDE, 不过这样就发挥不好你SSD的高性能了. 还有一种解决方法, 就是手动让系统把这两个

落日之城 4万+

java存储过程怎么写_存储过程怎么写啊

展开全部//创建存储过32313133353236313431303231363533e59b9ee7ad9431333431363561程CREATE PROCEDURE userData(IN id INT)BEGINSELECT * from userdata WHERE userflag = id;END;其中IN是传进去的变量;drop procedure userData;//销毁这个...

weixin_42535703的博客 1056

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

mysql 存储过程怎么写_mysql存储过程怎么写

MySQL 存储过程是一些 SQL 语句的集合,比如有的时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中还需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程。下面我们来介绍一下如何创建一个存储过程。语法格式:可以使用 CREATE PROCEDURE 语句创建存储过程。语法格式如下:CREATE PROCEDURE ( [过程参数[,…] ] ) [过程参数...

weixin_28961645的博客 424

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

今天写了个存储过程,执行起来要3分钟!!!!!

今天写了个存储过程,执行起来要3分钟!!!!! 受不了。 一个统计的存储过程,生成一个110个字段的表,表里面有108行资料,涉及到多个表与视图之间的查询,但是执行起来要三分钟,我晕哦!!!! 转载于:https://www.cnblogs.com/zndavid/archive/2004/08/20/35085.html...

weixin_30662539的博客 160

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

什么是存储过程?为什么要写存储过程

一.什么是存储过程 存储过程,百度百科上是这样解释的,存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来调用存储过程。 简单的说就是专门干一件事一段sql语句。 可以由数据库自己去调用,也可以由java程序去调用。 在oracle数据库中存储过程是procedure。 二.为什么要写存储过程 1.效率高 存储过程编译一次后..

xiaojxs的博客 2万+

如何写存储过程

如何写存储过程 转载于:https://blog.51cto.com/5388057/911502

weixin_33775582的博客 88

SQL Server中如何写存储过程

SQL Server中如何写存储过程 一直都很想了解如何写存储过程,对于不熟悉的东西,总是觉得很神秘,呵呵。特别是看着同学写的那些存储过程,由于不了解存储过程的基本语法,看起来甚是吃力,很难理解。一直拖到今天,终于打开了SQL Server的联机丛书,了解了一些它的基本用法。以下是一些摘录,希望自己以后再次看的时候,可以加深理解,更加好的掌握。 1、设计存储过程 几乎任何可写成批处

坚持,才是力量.老实做人,踏实做事. 2431

最近写的一个Mysql存储过程

停了半天的电,看了半天的<老子>,然后...... (思绪飞弛.....) 发现像排行榜更新之类的应用,还是用存储过程舒服,一个叫uch_zcount的表里有zcid,total,heronum 三个字段,现在要求按total从大到小把排行次序写到heronum字段中,zcid为自增字段........写了...

weixin_30532759的博客 74

php的存储过程怎么写,数据库存储过程怎么写

存储过程简介SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中...

weixin_31874327的博客 155

MySQL存储过程怎么写?结合业务教你写一个存储过程。

MySQL存储过程怎么写?结合业务教你写一个存储过程。

DD-Blog 980

用mysql写存储过程吗_用Mysql存储过程写一个存储过程

用存储过程查询银行网点名称,总订单数,总金额,已成功订单数,进行中订单,客户数量,列表思路是:1.先查询出来所有银行网点id,银行网点名称2.循环银行网点id查询大堂经理,3.根据...用存储过程查询 银行网点名称,总订单数,总金额,已成功订单数,进行中订单,客户数量,列表思路是:1.先查询出来所有银行网点id,银行网点名称2.循环银行网点id查询大堂经理,3.根据大堂经理查询总订单数,总金额,已...

weixin_42515561的博客 382

写一个简单的存储过程

创建存储过程的一般写法为: CREATE PROCEDURE (存储过程名称) AS BEGIN (要执行的语句) END 例如: CREATE PROCEDURE  sp_MyPro @uid  int AS BEGIN  SELECT * FROM Users WHERE uid = @uid END 创建成功后,我们可以直接执行该存储过程: e

qq72747的博客 2万+

写存储过程的总结

1、 各种时间的获取sql:SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd'),         TO_CHAR(SYSDATE - 1, 'YYYY-MM-DD'),--昨天的日期         TO_CHAR(TRUNC(SYSDATE, 'MM')

学习记录 644

Oracle中如何写存储过程

>存储过程是什么? 存储过程是一种命名的PL/SQL程序块,输入、输出参数数量【0个或多个】,通常没有返回值【也有特殊的情况】。 运行SQL语句时,Oracle是要先编译再执行的;而存储过程是已经编译好的代码,所以被调用或引用时,执行效率非常高。 存储过程被保存在数据库中,但是不能被SQL直接执行或调用,可以通过EXECUTE命令执行或在PL/SQL程序块内部被调用。...

weixin_30609331的博客 303
上一篇: mysql中group by和order by同时使用无效的替代方案
下一篇: mysql索引
springdk2009
博客等级 码龄17年 1835粉丝 257原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值