| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace app\finance\model;
- use think\Model;
- class PriceAdjustCate extends Model
- {
- public function add($param)
- {
- if ($this->valueExists((int) $param['type'], (int) $param['value'])) {
- return to_assign(1, '该类型下「值」已存在,请使用其它值');
- }
- try {
- $param['create_time'] = time();
- $insertId = self::strict(false)->field(true)->insertGetId($param);
- add_log('add', $insertId, $param);
- } catch (\Exception $e) {
- return to_assign(1, '操作失败,原因:' . $e->getMessage());
- }
- return to_assign(0, '操作成功', ['return_id' => $insertId]);
- }
- public function edit($param)
- {
- if ($this->valueExists((int) $param['type'], (int) $param['value'], (int) $param['id'])) {
- return to_assign(1, '该类型下「值」已存在,请使用其它值');
- }
- try {
- self::where('id', $param['id'])->strict(false)->field(true)->update($param);
- add_log('edit', $param['id'], $param);
- } catch (\Exception $e) {
- return to_assign(1, '操作失败,原因:' . $e->getMessage());
- }
- return to_assign(0, '操作成功', ['return_id' => $param['id']]);
- }
- /**
- * 校验同 type 下 value 是否已被占用(编辑时排除自身)
- */
- protected function valueExists(int $type, int $value, int $excludeId = 0): bool
- {
- $query = self::where(['type' => $type, 'value' => $value, 'delete_time' => 0]);
- if ($excludeId > 0) {
- $query->where('id', '<>', $excludeId);
- }
- return $query->count() > 0;
- }
- public function getById($id)
- {
- return self::find($id);
- }
- public function delById($id)
- {
- try {
- self::where('id', $id)->update(['delete_time' => time()]);
- add_log('delete', $id);
- } catch (\Exception $e) {
- return to_assign(1, '操作失败,原因:' . $e->getMessage());
- }
- return to_assign();
- }
- public static function getByType($type)
- {
- return self::where(['type' => $type, 'status' => 1, 'delete_time' => 0])
- ->order('sort asc, id asc')
- ->select();
- }
- }
|