12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- /**
- * CardBatchValidate.php
- * User: ZhouBenXu
- * Date: 2024/6/27
- * Time: 上午9:54
- * Notes:
- */
- namespace app\admin\validate\card;
- use support\Validate;
- use app\model\CardBatch;
- class CardBatchValidate extends Validate
- {
- protected $rule = [
- 'card_batch_id' => 'require', // 批次id
- 'join_card_batch_user_id' => 'require', // 批次创建用户 user_id
- 'join_card_batch_category_id' => 'require', // 批次卡分类ID
- 'card_batch_status' => 'require', // 批次状态 CREATE=已创建|PRODUCTED=制作完成|ENABLED=启用|DISABLED=禁用
- 'card_batch_name' => 'require', // 卡批次名称
- 'card_batch_prefix' => 'require', // 卡批次前缀
- 'card_batch_suffix' => 'require', // 卡批次后缀
- 'card_batch_serial_begin' => 'require', // 卡批次序号起始
- 'card_batch_serial_end' => 'require', // 卡批次序号结束
- 'card_batch_amount' => 'require', // 卡批次面额
- 'card_batch_validtimes' => 'require', // 卡批次有效期时间戳 0=永久 天
- 'validtimes_status' => 'require', // 修改时有效期状态 0 永久 1增加 2减少
- 'page' => 'require', // 页码
- 'pageSize' => 'require', // 分页条数
- 'card_batch_ids' => 'require', // 批次ids
- ];
- protected $message = [];
- protected $scene = [
- 'add' => ['join_card_batch_user_id', 'join_card_batch_category_id', 'card_batch_status', 'card_batch_name', 'card_batch_prefix', 'card_batch_suffix', 'card_batch_serial_begin', 'card_batch_serial_end', 'card_batch_amount', 'card_batch_validtimes'],
- 'save' => ['join_card_batch_user_id', 'card_batch_id', 'validtimes_status', 'card_batch_name'],
- 'delete' => ['card_batch_ids'],
- 'list' => ['page', 'pageSize'],
- 'info' => ['card_batch_id']
- ];
- /**
- * Notes: 卡号区间校验不能存在交集
- * User: ZhouBenXu
- * DateTime: 2024/7/1 上午11:30
- * @param $params
- * @return bool
- */
- public function checkCardSort($params)
- {
- if ($params['card_batch_serial_begin'] > $params['card_batch_serial_end']) {
- return false;
- }
- // 查询是否存在相同前缀后缀信息
- $cardBatchInfo = CardBatch::where('card_batch_prefix', $params['card_batch_prefix'])
- ->where('card_batch_suffix', $params['card_batch_prefix'])
- ->select()
- ->get()
- ->toArray();
- if (!empty($cardBatchInfo)) {
- foreach ($cardBatchInfo as $key => $value) {
- // 校验序号是否存在交集信息
- if ($value['card_batch_serial_begin'] <= $params['card_batch_serial_end'] && $value['card_batch_serial_end'] >= $params['card_batch_serial_begin']) {
- return false;
- }
- }
- }
- return true;
- }
- }
|