$params['cid'], 'type' => $params['type'], 'title' => $params['title'], 'image' => $params['image'] ? FileService::setFileUrl($params['image']) : '', 'content' => $params['content'], 'min_money' => $params['min_money'], 'max_money' => $params['max_money'], 'rate' => $params['rate'], 'cycle' => $params['cycle'], 'point' => $params['point'], 'member_id' => $params['member_id'], 'progress' => $params['progress'], 'progress_auto' => $params['progress_auto'], 'is_show' => $params['is_show'], 'sort' => $params['sort'], 'langs' => json_encode($langs, JSON_UNESCAPED_UNICODE), ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 编辑项目 * @param array $params * @return bool * @author BD * @date 2024/01/16 13:23 */ public static function edit(array $params): bool { Db::startTrans(); try { $langs = $params['langs']; foreach ($langs as &$content_lang) { $content_lang['image'] = FileService::setFileUrl($content_lang['image']); $content_lang['content'] = clear_file_domain($content_lang['content']); } Item::update([ 'id' => $params['id'], 'cid' => $params['cid'], 'type' => $params['type'], 'title' => $params['title'], 'image' => $params['image'] ? FileService::setFileUrl($params['image']) : '', 'content' => $params['content'], 'min_money' => $params['min_money'], 'max_money' => $params['max_money'], 'rate' => $params['rate'], 'cycle' => $params['cycle'], 'point' => $params['point'], 'member_id' => $params['member_id'], 'progress' => $params['progress'], 'progress_auto' => $params['progress_auto'], 'is_show' => $params['is_show'], 'sort' => $params['sort'], 'langs' => json_encode($langs, JSON_UNESCAPED_UNICODE), ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 删除项目 * @param array $params * @return bool * @author BD * @date 2024/01/16 13:23 */ public static function delete(array $params): bool { return Item::destroy($params['id']); } /** * @notes 获取项目详情 * @param $params * @return array * @author BD * @date 2024/01/16 13:23 */ public static function detail($params): array { $item = Item::findOrEmpty($params['id'])->toArray(); $langs = json_decode($item['langs'], true); if(empty($langs)){ $langs = []; } $item['langs'] = $langs; return $item; } /** * @notes 更改状态 * @param array $params * @return bool * @author BD * @date 2023/9/22 16:38 */ public static function updateIndexStatus(array $params) { Item::update([ 'id' => $params['id'], 'is_index' => $params['is_index'] ]); return true; } }