123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <?php
- /*
- * @Author: wang jun
- * @Date: 2021-10-29 16:16:29
- * @Last Modified by: wang jun
- * @Last Modified time: 2021-11-09 16:21:40
- */
- namespace app\index\logic;
- use app\index\logic\businesslogic;
- use app\index\model\signinmodel;
- use app\index\model\userinfomodel;
- use think\Log;
- class signinlogic
- {
- /**
- * 用户签到
- * 20220105
- * wj
- */
- public function usersignin($info)
- {
- if (!isset($info['userid']) && !isset($info['openid'])) {
- return backarr(0, "请求数据错误");
- }
- if (isset($info['userid'])) {
- if (!is_numeric($info['userid']) || empty($info['userid'])) {
- return backarr(0, "用户id错误");
- }
- }
- if (isset($info['openid'])) {
- if (!is_string($info['openid']) || empty($info['openid'])) {
- return backarr(0, "openid错误");
- }
- }
- $uinfo = $this->getuserinfo($info);
- $userid = $uinfo['id'];
- $issign = $this->issign($info);
- if ($issign) {
- return backarr(0, "已签到");
- }
- $signid = $this->newsignin($info);
- if (!$signid) {
- return backarr(0, "签到失败");
- }
- //积分处理
- $data = [
- 'userid' => $uinfo['id'],
- 'type' => 'signin',
- 'typeid' => 1,
- 'checkuserinfo' => false,
- ];
- $l_bl = new businesslogic();
- $result = $l_bl->handlescorebusinessforuserid($data);
- log::info($result);
- if (1 != $result['status']) {
- return backarr(0, $result['msg']);
- }
- return backarr(1, "签到成功", ['id' => $signid]);
- }
- /**
- * 是否签到
- * 20220105
- * wj
- */
- private function issign($param)
- {
- $m_s = new signinmodel();
- $where = [
- 'userid' => $param['userid'],
- 'signdate' => date('Y-m-d'),
- ];
- $info = $m_s->getinfo($where, 'id');
- return empty($info) ? false : true;
- }
- /**
- * 签到数据入库
- * 20220105
- * wj
- */
- private function newsignin($param)
- {
- $m_s = new signinmodel();
- $signdata = [
- 'signdate' => date("Y-m-d"),
- 'signtime' => date("Y-m-d H:i:s"),
- ];
- $signdata = array_merge($signdata, $param);
- $id = $m_s->insertData($signdata);
- return empty($id) ? false : $id;
- }
- /**
- * 获取分享详情
- * 20220104
- * wj
- */
- private function getuserinfo($param)
- {
- $m_u = new userinfomodel();
- $where = [];
- if (isset($param['userid'])) {
- $where['id'] = $param['userid'];
- }
- if (isset($param['openid'])) {
- $where['openid'] = $param['openid'];
- }
- $info = $m_u->getInfo($where);
- if (empty($info)) {
- throw new Exception("无用户信息");
- }
- return $info;
- }
- }
|