wangfei 6 years ago
parent
commit
bfdd270a09

+ 6
- 0
models/constant.go View File

@@ -0,0 +1,6 @@
1
+package models
2
+
3
+const (
4
+	STATUS_NOMAIL = 1
5
+	STATUS_DEL    = -1
6
+)

+ 3
- 4
models/goods/spec.go View File

@@ -4,28 +4,27 @@ import (
4 4
 	"spaceofcheng/services/models"
5 5
 	"spaceofcheng/services/models/model"
6 6
 	"spaceofcheng/services/utils"
7
-	"strconv"
8 7
 	"strings"
9 8
 )
10 9
 
11 10
 // GetGoodsSpecCount 获取商品规格总数
12 11
 func (m *GoodsDAO) GetGoodsSpecCount(caseids string) (int, error) {
13 12
 	var goodsSpec []model.TdSpec
14
-	err := m.db.Where("status>" + strconv.Itoa(models.STATUS_DEL)).Find(&goodsSpec)
13
+	err := m.db.Where("status=?", models.STATUS_NOMAIL).And("case_id in ('" + strings.Replace(caseids, ",", "','", -1) + "')").Find(&goodsSpec)
15 14
 	return len(goodsSpec), err
16 15
 }
17 16
 
18 17
 // GetGoodsSpec 根据案场获取商品规格
19 18
 func (m *GoodsDAO) GetGoodsSpec(caseids string, page int, pageSize int) ([]model.TdSpec, error) {
20 19
 	var goodsSpec []model.TdSpec
21
-	err := m.db.Where("status>"+strconv.Itoa(models.STATUS_DEL)).And("case_id in ('"+strings.Replace(caseids, ",", "','", -1)+"')").Limit(pageSize, page*pageSize).Find(&goodsSpec)
20
+	err := m.db.Where("status=?", models.STATUS_NOMAIL).And("case_id in ('"+strings.Replace(caseids, ",", "','", -1)+"')").Limit(pageSize, page*pageSize).Find(&goodsSpec)
22 21
 	return goodsSpec, err
23 22
 }
24 23
 
25 24
 // GetGoodsSpecByID 根据ID获取商品规格
26 25
 func (m *GoodsDAO) GetGoodsSpecByID(specid string) (*model.TdSpec, error) {
27 26
 	var goodsSpec []model.TdSpec
28
-	err := m.db.Where("status>"+strconv.Itoa(models.STATUS_DEL)).And("spec_id=?", specid).Find(&goodsSpec)
27
+	err := m.db.Where("status=?", models.STATUS_NOMAIL).And("spec_id=?", specid).Find(&goodsSpec)
29 28
 	if err != nil {
30 29
 		return nil, err
31 30
 	}

+ 3
- 4
models/goods/type.go View File

@@ -4,7 +4,6 @@ import (
4 4
 	"spaceofcheng/services/models"
5 5
 	"spaceofcheng/services/models/model"
6 6
 	"spaceofcheng/services/utils"
7
-	"strconv"
8 7
 	"strings"
9 8
 	"time"
10 9
 )
@@ -12,21 +11,21 @@ import (
12 11
 // GetGoodsTypeCount 获取商品类型总数
13 12
 func (m *GoodsDAO) GetGoodsTypeCount(caseids string) (int, error) {
14 13
 	var goodstype []model.TdGoodsType
15
-	err := m.db.Where("status > " + strconv.Itoa(models.STATUS_DEL)).Find(&goodstype)
14
+	err := m.db.Where("status=?", models.STATUS_NOMAIL).And("case_id in ('" + strings.Replace(caseids, ",", "','", -1) + "')").Find(&goodstype)
16 15
 	return len(goodstype), err
17 16
 }
18 17
 
19 18
 // GetGoodsType 根据案场获取商品类型
20 19
 func (m *GoodsDAO) GetGoodsType(caseids string, page int, pageSize int) ([]model.TdGoodsType, error) {
21 20
 	var goodstype []model.TdGoodsType
22
-	err := m.db.Where("status > "+strconv.Itoa(models.STATUS_DEL)).And("case_id in ('"+strings.Replace(caseids, ",", "','", -1)+"')").Limit(pageSize, page*pageSize).Desc("create_date").Find(&goodstype)
21
+	err := m.db.Where("status=?", models.STATUS_NOMAIL).And("case_id in ('"+strings.Replace(caseids, ",", "','", -1)+"')").Limit(pageSize, page*pageSize).Desc("create_date").Find(&goodstype)
23 22
 	return goodstype, err
24 23
 }
25 24
 
26 25
 // GetGoodsTypeByID 根据ID获取商品类型
27 26
 func (m *GoodsDAO) GetGoodsTypeByID(typeid string) (*model.TdGoodsType, error) {
28 27
 	var goodstype []model.TdGoodsType
29
-	err := m.db.Where("status > "+strconv.Itoa(models.STATUS_DEL)).And("type_id=?", typeid).Find(&goodstype)
28
+	err := m.db.Where("status=?", models.STATUS_NOMAIL).And("type_id=?", typeid).Find(&goodstype)
30 29
 	if err != nil {
31 30
 		return nil, err
32 31
 	}

+ 68
- 0
models/message/location.go View File

@@ -0,0 +1,68 @@
1
+package message
2
+
3
+import (
4
+	"spaceofcheng/services/models"
5
+	"spaceofcheng/services/models/model"
6
+	"spaceofcheng/services/utils"
7
+)
8
+
9
+const (
10
+	ISSYS = 1
11
+)
12
+
13
+// GetLocationList 获取位置字典
14
+func (m *MessageDAO) GetLocationList(issys, org_id string) ([]model.TdCmsImageLocation, error) {
15
+	var locations []model.TdCmsImageLocation
16
+	s := m.db.Where("status=?", models.STATUS_NOMAIL).And("org_id=?", org_id)
17
+	if issys != "" {
18
+		s = s.And("is_sys=?", issys)
19
+	}
20
+	err := s.Find(&locations)
21
+	return locations, err
22
+}
23
+
24
+// GetLocationById 根据ID获取明细
25
+func (m *MessageDAO) GetLocationById(id string) (*model.TdCmsImageLocation, error) {
26
+	var location []model.TdCmsImageLocation
27
+	err := m.db.Where("status=?", models.STATUS_NOMAIL).And("location_id=?", id).Find(&location)
28
+	if err != nil {
29
+		return nil, err
30
+	}
31
+	return &location[0], nil
32
+}
33
+
34
+// AddLocation 新增
35
+func (m *MessageDAO) AddLocation(location model.TdCmsImageLocation) (*model.TdCmsImageLocation, error) {
36
+	location.LocationId = utils.GetGUID()
37
+	location.Status = models.STATUS_NOMAIL
38
+	location.IsSys = ISSYS
39
+	_, err := m.db.Insert(&location)
40
+	return &location, err
41
+}
42
+
43
+// UpdateLocation 修改
44
+func (m *MessageDAO) UpdateLocation(location model.TdCmsImageLocation) error {
45
+	var cols = []string{
46
+		"location_name",
47
+		"location_code",
48
+		"title",
49
+		"consult",
50
+		"type_img",
51
+		"order_no",
52
+	}
53
+	_, err := m.db.Cols(cols...).Where("location_id=?", location.LocationId).Update(location)
54
+	return err
55
+}
56
+
57
+// DelLocation 删除
58
+func (m *MessageDAO) DelLocation(location_id string) error {
59
+	var location = model.TdCmsImageLocation{
60
+		LocationId: location_id,
61
+		Status:     models.STATUS_DEL,
62
+	}
63
+	var cols = []string{
64
+		"status",
65
+	}
66
+	_, err := m.db.Cols(cols...).Where("location_id=?", location.LocationId).Update(location)
67
+	return err
68
+}

+ 21
- 0
models/message/message.go View File

@@ -0,0 +1,21 @@
1
+package message
2
+
3
+import (
4
+	"spaceofcheng/services/utils"
5
+
6
+	"github.com/go-xorm/xorm"
7
+)
8
+
9
+// MessageDAO 当前数据库操作对象
10
+type MessageDAO struct {
11
+	ctx *utils.Context
12
+	db  *xorm.Session
13
+}
14
+
15
+// NewMessageDAO New Inst
16
+func NewMessageDAO(ctx *utils.Context) *MessageDAO {
17
+	return &MessageDAO{
18
+		ctx: ctx,
19
+		db:  ctx.DB,
20
+	}
21
+}

+ 12
- 13
models/model/sys_user.go View File

@@ -5,17 +5,16 @@ import (
5 5
 )
6 6
 
7 7
 type SysUser struct {
8
-	UserId       string    `xorm:"not null pk VARCHAR(64)"`
9
-	UserName     string    `xorm:"not null VARCHAR(50)"`
10
-	RealName     string    `xorm:"VARCHAR(50)"`
11
-	Pwd          string    `xorm:"VARCHAR(500)"`
12
-	OrgId        string    `xorm:"VARCHAR(64)"`
13
-	Sex          int       `xorm:"SMALLINT(6)"`
14
-	WorkNo       string    `xorm:"VARCHAR(100)"`
15
-	Email        string    `xorm:"VARCHAR(100)"`
16
-	Phone        string    `xorm:"VARCHAR(100)"`
17
-	Status       int       `xorm:"SMALLINT(6)"`
18
-	CreateDate   time.Time `xorm:"DATETIME"`
19
-	Headimgurl   string    `xorm:"TEXT"`
20
-	UserTypeName string    `xorm:"VARCHAR(500)"`
8
+	UserId     string    `xorm:"not null pk VARCHAR(64)"`
9
+	UserName   string    `xorm:"not null VARCHAR(50)"`
10
+	RealName   string    `xorm:"VARCHAR(50)"`
11
+	Pwd        string    `xorm:"VARCHAR(500)"`
12
+	OrgId      string    `xorm:"VARCHAR(64)"`
13
+	Sex        int       `xorm:"SMALLINT(6)"`
14
+	WorkNo     string    `xorm:"VARCHAR(100)"`
15
+	Email      string    `xorm:"VARCHAR(100)"`
16
+	Phone      string    `xorm:"VARCHAR(100)"`
17
+	Status     int       `xorm:"SMALLINT(6)"`
18
+	CreateDate time.Time `xorm:"DATETIME"`
19
+	Headimgurl string    `xorm:"TEXT"`
21 20
 }

+ 1
- 0
models/model/td_cms_image_location.go View File

@@ -10,4 +10,5 @@ type TdCmsImageLocation struct {
10 10
 	IsSys        int    `xorm:"TINYINT(1)"`
11 11
 	TypeImg      string `xorm:"TEXT"`
12 12
 	Status       int    `xorm:"SMALLINT(6)"`
13
+	OrderNo      int    `xorm:"SMALLINT(6)"`
13 14
 }

+ 0
- 5
models/models.go View File

@@ -10,11 +10,6 @@ var (
10 10
 	DBEngine *xorm.Engine
11 11
 )
12 12
 
13
-const (
14
-	STATUS_NOMAIL = 1
15
-	STATUS_DEL    = -1
16
-)
17
-
18 13
 func init() {
19 14
 	DBEngine = NewDBEngine()
20 15
 }

+ 56
- 6
models/system/user.go View File

@@ -28,17 +28,67 @@ func NewUserDAO(ctx *utils.Context) *UserDAO {
28 28
 	}
29 29
 }
30 30
 
31
+type UserListInfo struct {
32
+	model.SysUser `xorm:"extends"`
33
+	UserTypeNames string
34
+}
35
+
31 36
 // GetUserList 用户列表
32
-func (m *UserDAO) GetUserList(username, typeid, caseids string, page int, pageSize int) ([]model.SysUser, error) {
33
-	var users []model.SysUser
34
-	userDAO := m.db.Where(`(status> `+strconv.Itoa(models.STATUS_DEL)+` and user_name like '%?%' and user_id in 
35
-		(select user_id from sys_user_tag a inner join sys_tag_case b on a.tag_id=b.tag_id where b.case_id in ('?')))`, username, strings.Replace(caseids, ",", "','", -1))
37
+func (m *UserDAO) GetUserList(username, typeid, caseids string, page int, pageSize int) ([]UserListInfo, error) {
38
+	var users []UserListInfo
39
+	sql := `select user.*,c.user_type_names from sys_user user left join (
40
+		select a.user_id,GROUP_CONCAT(b.type_name) as user_type_names from sys_user_type a
41
+		INNER join td_user_type b on a.type_id = b.type_id
42
+		group by a.user_id) c on user.user_id = c.user_id where 
43
+		(status> ` + strconv.Itoa(models.STATUS_DEL) + ` and user_name like '%` + username + `%' and user_id in 
44
+		(select user_id from sys_user_tag a inner join sys_tag_case b on a.tag_id=b.tag_id where b.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `')))`
36 45
 
37 46
 	if typeid != "" {
38
-		userDAO.In("user_id", builder.Select("user_id").From("sys_user_type").Where(builder.Eq{"type_id": typeid}))
47
+		sql = sql + " and user_id in (select user_id from sys_user_type where type_id = '" + typeid + "')"
39 48
 	}
40
-	err := userDAO.Limit(pageSize, page*pageSize).Desc("create_date").Find(&users)
49
+
50
+	sql = sql + " order by create_date desc limit " + strconv.Itoa(page*pageSize) + ", " + strconv.Itoa((page+1)*pageSize)
51
+
52
+	err := m.db.Sql(sql).Find(&users)
41 53
 	return users, err
54
+
55
+	// var users []model.SysUser
56
+	// userDAO := m.db.Where(`(status> `+strconv.Itoa(models.STATUS_DEL)+` and user_name like '%?%' and user_id in
57
+	// 	(select user_id from sys_user_tag a inner join sys_tag_case b on a.tag_id=b.tag_id where b.case_id in ('?')))`, username, strings.Replace(caseids, ",", "','", -1))
58
+
59
+	// if typeid != "" {
60
+	// 	userDAO.In("user_id", builder.Select("user_id").From("sys_user_type").Where(builder.Eq{"type_id": typeid}))
61
+	// }
62
+	// err := userDAO.Limit(pageSize, page*pageSize).Desc("create_date").Find(&users)
63
+	// return users, err
64
+}
65
+
66
+// GetUserCount 用户列表count
67
+func (m *UserDAO) GetUserCount(username, typeid, caseids string) (int, error) {
68
+	// var users []model.SysUser
69
+	// userDAO := m.db.Where(`(status> `+strconv.Itoa(models.STATUS_DEL)+` and user_name like '%?%' and user_id in
70
+	// 	(select user_id from sys_user_tag a inner join sys_tag_case b on a.tag_id=b.tag_id where b.case_id in ('?')))`, username, strings.Replace(caseids, ",", "','", -1))
71
+
72
+	// if typeid != "" {
73
+	// 	userDAO.In("user_id", builder.Select("user_id").From("sys_user_type").Where(builder.Eq{"type_id": typeid}))
74
+	// }
75
+	// err := userDAO.Find(&users)
76
+	var users []UserListInfo
77
+	sql := `select user.*,c.user_type_names from sys_user user left join (
78
+		select a.user_id,GROUP_CONCAT(b.type_name) as user_type_names from sys_user_type a
79
+		INNER join td_user_type b on a.type_id = b.type_id
80
+		group by a.user_id) c on user.user_id = c.user_id where 
81
+		(status> ` + strconv.Itoa(models.STATUS_DEL) + ` and user_name like '%` + username + `%' and user_id in 
82
+		(select user_id from sys_user_tag a inner join sys_tag_case b on a.tag_id=b.tag_id where b.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `')))`
83
+
84
+	if typeid != "" {
85
+		sql = sql + " and user_id in (select user_id from sys_user_type where type_id = '" + typeid + "')"
86
+	}
87
+	err := m.db.Sql(sql).Find(&users)
88
+	if err != nil {
89
+		return 0, err
90
+	}
91
+	return len(users), nil
42 92
 }
43 93
 
44 94
 // UserInfo 用户详情

+ 31
- 0
service/message/location.go View File

@@ -0,0 +1,31 @@
1
+package message
2
+
3
+import "spaceofcheng/services/models/model"
4
+
5
+// GetLocationList 获取列表
6
+func (s *MessageServ) GetLocationList(issys, orgid string) ([]model.TdCmsImageLocation, error) {
7
+	list, err := s.dao.GetLocationList(issys, orgid)
8
+	return list, err
9
+}
10
+
11
+// GetLocationByID 获取详细信息
12
+func (s *MessageServ) GetLocationByID(id string) (*model.TdCmsImageLocation, error) {
13
+	location, err := s.dao.GetLocationById(id)
14
+	return location, err
15
+}
16
+
17
+// SaveLocation 保存
18
+func (s *MessageServ) SaveLocation(location model.TdCmsImageLocation) (*model.TdCmsImageLocation, error) {
19
+	if location.LocationId == "" {
20
+		newlocation, err := s.dao.AddLocation(location)
21
+		return newlocation, err
22
+	}
23
+	err := s.dao.UpdateLocation(location)
24
+	return &location, err
25
+}
26
+
27
+// DelLocation 删除
28
+func (s *MessageServ) DelLocation(locationID string) error {
29
+	err := s.dao.DelLocation(locationID)
30
+	return err
31
+}

+ 20
- 0
service/message/message.go View File

@@ -0,0 +1,20 @@
1
+package message
2
+
3
+import (
4
+	"spaceofcheng/services/models/message"
5
+	"spaceofcheng/services/utils"
6
+)
7
+
8
+// MessageServ 系统处理
9
+type MessageServ struct {
10
+	ctx *utils.Context
11
+	dao *message.MessageDAO
12
+}
13
+
14
+// NewMessageServ 初始化
15
+func NewMessageServ(ctx *utils.Context) *MessageServ {
16
+	return &MessageServ{
17
+		ctx: ctx,
18
+		dao: message.NewMessageDAO(ctx),
19
+	}
20
+}

+ 27
- 12
service/user.go View File

@@ -31,12 +31,25 @@ func NewUserServ(ctx *utils.Context) *UserServ {
31 31
 }
32 32
 
33 33
 // GetUserList 获取用户列表
34
-func (s *UserServ) GetUserList(username, typeid, caseids string, page int, pageSize int) ([]model.SysUser, error) {
34
+func (s *UserServ) GetUserList(username, typeid, caseids string, page int, pageSize int) (map[string]interface{}, error) {
35 35
 	if pageSize == 0 {
36 36
 		pageSize = PAGENUM
37 37
 	}
38 38
 	userList, err := s.dao.GetUserList(username, typeid, caseids, page, pageSize)
39
-	return userList, err
39
+	if err != nil {
40
+		return nil, err
41
+	}
42
+	total, err := s.dao.GetUserCount(username, typeid, caseids)
43
+	if err != nil {
44
+		return nil, err
45
+	}
46
+
47
+	return map[string]interface{}{
48
+		"list":     userList,
49
+		"pagesize": pageSize,
50
+		"pagenum":  total,
51
+		"page":     page,
52
+	}, nil
40 53
 }
41 54
 
42 55
 // GetUserByID 根据用户ID获取用户信息
@@ -45,6 +58,7 @@ func (s *UserServ) GetUserByID(userid string) (*system.UserInfo, error) {
45 58
 	if err != nil {
46 59
 		return nil, err
47 60
 	}
61
+	userinfo.Pwd = ""
48 62
 	usertype, err := s.dao.GetUserType(userid)
49 63
 	if err != nil {
50 64
 		return nil, err
@@ -63,17 +77,17 @@ func (s *UserServ) GetUserByID(userid string) (*system.UserInfo, error) {
63 77
 	}
64 78
 	userinfo.UserCase = usercase
65 79
 
66
-	userrole, err := s.dao.GetUserRole(userid)
67
-	if err != nil {
68
-		return nil, err
69
-	}
70
-	userinfo.UserRole = userrole
80
+	// userrole, err := s.dao.GetUserRole(userid)
81
+	// if err != nil {
82
+	// 	return nil, err
83
+	// }
84
+	// userinfo.UserRole = userrole
71 85
 
72
-	usermenu, err := s.dao.GetUserMenu(userid)
73
-	if err != nil {
74
-		return nil, err
75
-	}
76
-	userinfo.UserMenu = usermenu
86
+	// usermenu, err := s.dao.GetUserMenu(userid)
87
+	// if err != nil {
88
+	// 	return nil, err
89
+	// }
90
+	// userinfo.UserMenu = usermenu
77 91
 
78 92
 	return userinfo, nil
79 93
 }
@@ -148,6 +162,7 @@ func (s *UserServ) SaveUser(user system.SysUserForm) (*model.SysUser, error) {
148 162
 	if err != nil {
149 163
 		return nil, err
150 164
 	}
165
+	newUSer.Pwd = ""
151 166
 	return newUSer, err
152 167
 }
153 168