Skip to main content

点卡入库问题修复

收录、记录、整理PHP 相关知识和技术文档

php开发 php后台 php api lololo

批量修复

  • 在线excel转json

  • CardController 替换inputs

    public function saveAction()
    {
    set_time_limit(120);
    ini_set('display_errors', 'On');
    error_reporting(E_ALL);
    $inputs = <<<EOF
    [
    {"card_num":"AIGCDE5EU-0347","card_pin":"X4RH6FLRQZ7DJT6N","cost":"22.5","type_id":"3661"},
    {"card_num":"AIGCDE5EU-0348","card_pin":"XJ3Z59G8GR8QGK93","cost":"22.5","type_id":"3661"},
    {"card_num":"AIGCDE5EU-0349","card_pin":"XCLVPG9FP5F27354","cost":"22.5","type_id":"3661"},
    {"card_num":"AIGCDE5EU-0350","card_pin":"XGH67HPV8V6HYGH8","cost":"22.5","type_id":"3661"},
    {"card_num":"AIGCDE5EU-0351","card_pin":"X5NGQH7TKDM2HN7Y","cost":"22.5","type_id":"3661"},
    {"card_num":"AIGCDE5EU-0352","card_pin":"X246JW3QCDKG7WRM","cost":"22.5","type_id":"3661"},
    {"card_num":"AIGCDE5EU-0353","card_pin":"XRQ2JNCFN4VT4KWJ","cost":"22.5","type_id":"3661"}
    ]
    EOF;
    $inputs_cards = json_decode($inputs,true);
    foreach ($inputs_cards as $item){
    if (isset($item['id'])){
    $card = CardModel::getInstance()->getById($item['id']);
    if (is_array($card)){
    if (isset($card['id']) && $card['id']=$item['id']) {
    $crypt = new Tuki_Crypt('ciX]wQfZXJ*ggLbGV^#7A,.ZeHF~9-[dnq7jaa8Xwuv$HwFxVQ', MCRYPT_DES, MCRYPT_MODE_CFB, $card['created']);
    $card['card_pin'] = $crypt->encrypt($item['card_pin']);
    CardModel::getInstance()->update($card['id'],array('card_pin'=>$card['card_pin']));
    print_r(' update:'.$card['card_number']) ;
    }else{
    echo ' ignore card num:'.$card['cost'].'vs'.$item['cost'];
    }
    }else{
    echo ' ignore:'.$item['card_num'];
    }
    }else{
    $card = CardModel::getInstance()->searchByNo($item['type_id'],$item['card_num']);
    if (is_array($card)){
    if ($card['id']>16240598 && isset($card['card_number']) && strcmp($card['card_number'],str_rot13($item['card_num']))==0) {
    // $item['cost'] = '22.50';
    if (isset($card['cost']) && $card['cost']=$item['cost']) {
    $crypt = new Tuki_Crypt('ciX]wQfZXJ*ggLbGV^#7A,.ZeHF~9-[dnq7jaa8Xwuv$HwFxVQ', MCRYPT_DES, MCRYPT_MODE_CFB, $card['created']);
    $card['card_pin'] = $crypt->encrypt($item['card_pin']);
    CardModel::getInstance()->update($card['id'],array('card_pin'=>$card['card_pin']));
    print_r(' update:'.$card['card_number']) ;
    }else{
    echo ' ignore card cost:'.$item['card_num'];
    }
    }else{
    echo ' ignore card num:'.$card['cost'].'vs'.$item['cost'];
    }
    }else{
    echo ' ignore:'.$item['card_num'];
    }
    }
    }
    return $this->json->code(1)->message('修改内容无保存')->notify(1)->refreshTab(1);
    }
  • CardMode 确认是否有该方法


    /**
    * @param $id
    * @param $type_id
    * @param $card_number
    * @return bool|mixed
    */
    public function searchByNo($type_id,$card_number)
    {
    $this->db->from($this->_table);
    ($type_id>0) && $this->db->where('type_id=?',$type_id);
    !empty($card_number) && $this->db->where('card_number=?', str_rot13($card_number));
    return $this->db->select()->fetch();
    }

单个修复

  • 切换到预发布

    <? $crypt = new Tuki_Crypt('ciX]wQfZXJ*ggLbGV^#7A,.ZeHF~9-[dnq7jaa8Xwuv$HwFxVQ', MCRYPT_DES, MCRYPT_MODE_CFB, $card_item['created']) ?>
    <td><?=$crypt->decrypt($card_item['card_pin'])?></td>
    <td><?=$crypt->encrypt($card_item['card_pin'])?></td>
  • cardcontroller

    • saveAction只保存card_pin
  • card.list

    • 增加card_pin输入