You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
information-system/webht/third_party/dingmail/models/ding_value_model.php

334 lines
11 KiB
PHP

<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class ding_value_model extends CI_Model {
function __construct(){
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
}
//扫码获取相应人的信息
function get_dingding_user($unionid){
$sql = "select
*
from
Dingding_User
where
ddu_Unionid = ?";
$query = $this->HT->query($sql, array($unionid));
if ($query->num_rows() > 0){
$row = $query->row();
return $row;
}
else{
return FALSE;
}
}
//根据姓名获取唯一unionid
public function get_dingding_unionid($name){
$sql = "select ddu_Unionid from Dingding_User where ddu_Name = ?";
$query = $this->HT->query($sql, array($name));
if ($query->num_rows() > 0){
$row = $query->row();
return $row;
}
else{
return FALSE;
}
}
//添加用户
function add_dingding_user($name,$unionid,$mobile,$email,$position,$avatar,$time){
$sql = "INSERT INTO Dingding_User (ddu_Name,ddu_Unionid,ddu_Mobile,ddu_Email,ddu_Position,ddu_Avatar,ddu_Datetime) VALUES (N?,?,?,?,N?,?,?)";
$query = $this->HT->query($sql,array($name,$unionid,$mobile,$email,$position,$avatar,$time));
if ($query){
return TRUE;
}else{
return FALSE;
}
}
//添加value事件
function add_value($data){
$sql = "INSERT INTO Dingding_Value (ddv_Type,ddv_Name,ddv_User_Unionid,ddv_Comment_Name,ddv_Comment_Unionid,ddv_Content,ddv_Identify,ddv_Createtime) VALUES (?,N?,?,N?,?,N?,?,?)";
$query = $this->HT->query($sql,array($data['type'],$data['user'],$data['user_unionid'],$data['comment_name'],$data['comment_unionid'],$data['content'],$data['mail_identify'],$data['createtime']));
if($query){
return TRUE;
}else{
return FALSE;
}
}
//统计like人数
function count_like($unionid){
$year_start = strtotime(date('Y-01-01', time()));
$year_end = strtotime(date('Y-12-31', time()));
$sql = "SELECT COUNT(*) AS count FROM Dingding_Value WHERE ddv_Comment_Unionid = ? AND ddv_Type = 'like' AND ddv_Type = 'like' and ddv_Createtime > '{$year_start}' and ddv_Createtime < '{$year_end}'";
$query = $this->HT->query($sql,$unionid);
$row = $query->row();
return $row;
}
//获取like的人是那些
function whos_like($unionid){
$year_start = strtotime(date('Y-01-01', time()));
$year_end = strtotime(date('Y-12-31', time()));
$sql = "SELECT ddv_Name FROM Dingding_Value WHERE ddv_Comment_Unionid = ? AND ddv_Type = 'like' and ddv_Createtime > '{$year_start}' and ddv_Createtime < '{$year_end}' ORDER BY ddv_Sn DESC";
$query = $this->HT->query($sql,$unionid);
$row = $query->result();
return $row;
}
//获取value点赞的人
function value_whos_like($identify){
$sql = "SELECT ddv_Name FROM Dingding_Value WHERE ddv_Identify = ? and ddv_Type = 'like' and ddv_Comment_Name = 'value邮件' ORDER BY ddv_Createtime DESC";
$query = $this->HT->query($sql,$identify);
$row = $query->result();
return $row;
}
//获取value拍砖的人
function value_whos_unlike($identify){
$sql = "SELECT ddv_Name FROM Dingding_Value WHERE ddv_Identify = ? and ddv_Type = 'unlike' and ddv_Comment_Name = 'value邮件' ORDER BY ddv_Createtime DESC";
$query = $this->HT->query($sql,$identify);
$row = $query->result();
return $row;
}
//根据Identify获取value邮件
function get_mail($identify){
$sql = "SELECT * FROM Dingding_Mail where ddm_Identify = ?";
$query = $this->HT->query($sql, array($identify));
if ($query->num_rows() > 0){
$row = $query->row();
return $row;
}
else{
return FALSE;
}
}
//根据Identify获取value邮件中value的人
function get_value($identify,$user_unionid){
$sql = "select * from Dingding_user_mail left join Dingding_User on(ddum_Name = ddu_Name) where ddum_Identify = ? and ddu_Unionid != '$user_unionid'";
$query = $this->HT->query($sql, array($identify));
if ($query->num_rows() > 0){
$row = $query->result();
return $row;
}
else{
return FALSE;
}
}
//统计unlike人数
function count_unlike($unionid){
$year_start = strtotime(date('Y-01-01', time()));
$year_end = strtotime(date('Y-12-31', time()));
$sql = "SELECT COUNT(*) AS count FROM Dingding_Value WHERE ddv_Comment_Unionid = ? AND ddv_Type = 'unlike' and ddv_Createtime > '{$year_start}' and ddv_Createtime < '{$year_end}'";
$query = $this->HT->query($sql,$unionid);
$row = $query->row();
return $row;
}
//获取unlike的人是那些
function whos_unlike($unionid){
$year_start = strtotime(date('Y-01-01', time()));
$year_end = strtotime(date('Y-12-31', time()));
$sql = "SELECT ddv_Name FROM Dingding_Value WHERE ddv_Comment_Unionid = ? AND ddv_Type = 'unlike' and ddv_Createtime > '{$year_start}' and ddv_Createtime < '{$year_end}' ORDER BY ddv_Sn DESC";
$query = $this->HT->query($sql,$unionid);
$row = $query->result();
return $row;
}
//获取所有点评了的人的列表
function all_comment($unionid){
$year_start = strtotime(date('Y-01-01', time()));
$year_end = strtotime(date('Y-12-31', time()));
$sql = "SELECT *
FROM Dingding_Value
left join Dingding_User on ddu_Unionid = ddv_User_Unionid
left join Dingding_Mail on ddv_Identify = ddm_Identify
where ddv_Comment_Unionid = '$unionid'
and ddv_Createtime > '{$year_start}' and ddv_Createtime < '{$year_end}'
ORDER BY ddv_Sn DESC";
$query = $this->HT->query($sql,$unionid);
$row = $query->result();
return $row;
}
/*
//获取所有点评了的人的列表
function all_comment($unionid){
$sql = "SELECT * FROM Dingding_Value WHERE ddv_Comment_Unionid = ? ORDER BY ddv_Sn DESC";
$query = $this->HT->query($sql,$unionid);
$row = $query->result();
return $row;
}
*/
//获取所有员工的姓名以及邮箱(钉钉邮箱)
function all_email($data = null){
if($data){
$where = "where ddu_Name in ($data)";
}else{
$where = '';
}
$sql = "SELECT ddu_Name,ddu_Email FROM Dingding_User ".$where;
$query = $this->HT->query($sql);
$row = $query->result();
return $row;
}
//根据名字确定是否存在
public function has_user($user_name){
$sql="SELECT * FROM Dingding_User WHERE ddu_Name='$user_name' ";
$query = $this->HT->query($sql);
return $query->result();
}
//新增value邮件
public function add_mail($data){
$sql="INSERT INTO Dingding_Mail(
ddm_subject,
ddm_content,
ddm_touser,
ddm_ccuser,
ddm_fromuser,
ddm_value_key,
ddm_identify,
ddm_createtime
)
VALUES (N?,N?,N?,N?,N?,?,?,?)";
$this->HT->query($sql, array($data['mail_subject'],$data['mail_content'],$data['mail_touser'],$data['mail_ccuser'],$data['mail_fromuser'],$data['mail_value_key'],$data['mail_identify'],$data['mail_createtime']));
return $this->HT->last_id('Dingding_Mail');
}
//新增value的名单
public function add_value_user($data){
$sql="INSERT INTO Dingding_User_Mail (
ddum_name,
ddum_identify,
ddum_createtime)
VALUES (?,?,?)";
$this->HT->query($sql, array($data['value_user_name'],$data['value_user_identify'],$data['value_user_createtime']));
return $this->HT->last_id('webht_user_mail');
}
//检测是否已经点赞(仅用于value邮件点赞)
public function is_liked($data){
$sql = "select * from Dingding_Value where ddv_Identify = ? and ddv_User_Unionid = ? and ddv_Comment_Name = 'value邮件'";
$query = $this->HT->query($sql,array($data['mail_identify'],$data['user_unionid']));
if($query->num_rows() >= 1){
return true;
}else{
return false;
}
}
//获取用户最新一次被点赞的时间以及人
public function get_user_time($unionid,$user_unionid,$identify=false){
if($identify){
$where = "and ddv_identify = '$identify'";
}else{
$where = "";
}
$sql = "select ddv_Name,ddv_Createtime from Dingding_Value where ddv_Comment_Unionid = '$unionid' and ddv_User_Unionid = '$user_unionid'$where order by ddv_Createtime desc";
$query = $this->HT->query($sql);
if($query){
return $query->row();
}else{
return false;
}
}
//获取最新一次被评论的时间
public function get_last_comment($comment_name,$comment_unionid){
$sql = "select
top 1 *
from
Dingding_Value
where
ddv_Comment_Name = '$comment_name'
and
ddv_Comment_Unionid = '$comment_unionid'
and
ddv_Type in ('comment','hidden_comment')
order by
ddv_Createtime desc";
$query = $this->HT->query($sql);
$result=$query->result();
return $result;
}
//获取点赞排行榜
public function get_person_rank($from_date=false,$to_date=false){
$datesql="";
if ($from_date) {
$datesql=" AND ddv_Createtime BETWEEN '$from_date' AND '$to_date' ";
}
$sql="SELECT TOP 15
ddv_Comment_Name,
ddv_Comment_Unionid,
COUNT(ddv_Comment_Name) as like_count
FROM Dingding_Value
WHERE ddv_Type='like' AND ddv_Comment_Name != 'value邮件'
$datesql
GROUP BY ddv_Comment_Name,ddv_Comment_Unionid
ORDER BY like_count DESC";
$query = $this->HT->query($sql);
$result=$query->result();
return $result;
}
//更新用户信息
function update_dingding_user($name,$unionid,$mobile,$email,$position,$avatar,$time){
$sql = "UPDATE Dingding_User SET
ddu_Name = '$name',
ddu_Mobile = '$mobile',
ddu_Email = '$email',
ddu_Position = '$position',
ddu_Avatar = '$avatar',
ddu_Datetime = '$time'
WHERE ddu_Unionid = '$unionid'";
$query = $this->HT->query($sql);
if ($query){
return true;
}else{
return FALSE;
}
}
//获取value邮件列表
public function get_valuemail_list(){
$year = strtotime(date('Y-01-01'));
$sql = "select * from Dingding_Mail where ddm_Createtime > '$year' order by ddm_Createtime desc ";
$query = $this->HT->query($sql);
return $query->result();
}
//获取所有value邮件所用的价值观
public function get_allvalueitems(){
$sql = "select ddm_value_key from Dingding_Mail where ddm_value_key != ''";
$query = $this->HT->query($sql);
return $query->result();
}
public function delete_value($sn){
$sql = "DELETE FROM Dingding_Value WHERE ddv_Sn = '{$sn}'";
$query = $this->HT->query($sql);
}
public function test(){
$sql = "delete from Dingding_Value where ddv_Sn = '9125'";
$query = $this->HT->query($sql);
}
}