123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989 |
- <?php
- namespace app\admin\server\user;
- use app\admin\model\Package;
- use app\admin\model\UserAuth;
- use app\admin\model\UserBasicHealthData;
- use app\admin\model\UserBasicHealthDataLog;
- use app\admin\model\UserDoctorsLog;
- use app\admin\model\UserMedicalExaminationReport;
- use app\admin\model\User;
- use app\admin\model\IntelligenceLog;
- use app\admin\model\IntelligenceEquipment;
- use app\admin\model\UserPackageLog;
- use app\admin\server\package\PackageServer;
- use app\admin\model\UserRelatives;
- use app\admin\model\UserProperty;
- /**
- * 会员服务层
- * Class UsersServer
- * @package app\admin\server\user
- */
- class UsersServer
- {
- /**
- * Notes:会员信息
- * @param int $user_id
- * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model|object|null
- * User: yym
- * Date: 2022/7/26
- */
- public static function getUserInfo(int $user_id)
- {
- $info = User::getUserInfo($user_id);
- if(empty($info))
- {
- throw new \Exception('查无此会员信息');
- }
- $info['user_category'] = User::USER_CATEGORY[$info['user_type']] ?? '';
- $info['user_create_time'] = date("Y-m-d H:i:s", $info['user_create_time']);
- $info['member_is_owner'] = User::USER_OWNER[$info['user_is_owner']] ?? '';
- $auth_status = '';
- $auth_status_msg = '';
- if(empty($info['member_auth_list']))
- {
- $auth_status = '未认证';
- $auth_status_msg = '实名认证';
- }elseif((count($info['member_auth_list']) == 1 || count($info['member_auth_list']) == 2) && !empty($info['member_auth'])){
- $auth_status = UserAuth::MEMBER_AUTH_STATUS[$info['member_auth']['auth_status']];
- $auth_status_msg = '会员升级';
- }elseif((count($info['member_auth_list']) == 1 || count($info['member_auth_list']) == 2) && empty($info['member_auth'])){
- $auth_status = '认证通过';
- $auth_status_msg = '会员升级';
- }
- $info['auth_status'] = $auth_status;
- $info['auth_status_msg'] = $auth_status_msg;
- if(!empty($info['member_auth_list']))
- {
- foreach ($info['member_auth_list'] as $k => $item)
- {
- if($item['auth_type'] == '0')
- {
- $info['member_auth_list'][$k]['auth_content'] = json_decode($item['auth_content'], true);
- }
- }
- }
- unset($info['member_certinfo']);
- return $info;
- }
- /**
- * Notes:会员列表
- * @param string $keywords
- * @param int $category
- * @param int $status
- * @param int $page
- * @param int $limit
- * @return array
- * User: yym
- * Date: 2022/8/4
- */
- public static function getUserList(string $keywords, int $category, int $status, int $page, int $limit)
- {
- [$list, $count] = User::getUserList($keywords, $category, $status, $page, $limit);
- if(!empty($list))
- {
- foreach ($list as &$row)
- {
- $row['user_category'] = User::USER_CATEGORY[$row['user_type']] ?? '';
- $row['user_create_time']= date("Y-m-d H:i:s", $row['user_create_time']);
- $row['member_is_owner'] = User::USER_OWNER[$row['user_is_owner']] ?? '';
- $row['sonnum'] = User::where('user_spread_uid',$row['user_id'])->count();
- $row['rejectMsg'] = '';
- $auth_status = '';
- $auth_status_msg = '';
- $auth_status_type = '';
- if(empty($row['member_auth_list']))
- {
- $auth_status = '未认证';
- $auth_status_msg = '实名认证';
- $auth_status_type = '未认证';
- }elseif (count($row['member_auth_list']) == 1 && empty($row['member_auth'])){
- $auth_status = '已实名认证';
- $auth_status_msg = '实名认证';
- $auth_status_type = '未购买';
- $row['rejectMsg'] = $row['member_auth_list'][0]['auth_content'];
- }elseif (count($row['member_auth_list']) == 1 && !empty($row['member_auth'])){
- $auth_status = '已提交认证';
- $auth_status_msg = '实名认证';
- $auth_status_type = UserAuth::MEMBER_AUTH_STATUS[$row['member_auth']['auth_status']];
- $row['rejectMsg'] = $row['member_auth_list'][0]['auth_content'];
- }elseif (count($row['member_auth_list']) == 2 && empty($row['member_auth'])){
- $auth_status = '已升级认证';
- $auth_status_msg = '会员升级';
- $auth_status_type = '已购买';
- $row['rejectMsg'] = $row['member_auth_list'][1]['auth_content'];
- }elseif (count($row['member_auth_list']) == 2 && !empty($row['member_auth'])){
- $auth_status = '已提交认证';
- $auth_status_msg = '会员升级';
- $auth_status_type = '已购买';
- $row['rejectMsg'] = $row['member_auth_list'][1]['auth_content'];
- }
- $row['auth_status'] = $auth_status;
- $row['auth_status_msg'] = $auth_status_msg;
- $row['auth_status_type'] = $auth_status_type;
- if(!empty($row['member_auth_list']))
- {
- foreach ($row['member_auth_list'] as $k => $item)
- {
- if($item['auth_type'] == '0')
- {
- $row['member_auth_list'][$k]['auth_content'] = json_decode($item['auth_content'], true);
- }
- }
- }
- unset($row['member_certinfo']);
- }
- unset($row);
- }
- return compact('list', 'count');
- }
- /**
- * Notes: 添加设备
- * @return int
- * User: ZQ
- * Date: 2022/11/14
- */
- public static function userInsert($user_account,$user_login_pwd,$user_again_pwd,$user_nickname,$user_headimgurl,$user_sex,$user_birthday,$user_age,$user_register_address,$user_phone,$user_status,$user_real_name,$user_card_id,$user_certinfo,$user_is_owner,$user_type,$user_spread_uid,$user_source,$admin_id,$user_register_type)
- {
- User::affairBegin();
- try {
- $data = [];
- //判断账号是否唯一
- $account = User::getUserAccount($user_account);
- if (!empty($account)){
- throw new \Exception('会员账号已存在!');
- }
- //判断身份证是否唯一
- if (!empty($user_card_id)){
- $card = User::getUserCard($user_card_id);
- if (!empty($card)){
- throw new \Exception('会员身份证已存在!');
- }
- }
- $data['user_account'] = $user_account;
- if ($user_login_pwd == $user_again_pwd){
- $data['user_login_pwd'] = md5(sha1($user_login_pwd));
- }else{
- throw new \Exception('两次密码不一致!');
- }
- $data['user_nickname'] = $user_nickname;
- $data['user_headimgurl'] = $user_headimgurl;
- $data['user_sex'] = $user_sex;
- $data['user_birthday'] = $user_birthday;
- $data['user_age'] = $user_age;
- $data['user_register_address'] = $user_register_address;
- $data['user_phone'] = $user_phone;
- $data['user_package_status'] = 0;
- $data['user_package_id'] = 0;
- $data['user_status'] = $user_status;
- $data['user_real_name'] = $user_real_name;
- $data['user_card_id'] = $user_card_id;
- $data['user_certinfo'] = $user_certinfo ? implode(',',$user_certinfo) : '';
- $data['user_is_owner'] = $user_is_owner;
- $data['user_type'] = $user_type;
- $data['user_register_type'] = $user_register_type;
- if ($user_type == 2){
- throw new \Exception('会员身份选择错误!');
- }
- $data['user_spread_uid'] = $user_spread_uid;
- $data['user_spread_time'] = $user_spread_uid ? time() : '';
- $data['user_source'] = $user_source;
- $data['user_create_time'] = time();
- $result = User::insertGetId($data);
- if ($user_type == 1){
- $auth = [];
- $auth['auth_user_id'] = $result;
- $auth['auth_type'] = 0;
- $auth['auth_content'] = json_encode(['card_front'=>$user_certinfo[0],'card_side'=>$user_certinfo[1]]);
- $auth['auth_status'] = 1;
- $auth['auth_status_info'] = '添加新会员实名认证审核';
- $auth['auth_admin_id'] = $admin_id;
- $auth['auth_examine_time'] = time();
- $auth['auth_create_time'] = time();
- $mation = UserAuth::insertGetId($auth);
- if (empty($mation)){
- User::affairRollback();
- throw new \Exception('添加失败!');
- }
- }
- if (!empty($result)){
- $msg = '管理员:' . $admin_id . '在:' . date("Y-m-d H:i:s", time()) . '添加会员-编号: ' . $result;
- plog('user-equipment-create', '公共-会员-添加会员', $msg);
- User::affairCommit();
- return $result;
- }
- throw new \Exception('添加失败!');
- }catch (\Exception $exception){
- User::affairRollback();
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:会员审核操作
- * @param int $admin_id
- * @param int $user_id
- * @param string $status
- * @param string $content
- * @param string $category
- * @return bool
- * @throws \Exception
- * User: yym
- * Date: 2022/8/4
- */
- public static function authUser(int $admin_id, int $user_id, string $status, string $content, string $category)
- {
- User::affairBegin();
- try {
- if($status == UserAuth::RETURN && empty($content))
- {
- throw new \Exception('审核驳回,驳回理由不能为空!');
- }
- $update = array(
- 'auth_status' => $status,
- 'auth_status_info' => $content,
- 'auth_admin_id' => $admin_id,
- 'auth_examine_time' => time()
- );
- $result1 = true;
- $auth_type = 0;
- //审核通过 更新会员等级
- if($status == UserAuth::DONE && $category == '实名认证')
- {
- $auth_type = 0;
- $result1 = User::updateMember($user_id, ['user_type' => User::ORDINARY, 'user_real_status' => User::REAL_YES]);
- events('createUserNews', ['log_type' => 0, 'log_uid' => $user_id, 'log_content' => '您的'.$category.'审核成功了!']);
- }
- //审核通过 更新会员等级
- if($status == UserAuth::DONE && $category == '会员升级')
- {
- $auth_type = 1;
- $result1 = User::updateMember($user_id, ['user_type' => User::FORMAL, 'user_package_status' => User::PACKAGE_YES]);
- events('createUserNews', ['log_type' => 0, 'log_uid' => $user_id, 'log_content' => '您的'.$category.'审核成功了!']);
- }
- $result = UserAuth::updateAuth($user_id, $auth_type, $update);
- plog('user.auth', '会员-身份-审核', '管理员审核会员:' . $user_id . '审核意见内容:' . $content);
- if($result && $result1)
- {
- User::affairCommit();
- return true;
- }
- throw new \Exception('审核失败!');
- }catch (\Exception $exception){
- User::affairRollback();
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:获取会员体检信息
- * @param int $user_id
- * @return array
- * @throws \Exception
- * User: yym
- * Date: 2022/9/21
- */
- public static function getUserReport(int $user_id)
- {
- try {
- $info = User::getMemberInfo($user_id);
- if(empty($info))
- {
- throw new \Exception('会员信息不存在');
- }
- if(empty($info['user_card_id']))
- {
- throw new \Exception('暂无会员身份证信息');
- }
- //获取体检信息
- [$list, $count] = UserMedicalExaminationReport::getList($user_id);
- if(!empty($list))
- {
- foreach ($list as $k => $item)
- {
- $list[$k]['report_content'] = json_decode($item['report_content'], true);
- $list[$k]['report_add_time'] = date("Y-m-d H:i:s", $item['report_add_time']);
- }
- }
- return compact('list', 'count');
- }catch (\Exception $exception){
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:获取会员设备列表
- * @param int $equipment_user_id
- * @param string $equipment_name
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/9/23
- */
- public static function getUserEquipment(int $page,int $limit, $equipment_user_id, string $equipment_name, $equipment_class)
- {
- try {
- [$list,$count] = IntelligenceEquipment::equipmentList($page, $limit, $equipment_user_id, $equipment_name, $equipment_class);
- if(!empty($list))
- {
- foreach ($list as $k => $item)
- {
- if (empty($item['user_nickname'])){
- $list[$k]['username'] = $item['user_account'];
- }else{
- $list[$k]['username'] = $item['user_nickname'];
- }
- $list[$k]['equipment_create_time'] = date("Y-m-d H:i:s", $item['equipment_create_time']);
- if (!empty($item['equipment_update_time'])){
- $list[$k]['equipment_update_time'] = date("Y-m-d H:i:s", $item['equipment_update_time']);
- }
- if (!empty($item['equipment_up_end_time'])){
- $list[$k]['equipment_up_end_time'] = date("Y-m-d H:i:s", $item['equipment_up_end_time']);
- }
- if (!empty($item['equipment_down_end_time'])){
- $list[$k]['equipment_down_end_time'] = date("Y-m-d H:i:s", $item['equipment_down_end_time']);
- }
- }
- }
- return compact('list', 'count','page','limit');
- }catch (\Exception $exception){
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:获取会员设备详情
- * @param int $equipment_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/9/23
- */
- public static function userEquipmentInfo($equipment_id)
- {
- try {
- $where = [];
- $where['equipment_id'] = $equipment_id;
- $where['equipment_del'] = 0;
- $data = IntelligenceEquipment::equipmentInfor($where);
- if(!empty($data))
- {
- if (empty($data['user_nickname'])){
- $data['username'] = $data['user_account'];
- }else{
- $data['username'] = $data['user_nickname'];
- }
- $data['equipment_create_time'] = date("Y-m-d H:i:s", $data['equipment_create_time']);
- if (!empty($data['equipment_update_time'])){
- $data['equipment_update_time'] = date("Y-m-d H:i:s", $data['equipment_update_time']);
- }
- if (!empty($data['equipment_up_end_time'])){
- $data['equipment_up_end_time'] = date("Y-m-d H:i:s", $data['equipment_up_end_time']);
- }
- if (!empty($data['equipment_down_end_time'])){
- $data['equipment_down_end_time'] = date("Y-m-d H:i:s", $data['equipment_down_end_time']);
- }
- }
- return $data;
- }catch (\Exception $exception){
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:获取设备消息列表
- * @param int $log_user_id
- * @param int $log_equipment_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/9/23
- */
- public static function getEquipmentLog(int $page,int $limit, $log_user_id, $log_equipment_id)
- {
- try {
- [$list,$count] = IntelligenceLog::equipmentLogList($page, $limit, $log_user_id, $log_equipment_id);
- if(!empty($list))
- {
- foreach ($list as $k => $item)
- {
- $log_content = json_decode($item['log_content'],true);
- $content = [];
- $content[0]['产品id'] = $log_content['productId'] ? $log_content['productId'] : '' ;
- $content[1]['消息类型'] = $log_content['messageType'] ? $log_content['messageType'] : '';
- $content[2]['IMEI'] = $log_content['IMEI'] ? $log_content['IMEI'] : '';
- $content[3]['产品类型'] = $log_content['payload']['serviceData']['devicetype'] ? $log_content['payload']['serviceData']['devicetype'] : '';
- $content[4]['设备id'] = $log_content['deviceId'] ? $log_content['deviceId'] : '';
- $list[$k]['log_content'] = $content;
- $list[$k]['log_create_time'] = date("Y-m-d H:i:s", $item['log_create_time']);
- if (!empty($item['log_update_time'])){
- $list[$k]['log_update_time'] = date("Y-m-d H:i:s", $item['log_update_time']);
- }
- }
- }
- return compact('list', 'count','page','limit');
- }catch (\Exception $exception){
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:获取会员设备详情
- * @param int $log_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/9/23
- */
- public static function equipmentLogInfo($log_id)
- {
- try {
- $where = [];
- $where['log_id'] = $log_id;
- $data = IntelligenceLog::logInfor($where);
- if(!empty($data))
- {
- $log_content = json_decode($data['log_content'],true);
- $content = [];
- $content[0]['产品id'] = $log_content['productId'] ? $log_content['productId'] : '' ;
- $content[1]['消息类型'] = $log_content['messageType'] ? $log_content['messageType'] : '';
- $content[2]['IMEI'] = $log_content['IMEI'] ? $log_content['IMEI'] : '';
- $content[3]['产品类型'] = $log_content['payload']['serviceData']['devicetype'] ? $log_content['payload']['serviceData']['devicetype'] : '';
- $content[4]['设备id'] = $log_content['deviceId'] ? $log_content['deviceId'] : '';
- $data['log_content'] = $content;
- $data['log_create_time'] = date("Y-m-d H:i:s", $data['log_create_time']);
- if (!empty($data['log_update_time'])){
- $data['log_update_time'] = date("Y-m-d H:i:s", $data['log_update_time']);
- }
- }
- return $data;
- }catch (\Exception $exception){
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:赠送权益包
- * @param $user_id
- * @param $package_id
- * @param $type
- * @param $admin_id
- * @return bool
- * @throws \Exception
- * User: yym
- * Date: 2022/11/21
- */
- public static function givePackage($user_id, $package_id, $type, $admin_id)
- {
- UserPackageLog::affairBegin();
- try {
- //检测会员是否已赠送或购买此套餐包
- $info = UserPackageLog::getInfo($package_id, $user_id);
- if(!empty($info))
- {
- throw new \Exception('会员该套餐包已存在,无法继续赠送');
- }
- //生成订单记录
- $order_id = PackageServer::givePackage($user_id, $package_id);
- if(empty($order_id))
- {
- throw new \Exception('赠送失败!');
- }
- //生成套餐包记录
- $package_info = Package::getInfo($package_id);
- if(empty($package_info))
- {
- throw new \Exception('套餐包不存在!');
- }
- foreach ($package_info['goods'] as $item)
- {
- $insert = array(
- 'log_user_id' => $user_id,
- 'log_package_id' => $package_id,
- 'log_package_goods_id' => $item['goods_id'],
- 'log_package_status' => UserPackageLog::NORMAL,
- 'log_server_number' => $item['goods_num'],
- 'log_server_type' => $item['goods_num_type'],
- 'log_server_unit' => $item['goods_num_unit'],
- 'log_type' => $type,
- 'log_add_time' => time(),
- 'log_update_time' => time()
- );
- UserPackageLog::insertData($insert);
- }
- User::updateMember($user_id, ['user_package_status' => User::PACKAGE_YES, 'user_package_id' => $package_id, 'user_type' => User::FORMAL]);
- UserPackageLog::affairCommit();
- plog('user.give.package', '会员-赠送-权益包', '管理员:' . $admin_id . '赠送会员:' . $user_id . '权益包:' . $package_id);
- return true;
- }catch (\Exception $exception){
- UserPackageLog::affairRollback();
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:获取会员下亲属关系列表
- * @param int $log_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/11/15
- */
- public static function relativesList($relatives_user_id)
- {
- try {
- $where = [];
- $where['relatives_user_id'] = $relatives_user_id;
- $where['relatives_del'] = 0;
- $list = UserRelatives::select(['user_relatives.*','user.user_real_name'])
- ->where($where)
- ->leftJoin('user','user_id','=','user_relatives.relatives_user_id')
- ->orderBy('relatives_add_time','DESC')
- ->get()->toArray();
- if(!empty($list))
- {
- foreach ($list as $k => $item)
- {
- $list[$k]['relatives_add_time'] = date("Y-m-d H:i:s", $item['relatives_add_time']);
- if (!empty($item['relatives_update_time'])){
- $list[$k]['relatives_update_time'] = date("Y-m-d H:i:s", $item['relatives_update_time']);
- }
- }
- }
- return $list;
- }catch (\Exception $exception){
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:获取会员亲属关系列表
- * @param int $log_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/11/11
- */
- public static function relativesToList($page,$limit,$keywords)
- {
- try {
- [$list,$count] = UserRelatives::getrelativesList($page,$limit,$keywords);
- if(!empty($list))
- {
- foreach ($list as $k => $item)
- {
- $list[$k]['relatives_add_time'] = date("Y-m-d H:i:s", $item['relatives_add_time']);
- if (!empty($item['relatives_update_time'])){
- $list[$k]['relatives_update_time'] = date("Y-m-d H:i:s", $item['relatives_update_time']);
- }
- }
- }
- return compact('list', 'page', 'limit', 'count');
- }catch (\Exception $exception){
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:删除会员亲属关系
- * @param int $category_id
- * @return int
- * User: ZQ
- * Date: 2022/9/3
- */
- public static function relativesDel($relatives_id,$admin_id)
- {
- UserRelatives::affairBegin();
- try {
- $where = [];
- $where['relatives_id'] = $relatives_id;
- $data['relatives_del'] = 1;
- $result = UserRelatives::where($where)->update($data);
- if (!empty($result)){
- $msg = '管理员:' . $admin_id . '在:' . date("Y-m-d H:i:s", time()) . '删除会员亲属关系-编号: ' . $relatives_id;
- plog('user-relatives-del', '会员-亲属关系-删除亲属关系', $msg);
- UserRelatives::affairCommit();
- return true;
- }
- throw new \Exception('删除失败!');
- }catch (\Exception $exception){
- UserRelatives::affairRollback();
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:获取会员下亲属关系列表
- * @param int $log_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/11/15
- */
- public static function equipmentList($equipment_user_id)
- {
- try {
- $where = [];
- $where['equipment_user_id'] = $equipment_user_id;
- $where['equipment_del'] = 0;
- $list = IntelligenceEquipment::select(['user_intelligence_equipment.*','intelligence_products.product_name'])
- ->where($where)
- ->leftJoin('intelligence_products','product_id','=','user_intelligence_equipment.equipment_intelligence_id')
- ->orderBy('equipment_create_time','DESC')
- ->get()->toArray();
- if(!empty($list))
- {
- foreach ($list as $k => $item)
- {
- $list[$k]['equipment_create_time'] = date("Y-m-d H:i:s", $item['equipment_create_time']);
- $list[$k]['equipment_up_end_time'] = $list[$k]['equipment_up_end_time'] ? date("Y-m-d H:i:s", $item['equipment_up_end_time']) : '';
- $list[$k]['equipment_down_end_time'] = $list[$k]['equipment_down_end_time'] ? date("Y-m-d H:i:s", $item['equipment_down_end_time']) : '';
- $list[$k]['equipment_update_time'] = $list[$k]['equipment_update_time'] ? date("Y-m-d H:i:s", $item['equipment_update_time']) : '';
- }
- }
- return $list;
- }catch (\Exception $exception){
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes: 添加设备
- * @return int
- * User: ZQ
- * Date: 2022/11/14
- */
- public static function insertEquipment($admin_id, $equipment_intelligence_id, $equipment_user_id, $equipment_name, $equipment_only,$equipment_type,$equipment_class,$equipment_tripartite_sn,$equipment_status,$equipment_property_id)
- {
- IntelligenceEquipment::affairBegin();
- try {
- $data = [];
- $data['equipment_intelligence_id'] = $equipment_intelligence_id;
- $data['equipment_user_id'] = $equipment_user_id;
- $data['equipment_name'] = $equipment_name;
- $data['equipment_only'] = $equipment_only;
- $data['equipment_type'] = $equipment_type;
- $data['equipment_class'] = $equipment_class;
- $data['equipment_tripartite_sn'] = $equipment_tripartite_sn;
- $data['equipment_status'] = $equipment_status;
- $data['equipment_property_id'] = $equipment_property_id;
- $data['equipment_create_time'] = time();
- $result = IntelligenceEquipment::insertGetId($data);
- if (!empty($result)){
- $msg = '管理员:' . $admin_id . '在:' . date("Y-m-d H:i:s", time()) . '添加会员智能设备-编号: ' . $result;
- plog('user-equipment-create', '会员-智能设备-添加智能设备', $msg);
- IntelligenceEquipment::affairCommit();
- return $result;
- }
- throw new \Exception('操作失败!');
- }catch (\Exception $exception){
- IntelligenceEquipment::affairRollback();
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:查询会员设备唯一编码
- * @param int $category_id
- * @return int
- * User: ZQ
- * Date: 2022/11/15
- */
- public static function equipmentCheck($equipment_only)
- {
- try {
- $where = [];
- $where['equipment_only'] = $equipment_only;
- $result = IntelligenceEquipment::where($where)->first();
- if (!empty($result)){
- return $result;
- }else{
- return false;
- }
- throw new \Exception('查询失败!');
- }catch (\Exception $exception){
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:删除会员亲属关系
- * @param int $category_id
- * @return int
- * User: ZQ
- * Date: 2022/11/15
- */
- public static function equipmentDel($equipment_id,$admin_id)
- {
- IntelligenceEquipment::affairBegin();
- try {
- $where = [];
- $where['equipment_id'] = $equipment_id;
- $data['equipment_del'] = 1;
- $result = IntelligenceEquipment::where($where)->update($data);
- if (!empty($result)){
- $msg = '管理员:' . $admin_id . '在:' . date("Y-m-d H:i:s", time()) . '删除会员智能产品设备-编号: ' . $equipment_id;
- plog('user-relatives-del', '会员-智能产品设备-删除智能产品设备', $msg);
- IntelligenceEquipment::affairCommit();
- return true;
- }
- throw new \Exception('删除失败!');
- }catch (\Exception $exception){
- IntelligenceEquipment::affairRollback();
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:获取会员固定资产列表
- * @param int $property_user_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/11/23
- */
- public static function propertyList($property_user_id)
- {
- try {
- $where = [];
- $where['property_del'] = 0;
- $where['property_status'] = 0;
- $where['property_user_id'] = $property_user_id;
- $list = UserProperty::where($where)->select()->get()->toArray();
- return $list;
- }catch (\Exception $exception){
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:添加医生医嘱
- * @param int $log_user_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/12/8
- */
- public static function doctorInsert($log_user_id, $log_type, $log_doctor_id, $log_subject_id, $log_message, $log_resolvent, $admin_id)
- {
- UserDoctorsLog::affairBegin();
- try {
- $data = [];
- $data['log_user_id'] = $log_user_id;
- $data['log_type'] = $log_type;
- $data['log_doctor_id'] = $log_doctor_id;
- $data['log_subject_id'] = $log_subject_id;
- $data['log_message'] = $log_message;
- $data['log_resolvent'] = $log_resolvent;
- $data['log_add_time'] = time();
- $result = UserDoctorsLog::insertGetId($data);
- if (!empty($result)){
- $msg = '管理员:' . $admin_id . '在:' . date("Y-m-d H:i:s", time()) . '添加会员医生医嘱-编号: ' . $result;
- plog('user-relatives-del', '会员-医生医嘱-添加会员医生医嘱', $msg);
- UserDoctorsLog::affairCommit();
- return true;
- }
- throw new \Exception('添加失败!');
- }catch (\Exception $exception){
- UserDoctorsLog::affairRollback();
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:会员医生医嘱列表
- * @param int $log_user_id
- * @param int $page
- * @param int $limit
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/12/8
- */
- public static function doctorList($log_user_id, $page, $limit)
- {
- [$list,$count] = UserDoctorsLog::doctorLogList($log_user_id, $page, $limit);
- if (!empty($list)){
- foreach ($list as $k => $v){
- $list[$k]['log_add_time'] = date('Y-m-d H:i:s',$v['log_add_time']);
- }
- }
- return compact('list', 'count');
- }
- /**
- * Notes:删除会员医生医嘱
- * @param int $log_user_id
- * @param int $log_id
- * @param int $admin_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/12/8
- */
- public static function doctorDel($log_user_id, $log_id, $admin_id)
- {
- UserDoctorsLog::affairBegin();
- try {
- $where = [];
- $where['log_id'] = $log_id;
- $where['log_user_id'] = $log_user_id;
- $result = UserDoctorsLog::where($where)->delete();
- if (!empty($result)){
- $msg = '管理员:' . $admin_id . '在:' . date("Y-m-d H:i:s", time()) . '删除会员医生医嘱-编号: ' . $log_id;
- plog('user-relatives-del', '会员-医生医嘱-删除会员医生医嘱', $msg);
- UserDoctorsLog::affairCommit();
- return true;
- }
- throw new \Exception('删除失败!');
- }catch (\Exception $exception){
- UserDoctorsLog::affairRollback();
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:删除会员健康基础数据
- * @param int $data_id
- * @param int $data_user_id
- * @param int $admin_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/12/8
- */
- public static function healthyDel($data_user_id, $admin_id)
- {
- UserBasicHealthData::affairBegin();
- try {
- $where = [];
- $where['data_user_id'] = $data_user_id;
- $result = UserBasicHealthData::where($where)->delete();
- if (!empty($result)){
- $msg = '管理员:' . $admin_id . '在:' . date("Y-m-d H:i:s", time()) . '删除会员健康基础数据-编号: ' . $data_user_id;
- plog('user-relatives-del', '会员-健康基础数据-删除会员健康基础数据', $msg);
- UserBasicHealthData::affairCommit();
- return true;
- }
- throw new \Exception('删除失败!');
- }catch (\Exception $exception){
- UserBasicHealthData::affairRollback();
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:修改会员健康基础数据
- * @param int $data_id
- * @param string $data_Inspection_suggestions
- * @param string $data_bone_density
- * @param string $data_tcm_testing
- * @param int $admin_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/12/8
- */
- public static function healthyUpdate($data_user_id, $data_Inspection_suggestions, $data_bone_density, $data_tcm_testing, $admin_id)
- {
- UserBasicHealthData::affairBegin();
- try {
- $where = [];
- $where['data_user_id'] = $data_user_id;
- $data = [];
- $data['data_update_time'] = time();
- $data['data_Inspection_suggestions'] = $data_Inspection_suggestions;
- if (!empty($data_Inspection_suggestions) && empty($data_bone_density) && empty($data_tcm_testing)){
- $result = UserBasicHealthData::where($where)->update($data);
- if (!empty($result)){
- $msg = '管理员:' . $admin_id . '在:' . date("Y-m-d H:i:s", time()) . '修改会员健康基础数据-编号: ' . $data_user_id;
- plog('user-relatives-del', '会员-健康基础数据-修改会员健康基础数据', $msg);
- UserBasicHealthData::affairCommit();
- return true;
- }
- }elseif (!empty($data_bone_density) && empty($data_tcm_testing)){
- $data['data_bone_density'] = $data_bone_density;
- $data_type = 2;
- }elseif (!empty($data_tcm_testing) && empty($data_bone_density)){
- $data['data_tcm_testing'] = $data_tcm_testing;
- $data_type = 4;
- }elseif(!empty($data_tcm_testing) && !empty($data_bone_density)){
- $data['data_bone_density'] = $data_bone_density;
- $data['data_tcm_testing'] = $data_tcm_testing;
- $data_type = 3;
- }
- $result = UserBasicHealthData::where($where)->update($data);
- if($data_type == 3){
- //插入一条记录
- $log = UserBasicHealthData::where($where)->first();
- $log = json_decode($log,true);
- unset($log['data_id']);
- unset($log['data_update_time']);
- $log['data_type'] = 2;
- $log['data_add_time'] = time();
- unset($log['data_tcm_testing']);
- $id = UserBasicHealthDataLog::insertGetId($log);
- $log['data_type'] = 4;
- unset($log['data_bone_density']);
- $log['data_tcm_testing'] = $data_tcm_testing;
- $ids = UserBasicHealthDataLog::insertGetId($log);
- }elseif($data_type == 2 || $data_type == 4){
- //插入一条记录
- $log = UserBasicHealthData::where($where)->first();
- $log = json_decode($log,true);
- unset($log['data_id']);
- unset($log['data_update_time']);
- $log['data_type'] = $data_type;
- $log['data_add_time'] = time();
- $id = UserBasicHealthDataLog::insertGetId($log);
- }
- if (!empty($result)){
- $msg = '管理员:' . $admin_id . '在:' . date("Y-m-d H:i:s", time()) . '修改会员健康基础数据-编号: ' . $data_user_id;
- plog('user-relatives-del', '会员-健康基础数据-修改会员健康基础数据', $msg);
- if(!empty($id)){
- $msg = '管理员:' . $admin_id . '在:' . date("Y-m-d H:i:s", time()) . '添加会员健康基础数据记录-编号: ' . $id;
- plog('user-relatives-del', '会员-健康基础数据记录-添加会员健康基础数据记录', $msg);
- }
- if(!empty($ids)){
- $msg = '管理员:' . $admin_id . '在:' . date("Y-m-d H:i:s", time()) . '添加会员健康基础数据记录-编号: ' . $ids;
- plog('user-relatives-del', '会员-健康基础数据记录-添加会员健康基础数据记录', $msg);
- }
- UserBasicHealthData::affairCommit();
- return true;
- }
- throw new \Exception('修改失败!');
- }catch (\Exception $exception){
- UserBasicHealthData::affairRollback();
- throw new \Exception($exception->getMessage(), 500);
- }
- }
- /**
- * Notes:查询会员健康基础数据
- * @param int $data_id
- * @param int $data_user_id
- * @return array
- * @throws \Exception
- * User: ZQ
- * Date: 2022/12/8
- */
- public static function healthyInfo($data_user_id)
- {
- $where = [];
- $where['data_user_id'] = $data_user_id;
- $data = UserBasicHealthData::where($where)->first();
- if (!empty($data)){
- $data['data_add_time'] = date('Y-m-d H:i:s',$data['data_add_time']);
- $data['data_update_time'] = $data['data_update_time'] ? date('Y-m-d H:i:s',$data['data_update_time']) : '';
- }
- return $data;
- }
- }
|