| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 | <?phpnamespace Modules\Callback\Services;use Illuminate\Support\Facades\DB;use Modules\Permissions\Middlewares\PermissionGate;/** * 巨量2.0事件-微信小程序 */class JLEventService{    /**     * 判断回传配置的金额项     * @param $chargeMoneyMap     * <pre>     * [     *      [     *          'min_money' => 1, // 最小金额     *          'max_money' => 2, // 最大金额(不包含)     *          'callback_type' => 1, // 回传参数,类型:1-全部回传,2-全部不回传,3-自定义     *          'callback_param' => '1:1', // callback_type == 3 时, 自定义,传几卡几     *      ]     * ]     * </pre>     */    public static function judgeChargeMoneyOk($chargeMoneyMap) {        $len = count($chargeMoneyMap);        for($i = 0; $i < $len; $i++) {            for($j = $i+1; $j < $len ; $j ++) {                if($chargeMoneyMap[$i]['min_money'] >= $chargeMoneyMap[$j]['max_money'] ||                    $chargeMoneyMap[$i]['max_money'] <= $chargeMoneyMap[$j]['min_money']) {                    continue;                } else {                    return false;                }            }        }        return true;    }    /**     * 金额项的卡比例选项     * @return array     */    public static function listCustomCallBackRate() {        $arr = explode(',', config('callback.jlEvent.customRate'));        $result = [];        foreach ($arr as $item) {            $temp = explode(':', $item);            $result[$item] = '传'.$temp[0].'卡'.$temp[1];        }        return $result;    }    /**     * 回传配置的金额项的比例配置信息     * @param $userId 优化师id     * @param $configId 回传配置id     * @param $chargeMoneyMap     * <pre>     * [     *      [     *          'min_money' => 1, // 最小金额     *          'max_money' => 2, // 最大金额(不包含)     *          'callback_type' => 1, // 回传参数,类型:1-全部回传,2-全部不回传,3-自定义     *          'callback_param' => '1:1', // callback_type == 3 时, 自定义,传几卡几     *      ]     * ]     * </pre>     */    public static function saveRateConfigLog($userId, $configId, $chargeMoneyMap){        $now = date('Y-m-d H:i:s');        DB::table('jl_event_rate_config_log')            ->where([                'user_id' => $userId, 'config_id' => $configId,                'is_enabled' => 1,            ])->update([                'is_enabled' => 0, 'updated_at' => $now,            ]);        $insertData = [];        foreach ($chargeMoneyMap as $item) {            if(3 == $item['callback_type']) {                $insertData[] = [                    'user_id' => $userId,                    'config_id' => $configId,                    'rate_str' => $item['callback_param'],                    'created_at' => $now, 'updated_at' => $now,                    'min_money' => $item['min_money'],                    'max_money' => $item['max_money']                ];            }        }        if(count($insertData)) {            DB::table('jl_event_rate_config_log')                ->insert($insertData);        }    }}
 |