点卡入库问题修复
收录、记录、整理PHP 相关知识和技术文档
php开发 php后台 php api lololo
批量修复
-
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输入