123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- package members
-
- import (
- base_ctl "SCRM/controllers"
- "SCRM/enums"
- "SCRM/models"
- "SCRM/service/member_service"
- "time"
-
- "fmt"
-
- "github.com/astaxie/beego"
- "github.com/bwmarrin/snowflake"
- )
-
- func CardCtlRegistRouters() {
- beego.Router("/api/member/card/edit", &CardAPIController{}, "Put:EditMemberCard")
- }
-
- type CardAPIController struct {
- base_ctl.BaseAuthAPIController
- }
-
- func (c *CardAPIController) EditMemberCard() {
- id, _ := c.GetInt64("id", 0)
- if id <= 0 {
- c.ServeFailJsonSend(enums.ErrorCodeParamWrong, "参数错误:id")
- return
- }
- cardID, _ := c.GetInt64("card_id", 0)
- if cardID <= 0 { //设置为无卡
- cardID = 0
- }
- adminUserInfo := c.GetAdminUserInfo()
- timeNow := time.Now().Unix()
- member, err := member_service.GetOnlyMemberByID(adminUserInfo.CurrentOrgId, id)
- if err != nil {
- c.ServeFailJsonSend(enums.ErrorCodeDBUpdate, "设置会员卡失败:("+err.Error()+")")
- return
- }
- if member == nil {
- c.ServeFailJsonSend(enums.ErrorCodeDBUpdate, "设置会员卡失败:(会员记录不存在)")
- return
- }
-
- returnData := make(map[string]interface{}, 0)
- if cardID == 0 {
- err = member_service.DeleteUserCard(adminUserInfo.CurrentOrgId, id)
- if err != nil {
- c.ServeFailJsonSend(enums.ErrorCodeDBUpdate, "设置会员卡失败:("+err.Error()+")")
- return
- }
- returnData["user_card"] = nil
- } else {
-
- card, err := member_service.GetCardByID(adminUserInfo.CurrentOrgId, cardID)
- if err != nil {
- c.ServeFailJsonSend(enums.ErrorCodeDBUpdate, "设置会员卡失败:("+err.Error()+")")
- return
- }
- if card == nil {
- c.ServeFailJsonSend(enums.ErrorCodeDBUpdate, "设置会员卡失败:(会员卡不存在)")
- return
- }
-
- oldUserCard, err := member_service.GetUserCardByID(adminUserInfo.CurrentOrgId, id)
- if err != nil {
- c.ServeFailJsonSend(enums.ErrorCodeDBUpdate, "设置会员卡失败:("+err.Error()+")")
- return
- }
- var userCard models.UserCard
- if oldUserCard != nil {
- userCard = *oldUserCard
- } else {
- node, err := snowflake.NewNode(1)
- if err != nil {
- c.ServeFailJsonSend(enums.ErrorCodeDBUpdate, "设置会员卡失败:(生成卡号时出错)")
- return
- }
- cardNo := node.Generate()
-
- userCard.CardId = card.ID
- userCard.CardName = card.CardName
- userCard.CustomerId = id
- userCard.UserOrgId = adminUserInfo.CurrentOrgId
- userCard.CreatedTime = timeNow
- userCard.CardNo = fmt.Sprintf("%s", cardNo)
- }
-
- userCard.UpdatedTime = timeNow
- userCard.Status = 1
- err = member_service.SaveUserCard(&userCard, member)
- if err != nil {
- c.ServeFailJsonSend(enums.ErrorCodeDBUpdate, "设置会员卡失败:("+err.Error()+")")
- return
- }
- returnData["user_card"] = userCard
- returnData["member"] = member
- }
-
- c.ServeSuccessJSON(returnData)
- return
- }
|