123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 |
- package models
-
- import (
- "errors"
- "spaceofcheng/services/models/model"
- "strings"
- "time"
-
- "github.com/yl10/kit/guid"
- )
-
-
- func GetPureUserInfo(id string) (*model.SysUser, error) {
- user := model.SysUser{}
-
- has, err := DBEngine.Where("user_id=?", id).Get(&user)
- if err != nil {
- return nil, err
- }
-
- if !has {
- return nil, errors.New("没有查询到 ID (" + id + ") 对应的用户")
- }
-
- if user.Status != STATUS_NORMAL {
- return nil, errors.New("用户状态不正确")
- }
-
- return &user, nil
- }
-
-
- func GetUserMenu(userID string) ([]model.SysMenu, error) {
- query := `
- SELECT t.*
- FROM sys_menu t
- JOIN sys_user_menu s ON t.menu_id = s.menu_id
- WHERE s.user_id = ?
- AND t.status = ?
- ORDER BY t.order_no ASC
- `
-
- var menus []model.SysMenu
- if err := DBEngine.SQL(query, userID, STATUS_NORMAL).Find(&menus); err != nil {
- return nil, err
- }
-
- return menus, nil
- }
-
-
- func GetUserCase(userID string) ([]model.SysUserCase, error) {
- query := `
- SELECT t.*
- FROM sys_user_case t
- inner join sys_case b on t.case_id=b.case_id
- WHERE t.user_id = ?
- AND t.status = ? and b.case_id>?
- `
-
- var cases []model.SysUserCase
- if err := DBEngine.SQL(query, userID, STATUS_NORMAL, STATUS_DEL).Find(&cases); err != nil {
- return nil, err
- }
-
- return cases, nil
- }
-
-
- func GetOrg(orgID string) (*model.SysOrg, error) {
- var org model.SysOrg
- has, err := DBEngine.Where("org_id=?", orgID).And("status=?", STATUS_NORMAL).Get(&org)
- if err != nil {
- return nil, err
- }
-
- if !has {
- return nil, errors.New("没有查询到机构信息")
- }
-
- return &org, nil
- }
-
-
-
- func GetCustomer(custID string) (*model.TaCustomer, error) {
- var cust model.TaCustomer
-
- has, err := DBEngine.Where("customer_id=?", custID).And("status=?", STATUS_NORMAL).Get(&cust)
- if err != nil {
- return nil, err
- }
-
- if !has {
- return nil, errors.New("没有查询到客户 (id: " + custID + ") 信息")
- }
-
- return &cust, nil
- }
-
-
- func GetUserMappingByOpenID(openID string) ([]model.TaUserMapping, error) {
- var users []model.TaUserMapping
-
- err := DBEngine.Where("openid=?", openID).Find(&users)
- return users, err
- }
-
-
- func EditUserMapping(user *model.TaUserMapping) error {
-
- if user.MappingId == "" {
- user.MappingId = guid.NewGUIDString()
- _, err := DBEngine.Insert(user)
- return err
- }
-
-
- cols := []string{
- "account_info",
- }
- _, err := DBEngine.Cols(cols...).
- Where("account_type=?", user.AccountType).
- And("openid=?", user.Openid).
- Update(user)
- return err
- }
-
-
- func GetWeChatConfig(org, cliType string) (map[string]string, error) {
- conf := new(model.SysWechatConf)
-
- if _, err := DBEngine.Where("org_id=?", org).And("type=?", cliType).Get(conf); err != nil {
- return nil, err
- }
-
- if conf.ConfId == "" {
- return nil, nil
- }
-
- cert := map[string]string{
- "appid": conf.Appid,
- "secret": conf.Secret,
- "token": conf.Token,
- "aeskey": conf.Aeskey,
- "wxid": conf.Wxid,
- }
-
- return cert, nil
- }
-
-
- func InsertToken(token, uid, batchNo string, expire time.Time) error {
- tk := model.SysTokenLog{
- Token: token,
- Uid: uid,
- BatchNo: batchNo,
- ExpireDate: expire,
- Status: STATUS_NORMAL,
- CreateDate: time.Now().Local(),
- }
-
- if _, err := DBEngine.Insert(&tk); err != nil {
- return err
- }
-
- return nil
- }
-
-
- func UpdateTokenExpire(token, uid string) error {
- tk := model.SysTokenLog{
- Status: STATUS_DEL,
- }
-
-
- var tkLogs []model.SysTokenLog
- if err := DBEngine.Where("token=?", token).Find(&tkLogs); err != nil {
- return err
- }
-
-
- if tkLogs != nil && len(tkLogs) > 0 {
- batchNo := []string{}
-
- for _, t := range tkLogs {
- if t.BatchNo != "" {
- batchNo = append(batchNo, t.BatchNo)
- }
- }
-
- if len(batchNo) > 0 {
-
- if _, err := DBEngine.Cols("status").
- Where("token=?", token).
- Or("batch_no in ('" + strings.Join(batchNo, "','") + "')").
- Update(&tk); err != nil {
- return err
- }
-
- return nil
- }
- }
-
- if _, err := DBEngine.Cols("status").Where("token=?", token).Or("uid=?", uid).Update(&tk); err != nil {
- return err
- }
-
- return nil
- }
-
-
- func GetToken(token string) (*model.SysTokenLog, error) {
- tk := model.SysTokenLog{}
-
- if _, err := DBEngine.Where("token=?", token).Get(&tk); err != nil {
- return nil, err
- }
-
- return &tk, nil
- }
-
-
- func GetCustomerByID(id string) (*model.TaCustomer, error) {
- cust := new(model.TaCustomer)
-
- if _, err := DBEngine.Where("customer_id=?", id).Get(cust); err != nil {
- return nil, err
- }
-
- return cust, nil
- }
-
- func SaveCustomer(cust *model.TaCustomer) error {
- cust.CustomerId = guid.NewGUIDString()
- cust.CreateDate = time.Now().Local()
- cust.Status = STATUS_NORMAL
-
- _, err := DBEngine.Insert(cust)
- return err
- }
-
-
- func SaveAccount(account *model.TaCustomerAccount) error {
- if account.CustomerId == "" {
- return errors.New("账户未关联人员")
- }
-
- account.Status = STATUS_NORMAL
- account.CreateDate = time.Now().Local()
- account.AccountId = guid.NewGUIDString()
-
- _, err := DBEngine.Insert(account)
- return err
- }
-
-
- func UpdateUserMapping(userMap *model.TaUserMapping, cols []string) error {
- if userMap.MappingId == "" {
- return errors.New("用户映射信息不存在")
- }
-
- _, err := DBEngine.Where("mapping_id=?", userMap.MappingId).Cols(cols...).Update(userMap)
- return err
- }
-
-
- func GetAllCases() ([]model.SysCase, error) {
- var cases []model.SysCase
- err := DBEngine.Where("status=?", STATUS_NORMAL).Asc("org_id").Find(&cases)
- return cases, err
- }
-
-
- func GetCaseByID(caseID string) (cs *model.SysCase, err error) {
- cs = new(model.SysCase)
-
- _, err = DBEngine.Where("case_id=?", caseID).Get(cs)
- return cs, err
- }
-
-
- func GetAllOrgs() ([]model.SysOrg, error) {
- var orgs []model.SysOrg
- err := DBEngine.Where("status=?", STATUS_NORMAL).Asc("org_id").Find(&orgs)
-
- return orgs, err
- }
-
- func GetSeqID(key string) (string, error) {
- query := "select nextval('" + key + "') as seqid"
-
- res, err := DBEngine.QueryString(query)
- if err != nil {
- return "", err
- }
-
- return res[0]["seqid"], nil
- }
|