zjxpcyc před 6 roky
rodič
revize
94866409d2

+ 1
- 1
conf/db.conf Zobrazit soubor

@@ -6,7 +6,7 @@ con_protocol = tcp
6 6
 
7 7
 ; 数据库地址,可以使用IP
8 8
 # db_addr      = 192.168.0.122
9
-db_addr      = rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com
9
+db_addr      = localhost
10 10
 
11 11
 ; 端口
12 12
 db_port      = 3306

+ 1306
- 0
log/common.log
Diff nebyl zobrazen, protože je příliš veliký
Zobrazit soubor


+ 2
- 0
models/card/card.go Zobrazit soubor

@@ -161,6 +161,7 @@ func (m *CardDAO) SaveCustomerCard(card *model.TaCustomerCard) error {
161 161
 	}
162 162
 
163 163
 	card.Status = models.STATUS_NORMAL
164
+	card.ReceiveDate = time.Now().Local()
164 165
 
165 166
 	if _, err := m.db.Insert(card); err != nil {
166 167
 		return err
@@ -177,6 +178,7 @@ func (m *CardDAO) SaveCustomerCards(cards []model.TaCustomerCard) error {
177 178
 		}
178 179
 
179 180
 		cards[i].Status = models.STATUS_USED
181
+		cards[i].ReceiveDate = time.Now()
180 182
 	}
181 183
 
182 184
 	if _, err := m.db.Insert(cards); err != nil {

+ 2
- 0
models/coupon/coupon.go Zobrazit soubor

@@ -209,6 +209,7 @@ func (m *CouponDAO) SaveCustomerCoupon(cp *model.TaCustomerCoupon) error {
209 209
 	}
210 210
 
211 211
 	cp.Status = models.STATUS_NORMAL
212
+	cp.ReceiveDate = time.Now().Local()
212 213
 
213 214
 	if _, err := m.db.Insert(cp); err != nil {
214 215
 		return err
@@ -225,6 +226,7 @@ func (m *CouponDAO) SaveCustomerCoupons(cps []model.TaCustomerCoupon) error {
225 226
 		}
226 227
 
227 228
 		cps[i].Status = models.STATUS_NORMAL
229
+		cps[i].ReceiveDate = time.Now().Local()
228 230
 	}
229 231
 
230 232
 	if _, err := m.db.Insert(cps); err != nil {

+ 17
- 10
models/course/course.go Zobrazit soubor

@@ -460,7 +460,7 @@ func (m *CourseDAO) GetSelectCourseList(orgid string) ([]CourseDetail, error) {
460 460
 	var courses []CourseDetail
461 461
 	sql := `select * from ta_course where is_select=` + strconv.Itoa(IS_SELECT) + ` and status=` + strconv.Itoa(models.STATUS_NORMAL) + ` and org_id='` + orgid + `'
462 462
 	and course_id NOT in (
463
-		select course_id from ta_course_detail where begin_date<=NOW()
463
+		select course_id from ta_course_detail where begin_date<=NOW() and status>` + strconv.Itoa(models.STATUS_DEL) + ` 
464 464
 	)`
465 465
 	err := m.db.Sql(sql).Find(&courses)
466 466
 	return courses, err
@@ -471,7 +471,7 @@ func (m *CourseDAO) GetCourseByLocation(orgid, locationid string) ([]CourseDetai
471 471
 	var courses []CourseDetail
472 472
 	sql := `select * from ta_course where status=` + strconv.Itoa(models.STATUS_NORMAL) + ` and org_id='` + orgid + `' and location_id ='` + locationid + `' 
473 473
 	and course_id NOT in (
474
-		select course_id from ta_course_detail where begin_date<=NOW()
474
+		select course_id from ta_course_detail where begin_date<=NOW() and status>` + strconv.Itoa(models.STATUS_DEL) + ` 
475 475
 	)`
476 476
 	err := m.db.Sql(sql).Find(&courses)
477 477
 	return courses, err
@@ -635,7 +635,7 @@ func (m *CourseDAO) GetSelectCourseWithCaseList(orgid string) ([]CourseWithCase,
635 635
 	sql := `select a.*,b.case_name,b.case_address from ta_course a inner join sys_case b on a.case_id=b.case_id where a.is_select=` + strconv.Itoa(IS_SELECT) + ` 
636 636
 	and a.status=` + strconv.Itoa(models.STATUS_NORMAL) + ` and a.org_id='` + orgid + `'
637 637
 	and a.course_id NOT in (
638
-		select course_id from ta_course_detail where begin_date<=NOW()
638
+		select course_id from ta_course_detail where begin_date<=NOW() and status>` + strconv.Itoa(models.STATUS_DEL) + ` 
639 639
 	)`
640 640
 	err := m.db.Sql(sql).Find(&courses)
641 641
 	return courses, err
@@ -647,18 +647,25 @@ func (m *CourseDAO) GetCourseWithCaseByLocation(orgid, locationid string) ([]Cou
647 647
 	sql := `select a.*,b.case_name,b.case_address from ta_course a inner join sys_case b on a.case_id=b.case_id where a.status=` + strconv.Itoa(models.STATUS_NORMAL) + ` 
648 648
 	and a.org_id='` + orgid + `' and a.location_id ='` + locationid + `' 
649 649
 	and a.course_id NOT in (
650
-		select course_id from ta_course_detail where begin_date<=NOW()
650
+		select course_id from ta_course_detail where begin_date<=NOW() and status>` + strconv.Itoa(models.STATUS_DEL) + ` 
651 651
 	)`
652 652
 	err := m.db.Sql(sql).Find(&courses)
653 653
 	return courses, err
654 654
 }
655 655
 
656
+// CourseWithType 可用课程
657
+type CourseWithType struct {
658
+	model.TaCourse `xorm:"extends"`
659
+	LocationName   string
660
+}
661
+
656 662
 // GetCourseCanUse 获取可用课程列表
657
-func (m *CourseDAO) GetCourseCanUse(caseids string, page, pageSize int) ([]model.TaCourse, error) {
658
-	var courses []model.TaCourse
659
-	sql := `select * from ta_course where status=? and case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') and course_id not in (
660
-		select course_id from ta_course_detail where begin_date<=NOW()
661
-	) order by create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
663
+func (m *CourseDAO) GetCourseCanUse(caseids string, page, pageSize int) ([]CourseWithType, error) {
664
+	var courses []CourseWithType
665
+	sql := `select a.*,b.location_name from ta_course a inner join td_cms_image_location b on a.location_id=b.location_id where a.status=? and 
666
+	a.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') and a.course_id not in (
667
+		select course_id from ta_course_detail where begin_date<=NOW() and status>` + strconv.Itoa(models.STATUS_DEL) + ` 
668
+	) order by a.create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
662 669
 	err := m.db.Sql(sql, models.STATUS_NORMAL).Find(&courses)
663 670
 	// err := m.db.Where("status=?", models.STATUS_NORMAL).And("case_id in ('"+strings.Replace(caseids, ",", "','", -1)+"')").And("begin_date>NOW()").Desc("create_date").Limit(pageSize, (page-1)*pageSize).Find(&courses)
664 671
 	return courses, err
@@ -668,7 +675,7 @@ func (m *CourseDAO) GetCourseCanUse(caseids string, page, pageSize int) ([]model
668 675
 func (m *CourseDAO) GetCourseCanUseCount(caseids string) (int, error) {
669 676
 	var courses []model.TaCourse
670 677
 	sql := `select * from ta_course where status=? and case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') and course_id not in (
671
-		select course_id from ta_course_detail where begin_date<=NOW()
678
+		select course_id from ta_course_detail where begin_date<=NOW() and status>` + strconv.Itoa(models.STATUS_DEL) + ` 
672 679
 	)`
673 680
 	err := m.db.Sql(sql, models.STATUS_NORMAL).Find(&courses)
674 681
 	// err := m.db.Where("status=?", models.STATUS_NORMAL).And("case_id in ('" + strings.Replace(caseids, ",", "','", -1) + "')").And("begin_date>NOW()").Find(&courses)

+ 5
- 1
models/course/order.go Zobrazit soubor

@@ -62,5 +62,9 @@ func (m *CourseDAO) SaveOrdersCoupon(coupon *model.TaCourseOrdersCoupon, order *
62 62
 	if _, err := m.db.Insert(coupon); err != nil {
63 63
 		return err
64 64
 	}
65
-	return nil
65
+
66
+	// 更新优惠券已使用信息
67
+	sql := `update ta_coupon set used_count=used_count+1 where coupon_id='` + coupon.CouponId + `'`
68
+	_, err := m.db.Exec(sql)
69
+	return err
66 70
 }

+ 6
- 1
models/goods/orders.go Zobrazit soubor

@@ -85,6 +85,11 @@ func (m *GoodsDAO) SaveOrdersCoupon(coupon *model.TaGoodsOrdersCoupon, order *mo
85 85
 		return err
86 86
 	}
87 87
 
88
+	// 更新优惠券已使用信息
89
+	sql := `update ta_coupon set used_count=used_count+1 where coupon_id='` + coupon.CouponId + `'`
90
+	_, err := m.db.Exec(sql)
91
+	return err
92
+
88 93
 	// var couponAmount float64 = 0
89 94
 
90 95
 	// // 补充优惠券表字段
@@ -117,7 +122,7 @@ func (m *GoodsDAO) SaveOrdersCoupon(coupon *model.TaGoodsOrdersCoupon, order *mo
117 122
 	// 	return err
118 123
 	// }
119 124
 
120
-	return nil
125
+	// return nil
121 126
 }
122 127
 
123 128
 func (m *GoodsDAO) getCaseByID(caseID string) (*model.SysCase, error) {

+ 9
- 9
models/message/cmscase.go Zobrazit soubor

@@ -23,11 +23,11 @@ const (
23 23
 )
24 24
 
25 25
 // GetCmsCaseList 获取项目专题列表
26
-func (m *MessageDAO) GetCmsCaseList(name, caseids string, page int, pageSize int) ([]CmsCaseInfo, error) {
26
+func (m *MessageDAO) GetCmsCaseList(name, caseids, userid string, page int, pageSize int) ([]CmsCaseInfo, error) {
27 27
 	var cases []CmsCaseInfo
28
-	sql := `select a.*,b.case_name from ta_cms_case a inner join sys_case b on a.case_id = b.case_id 
29
-	where a.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') and a.name like '%` + name + `%' and a.status > ` + strconv.Itoa(models.STATUS_DEL) + `
30
-	and b.status > ` + strconv.Itoa(models.STATUS_DEL) + `
28
+	sql := `select a.*, (case when a.case_id='all' then '所有案场' else b.case_name end) case_name from ta_cms_case a LEFT join sys_case b on a.case_id = b.case_id 
29
+	where (a.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') OR (a.create_user='` + userid + `' and a.case_id='all')) and a.name like '%` + name + `%' and a.status > ` + strconv.Itoa(models.STATUS_DEL) + `
30
+	and (b.status > ` + strconv.Itoa(models.STATUS_DEL) + ` or a.case_id='all')
31 31
 	order by create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
32 32
 	err := m.db.Sql(sql).Find(&cases)
33 33
 	return cases, err
@@ -43,11 +43,11 @@ func (m *MessageDAO) GetCmsCaseByOrg(orgid string) ([]CmsCase, error) {
43 43
 }
44 44
 
45 45
 // GetCmsCaseListCount 获取项目专题Count
46
-func (m *MessageDAO) GetCmsCaseListCount(name, caseids string) (int, error) {
46
+func (m *MessageDAO) GetCmsCaseListCount(name, caseids, userid string) (int, error) {
47 47
 	var cases []CmsCaseInfo
48
-	sql := `select a.*,b.case_name from ta_cms_case a inner join sys_case b on a.case_id = b.case_id 
49
-	where a.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') and a.name like '%` + name + `%' 
50
-	and a.status > ` + strconv.Itoa(models.STATUS_DEL) + ` and b.status > ` + strconv.Itoa(models.STATUS_DEL)
48
+	sql := `select a.*, (case when a.case_id='all' then '所有案场' else b.case_name end) case_name from ta_cms_case a LEFT join sys_case b on a.case_id = b.case_id 
49
+	where(a.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') OR (a.create_user='` + userid + `' and a.case_id='all')) and a.name like '%` + name + `%' 
50
+	and a.status > ` + strconv.Itoa(models.STATUS_DEL) + ` and (b.status > ` + strconv.Itoa(models.STATUS_DEL) + ` or a.case_id='all')`
51 51
 
52 52
 	err := m.db.Sql(sql).Find(&cases)
53 53
 	if err != nil {
@@ -67,7 +67,7 @@ type CmsCase struct {
67 67
 // GetCmsCaseByID 获取项目专题详情
68 68
 func (m *MessageDAO) GetCmsCaseByID(cmscaseid string) (*CmsCase, error) {
69 69
 	var cases []CmsCase
70
-	sql := `select a.*,b.case_address from ta_cms_case a inner join sys_case b on a.case_id=b.case_id where a.cms_case_id='` + cmscaseid + `' and b.status>` + strconv.Itoa(models.STATUS_DEL) + ` and a.status>` + strconv.Itoa(models.STATUS_DEL)
70
+	sql := `select a.*,b.case_address from ta_cms_case a left join sys_case b on a.case_id=b.case_id where a.cms_case_id='` + cmscaseid + `' and (b.status>` + strconv.Itoa(models.STATUS_DEL) + ` or a.case_id='all') and a.status>` + strconv.Itoa(models.STATUS_DEL)
71 71
 	err := m.db.Sql(sql).Find(&cases)
72 72
 	if err != nil {
73 73
 		beego.Error(err)

+ 1
- 1
models/models.go Zobrazit soubor

@@ -20,7 +20,7 @@ func NewDBEngine() *xorm.Engine {
20 20
 	dns := getMySQLDNS()
21 21
 
22 22
 	engine, err := xorm.NewEngine(dbType, dns)
23
-	engine.ShowSQL()
23
+	// engine.ShowSQL()
24 24
 
25 25
 	if err != nil {
26 26
 		panic(err)

+ 0
- 1
models/statistics/dashboard.go Zobrazit soubor

@@ -343,7 +343,6 @@ func (m *StatisticsDAO) GetGoodsWithTypeDaily(orgID string, caseIDs []string) ([
343 343
 	}
344 344
 
345 345
 	sql += ` group by t.dt, s.type_name`
346
-
347 346
 	var res []StaCommGroupData
348 347
 	if err := m.db.SQL(sql).Find(&res); err != nil {
349 348
 		return nil, err

+ 4
- 3
models/system/user.go Zobrazit soubor

@@ -342,14 +342,15 @@ func (m *UserDAO) UpdateCustomerHeadImg(customerid, username, imgurl string) err
342 342
 // GetUserCustomer 获取我的推荐客户
343 343
 func (m *UserDAO) GetUserCustomer(userid, isrecommend, key string, page int, pageSize int) ([]model.TaCustomer, error) {
344 344
 	var customers []model.TaCustomer
345
-	sql := `select * from ta_customer where recommend_id='` + userid + `'`
346
-	if isrecommend == "" {
347
-		sql += ` and customer_id in (
345
+	sql := `select * from ta_customer where (recommend_id='` + userid + `'`
346
+	if isrecommend == "" || isrecommend == "false" {
347
+		sql += ` or customer_id in (
348 348
 			select customer_id from ta_customer_coupon where sales_id='` + userid + `'
349 349
 			union 
350 350
 			select customer_id from ta_customer_card where sales_id='` + userid + `'
351 351
 		)`
352 352
 	}
353
+	sql += ")"
353 354
 	if key != "" {
354 355
 		sql += ` and (customer_name like '%` + key + `%' or phone like '%` + key + `%' or name like '%` + key + `%')`
355 356
 	}

+ 10
- 2
service/card/card.go Zobrazit soubor

@@ -97,6 +97,8 @@ func (s *CardServ) SaveCard(cd *card.CardInfo) error {
97 97
 
98 98
 	// 保存主信息
99 99
 	cardMain := cd.TaCouponCard
100
+	org := s.ctx.Get("org").(model.SysOrg)
101
+	cardMain.OrgId = org.OrgId
100 102
 	if err := s.dao.AddCard(&cardMain); err != nil {
101 103
 		utils.LogError("保存卡失败: " + err.Error())
102 104
 		return errors.New("保存卡失败")
@@ -146,7 +148,7 @@ func (s *CardServ) UpdateCard(cd *card.CardInfo) error {
146 148
 
147 149
 	// 更新主信息
148 150
 	cardMain := cd.TaCouponCard
149
-	if err := s.dao.UpdateCard(&cardMain, []string{"Card_name"}); err != nil {
151
+	if err := s.dao.UpdateCard(&cardMain, []string{"card_name"}); err != nil {
150 152
 		utils.LogError("更新卡失败: " + err.Error())
151 153
 		return errors.New("更新卡失败")
152 154
 	}
@@ -160,7 +162,7 @@ func (s *CardServ) UpdateCard(cd *card.CardInfo) error {
160 162
 	// 更新分享
161 163
 	share := cd.Share
162 164
 	share.CardId = cd.CardId
163
-	cols := []string{"Card_share_info", "use_rule", "use_instruction"}
165
+	cols := []string{"card_share_info", "use_rule", "use_instruction"}
164 166
 	if err := s.dao.UpdateCardShare(share, cols); err != nil {
165 167
 		utils.LogError("更新卡分享失败: " + err.Error())
166 168
 		return errors.New("更新卡分享失败")
@@ -315,9 +317,11 @@ func (s *CardServ) GiveCardTo(from *model.SysUser, to *model.TaCustomer, card *c
315 317
 	var cardinfo = model.TaCouponCard{
316 318
 		CardId:    card.CardId,
317 319
 		SentCount: card.SentCount + 1,
320
+		UsedCount: card.UsedCount + 1,
318 321
 	}
319 322
 	cols := []string{
320 323
 		"sent_count",
324
+		"used_count",
321 325
 	}
322 326
 	if err := s.dao.UpdateCard(&cardinfo, cols); err != nil {
323 327
 		utils.LogError("回填体验卡信息失败:", err)
@@ -515,8 +519,10 @@ func (s *CardServ) ReceiveCard(id, saleid, serialcode string) error {
515 519
 	}
516 520
 	// 回填体验卡信息
517 521
 	card.SentCount = card.SentCount + 1
522
+	card.UsedCount = card.UsedCount + 1
518 523
 	cols := []string{
519 524
 		"sent_count",
525
+		"used_count",
520 526
 	}
521 527
 	err = s.dao.UpdateCard(card, cols)
522 528
 	if err != nil {
@@ -642,8 +648,10 @@ func (s *CardServ) ChannelReceiveCard(id string) error {
642 648
 	}
643 649
 	// 回填体验卡信息
644 650
 	card.SentCount = card.SentCount + 1
651
+	card.UsedCount = card.UsedCount + 1
645 652
 	cols := []string{
646 653
 		"sent_count",
654
+		"used_count",
647 655
 	}
648 656
 	err = s.dao.UpdateCard(card, cols)
649 657
 	if err != nil {

+ 2
- 0
service/coupon/coupon.go Zobrazit soubor

@@ -92,6 +92,8 @@ func (s *CouponServ) SaveCoupon(cp *coupon.CouponInfo) error {
92 92
 
93 93
 	// 保存主信息
94 94
 	cpMain := cp.TaCoupon
95
+	org := s.ctx.Get("org").(model.SysOrg)
96
+	cpMain.OrgId = org.OrgId
95 97
 	if err := s.dao.SaveCoupon(&cpMain); err != nil {
96 98
 		utils.LogError("保存优惠券失败: " + err.Error())
97 99
 		return errors.New("保存优惠券失败")

+ 3
- 2
service/message/cmscase.go Zobrazit soubor

@@ -19,12 +19,13 @@ func (s *MessageServ) GetCmsCasesList(name, caseids string, page int, pageSize i
19 19
 	if page == 0 {
20 20
 		page = 1
21 21
 	}
22
-	infos, err := s.dao.GetCmsCaseList(name, caseids, page, pageSize)
22
+	user := s.ctx.Get("user").(model.SysUser)
23
+	infos, err := s.dao.GetCmsCaseList(name, caseids, user.UserId, page, pageSize)
23 24
 	if err != nil {
24 25
 		utils.LogError("获取项目列表失败: " + err.Error())
25 26
 		return nil, errors.New("获取项目列表失败")
26 27
 	}
27
-	total, err := s.dao.GetCmsCaseListCount(name, caseids)
28
+	total, err := s.dao.GetCmsCaseListCount(name, caseids, user.UserId)
28 29
 	if err != nil {
29 30
 		utils.LogError("获取项目列表失败: " + err.Error())
30 31
 		return nil, errors.New("获取项目列表失败")