体重修改
This commit is contained in:
parent
1898623537
commit
ee2b52ebf1
|
|
@ -130,8 +130,9 @@ var ServiceAddrMap map[int64]models.ServiceAddr
|
|||
var PetGoodsMap map[string][]models.PetGoods
|
||||
var GoodsMap map[int64]models.Goods
|
||||
var CarMap map[int]models.ServiceCar
|
||||
var ReserveMap map[string]models.ReserveTimeFilter
|
||||
var AddrServiceMap map[int64]models.AddrServiceTime
|
||||
|
||||
// var ReserveMap map[string]models.ReserveTimeFilter
|
||||
// var AddrServiceMap map[int64]models.AddrServiceTime
|
||||
var CouponsMap map[int]models.Coupons
|
||||
|
||||
func DataInit() {
|
||||
|
|
@ -143,7 +144,7 @@ func DataInit() {
|
|||
PetBaseInfoMapC1[value.Id] = value
|
||||
}
|
||||
PetBaseInfoMap = PetBaseInfoMapC1
|
||||
zap_server.ZAPLOG.Info("dataInit petBastInfoMap : ", zap.Any("petBastInfoMap", PetBaseInfoMap))
|
||||
//zap_server.ZAPLOG.Info("dataInit petBastInfoMap : ", zap.Any("petBastInfoMap", PetBaseInfoMap))
|
||||
//--------------------------------------------------服务地址数据---------------------------------------------------------
|
||||
var serviceAddrList []models.ServiceAddr
|
||||
database.Instance().Model(&models.ServiceAddr{}).Where("status = 1").Find(&serviceAddrList)
|
||||
|
|
@ -151,8 +152,8 @@ func DataInit() {
|
|||
for _, value := range serviceAddrList {
|
||||
ServiceAddrMapC1[value.Id] = value
|
||||
}
|
||||
ServiceAddrMap := ServiceAddrMapC1
|
||||
zap_server.ZAPLOG.Info("dataInit ServiceAddrMap : ", zap.Any("ServiceAddrMap", ServiceAddrMap))
|
||||
ServiceAddrMap = ServiceAddrMapC1
|
||||
//zap_server.ZAPLOG.Info("dataInit ServiceAddrMap : ", zap.Any("ServiceAddrMap", ServiceAddrMap))
|
||||
//--------------------------------------------------宠物商品关联数据---------------------------------------------------------
|
||||
var petGoodsList []models.PetGoods
|
||||
database.Instance().Model(&models.PetGoods{}).Where("status = 1").Find(&petGoodsList)
|
||||
|
|
@ -166,7 +167,7 @@ func DataInit() {
|
|||
}
|
||||
}
|
||||
PetGoodsMap = PetGoodsMapC1
|
||||
zap_server.ZAPLOG.Info("dataInit petGoodsMap : ", zap.Any("petGoodsMap", PetGoodsMap))
|
||||
//zap_server.ZAPLOG.Info("dataInit petGoodsMap : ", zap.Any("petGoodsMap", PetGoodsMap))
|
||||
//--------------------------------------------------商品数据---------------------------------------------------------
|
||||
var goodsList []models.Goods
|
||||
database.Instance().Model(&models.Goods{}).Where("status = 1").Find(&goodsList)
|
||||
|
|
@ -175,7 +176,7 @@ func DataInit() {
|
|||
GoodsMapC1[value.Id] = value
|
||||
}
|
||||
GoodsMap = GoodsMapC1
|
||||
zap_server.ZAPLOG.Info("dataInit GoodsMap : ", zap.Any("GoodsMap", GoodsMap))
|
||||
//zap_server.ZAPLOG.Info("dataInit GoodsMap : ", zap.Any("GoodsMap", GoodsMap))
|
||||
var carList []models.ServiceCar
|
||||
database.Instance().Model(&models.ServiceCar{}).Where("car_status = 1").Find(&carList)
|
||||
var CarMapC1 = make(map[int]models.ServiceCar)
|
||||
|
|
@ -183,23 +184,23 @@ func DataInit() {
|
|||
CarMapC1[value.Id] = value
|
||||
}
|
||||
CarMap = CarMapC1
|
||||
zap_server.ZAPLOG.Info("dataInit CarMap : ", zap.Any("CarMap", CarMap))
|
||||
var timesList []models.ReserveTimeFilter
|
||||
database.Instance().Model(&models.ReserveTimeFilter{}).Find(×List)
|
||||
var ReserveMapC1 = make(map[string]models.ReserveTimeFilter)
|
||||
for _, value := range timesList {
|
||||
ReserveMapC1[value.Content] = value
|
||||
}
|
||||
ReserveMap = ReserveMapC1
|
||||
zap_server.ZAPLOG.Info("dataInit ReserveMap : ", zap.Any("ReserveMap", ReserveMap))
|
||||
var serviceTimesList []models.AddrServiceTime
|
||||
database.Instance().Model(&models.AddrServiceTime{}).Find(&serviceTimesList)
|
||||
var AddrServiceMapC1 = make(map[int64]models.AddrServiceTime)
|
||||
for _, value := range serviceTimesList {
|
||||
AddrServiceMapC1[value.ServiceAddrId] = value
|
||||
}
|
||||
AddrServiceMap = AddrServiceMapC1
|
||||
zap_server.ZAPLOG.Info("dataInit AddrServiceMap : ", zap.Any("AddrServiceMap", AddrServiceMap))
|
||||
//zap_server.ZAPLOG.Info("dataInit CarMap : ", zap.Any("CarMap", CarMap))
|
||||
//var timesList []models.ReserveTimeFilter
|
||||
//database.Instance().Model(&models.ReserveTimeFilter{}).Find(×List)
|
||||
//var ReserveMapC1 = make(map[string]models.ReserveTimeFilter)
|
||||
//for _, value := range timesList {
|
||||
// ReserveMapC1[value.Content] = value
|
||||
//}
|
||||
//ReserveMap = ReserveMapC1
|
||||
//zap_server.ZAPLOG.Info("dataInit ReserveMap : ", zap.Any("ReserveMap", ReserveMap))
|
||||
//var serviceTimesList []models.AddrServiceTime
|
||||
//database.Instance().Model(&models.AddrServiceTime{}).Find(&serviceTimesList)
|
||||
//var AddrServiceMapC1 = make(map[int64]models.AddrServiceTime)
|
||||
//for _, value := range serviceTimesList {
|
||||
// AddrServiceMapC1[value.ServiceAddrId] = value
|
||||
//}
|
||||
//AddrServiceMap = AddrServiceMapC1
|
||||
//zap_server.ZAPLOG.Info("dataInit AddrServiceMap : ", zap.Any("AddrServiceMap", AddrServiceMap))
|
||||
var couponsList []models.Coupons
|
||||
database.Instance().Model(&models.Coupons{}).Where("status = 1 and expire_time > ?", time.Now().UnixNano()/int64(time.Millisecond)).Find(&couponsList)
|
||||
var CouponsMapC1 = make(map[int]models.Coupons)
|
||||
|
|
@ -207,7 +208,7 @@ func DataInit() {
|
|||
CouponsMapC1[value.Id] = value
|
||||
}
|
||||
CouponsMap = CouponsMapC1
|
||||
zap_server.ZAPLOG.Info("dataInit CouponsMap : ", zap.Any("Coupons", CouponsMap))
|
||||
//zap_server.ZAPLOG.Info("dataInit CouponsMap : ", zap.Any("Coupons", CouponsMap))
|
||||
}
|
||||
|
||||
func DataCacheJob() {
|
||||
|
|
|
|||
|
|
@ -55,15 +55,15 @@ func (p DefParty) goodsList() web_iris.Party {
|
|||
}
|
||||
//先取默认的商品
|
||||
key := "0" + strconv.Itoa(userPetInfo.PetBaseInfo.PetType) + "0" + "0"
|
||||
goodsList := getPetGoodsList(key)
|
||||
goodsList := GetPetGoodsList(key)
|
||||
key1 := strconv.Itoa(userPetInfo.PetBaseInfo.Id) + strconv.Itoa(userPetInfo.PetBaseInfo.PetType) + strconv.Itoa(userPetInfo.PetInfo.Weight) + "0"
|
||||
goodsList = append(goodsList, getPetGoodsList(key1)...)
|
||||
goodsList = append(goodsList, GetPetGoodsList(key1)...)
|
||||
key2 := strconv.Itoa(userPetInfo.PetBaseInfo.Id) + strconv.Itoa(userPetInfo.PetBaseInfo.PetType) + strconv.Itoa(userPetInfo.PetInfo.Weight) + strconv.Itoa(userPetInfo.PetBaseInfo.Hair)
|
||||
goodsList = append(goodsList, getPetGoodsList(key2)...)
|
||||
goodsList = append(goodsList, GetPetGoodsList(key2)...)
|
||||
key3 := "0" + strconv.Itoa(userPetInfo.PetBaseInfo.PetType) + strconv.Itoa(userPetInfo.PetInfo.Weight) + strconv.Itoa(userPetInfo.PetBaseInfo.Hair)
|
||||
goodsList = append(goodsList, getPetGoodsList(key3)...)
|
||||
goodsList = append(goodsList, GetPetGoodsList(key3)...)
|
||||
key4 := "0" + strconv.Itoa(userPetInfo.PetBaseInfo.PetType) + strconv.Itoa(userPetInfo.PetInfo.Weight) + "0"
|
||||
goodsList = append(goodsList, getPetGoodsList(key4)...)
|
||||
goodsList = append(goodsList, GetPetGoodsList(key4)...)
|
||||
var goodsT1 []GoodsDetail
|
||||
var goodsT2 []GoodsDetail
|
||||
var goodsT3 []GoodsDetail
|
||||
|
|
@ -110,11 +110,14 @@ func (p DefParty) goodsList() web_iris.Party {
|
|||
}}
|
||||
}
|
||||
|
||||
func getPetGoodsList(key string) []GoodsDetail {
|
||||
func GetPetGoodsList(key string) []GoodsDetail {
|
||||
var goodsList []GoodsDetail
|
||||
baseGoodsList := PetGoodsMap[key]
|
||||
for _, value := range baseGoodsList {
|
||||
goods := GoodsMap[value.GoodsId]
|
||||
if goods.Id == 0 {
|
||||
continue
|
||||
}
|
||||
goodsDetail := GoodsDetail{
|
||||
Id: goods.Id,
|
||||
Name: goods.Name,
|
||||
|
|
|
|||
|
|
@ -4,23 +4,27 @@ import (
|
|||
"encoding/json"
|
||||
"github.com/kataras/iris/v12"
|
||||
"github.com/kataras/iris/v12/context"
|
||||
"go.uber.org/zap"
|
||||
"io"
|
||||
"pet-house.com/business/models"
|
||||
"pet-house.com/business/utils"
|
||||
"pet-house.com/core/server/database"
|
||||
"pet-house.com/core/server/web/web_iris"
|
||||
"pet-house.com/core/server/zap_server"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
var CatWeightMap = map[int]string{
|
||||
1: "0-1.5kg",
|
||||
2: "1.5-3kg",
|
||||
2: "0-3kg",
|
||||
3: "3-5kg",
|
||||
4: "5-8kg",
|
||||
//5: "8kg以上",
|
||||
6: "8kg以上",
|
||||
}
|
||||
var DogWeightMap = map[int]string{
|
||||
1: "0-3kg",
|
||||
1: "0-5kg",
|
||||
2: "3-6kg",
|
||||
3: "6-9kg",
|
||||
3: "5-9kg",
|
||||
4: "9-13kg",
|
||||
5: "13-18kg",
|
||||
6: "18-22kg",
|
||||
|
|
@ -145,7 +149,7 @@ func (p DefParty) petAddOrEdit() web_iris.Party {
|
|||
} else {
|
||||
pet.Id = petAddOrEditRequest.Id
|
||||
var userPetInfo models.Pet
|
||||
database.Instance().Model(&models.Pet{}).Where("id = ? and uid = ?", pet.Id, headerBaseInfo.Uid).Find(&userPetInfo)
|
||||
database.Instance().Model(&models.Pet{}).Where("id = ?", pet.Id).Find(&userPetInfo)
|
||||
var userInfo *models.User
|
||||
database.Instance().Model(&models.User{}).Where("id = ?", headerBaseInfo.Uid).Find(&userInfo)
|
||||
if userPetInfo.Id == 0 && userInfo.Role == 0 {
|
||||
|
|
@ -159,6 +163,83 @@ func (p DefParty) petAddOrEdit() web_iris.Party {
|
|||
PetInfoNotUpdateError.Fail(ctx, petAddOrEditRequest)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
if userPetInfo.Weight != pet.Weight {
|
||||
//护理人员修改体重,需要更新对应的服务项目
|
||||
var orderMainList []models.OrderMain
|
||||
database.Instance().Model(&models.OrderMain{}).Where("uid = ? and order_status in (1,2)", userPetInfo.Uid).Find(&orderMainList)
|
||||
for _, orderMain := range orderMainList {
|
||||
if orderMain.PayStatus == 1 {
|
||||
continue
|
||||
}
|
||||
var orderSubList []models.OrderSub
|
||||
database.Instance().Model(&models.OrderSub{}).Where("main_order_id = ? ", orderMain.OrderId).Find(&orderSubList)
|
||||
for orderSubIndex, orderSub := range orderSubList {
|
||||
var orderDetailList []models.OrderDetail
|
||||
database.Instance().Model(&models.OrderDetail{}).Where("sub_order_id = ? ", orderSub.OrderId).Find(&orderDetailList)
|
||||
for orderDetailIndex, orderDetail := range orderDetailList {
|
||||
var newGoodsDetail GoodsDetail
|
||||
orderGoods := GoodsMap[orderDetail.GoodsId]
|
||||
var goodsList []GoodsDetail
|
||||
petBaseInfo := PetBaseInfoMap[userPetInfo.PetId]
|
||||
key1 := strconv.Itoa(petBaseInfo.Id) + strconv.Itoa(petBaseInfo.PetType) + strconv.Itoa(pet.Weight) + "0"
|
||||
goodsList = append(goodsList, GetPetGoodsList(key1)...)
|
||||
key2 := strconv.Itoa(petBaseInfo.Id) + strconv.Itoa(petBaseInfo.PetType) + strconv.Itoa(pet.Weight) + strconv.Itoa(petBaseInfo.Hair)
|
||||
goodsList = append(goodsList, GetPetGoodsList(key2)...)
|
||||
key3 := "0" + strconv.Itoa(petBaseInfo.PetType) + strconv.Itoa(pet.Weight) + strconv.Itoa(petBaseInfo.Hair)
|
||||
goodsList = append(goodsList, GetPetGoodsList(key3)...)
|
||||
key4 := "0" + strconv.Itoa(petBaseInfo.PetType) + strconv.Itoa(pet.Weight) + "0"
|
||||
goodsList = append(goodsList, GetPetGoodsList(key4)...)
|
||||
for _, goodsDetail := range goodsList {
|
||||
//取同名称 同类型 同子类型的商品
|
||||
if goodsDetail.Name == orderGoods.Name && goodsDetail.GoodsType == orderGoods.GoodsType && goodsDetail.GoodsSubType == orderGoods.GoodsSubType {
|
||||
zap_server.ZAPLOG.Info("更新体重命中的商品", zap.Any("原价", orderGoods.Price), zap.Any("Name", goodsDetail.Name), zap.Any("Price", goodsDetail.Price), zap.Any("GoodsType", goodsDetail.GoodsType), zap.Any("GoodsSubType", goodsDetail.GoodsSubType))
|
||||
newGoodsDetail = goodsDetail
|
||||
break
|
||||
}
|
||||
}
|
||||
if newGoodsDetail.Id > 0 {
|
||||
zap_server.ZAPLOG.Info("订单更新前", zap.Any("orderDetailId", orderDetail.SubOrderId), zap.Any("GoodsId", orderDetail.GoodsId), zap.Any("Amount", orderDetail.Amount), zap.Any("DiscountAmount", orderDetail.DiscountAmount))
|
||||
//更新订单商品
|
||||
orderDetail.GoodsId = newGoodsDetail.Id
|
||||
orderDetail.Amount = newGoodsDetail.Price
|
||||
orderDetail.DiscountAmount = int(utils.RoundToOneDecimalPlace(float64(orderDetail.Amount)*(float64(orderDetail.Discount)/100.0)) * 10)
|
||||
zap_server.ZAPLOG.Info("商品订单更新后", zap.Any("orderDetailId", orderDetail.SubOrderId), zap.Any("GoodsId", orderDetail.GoodsId), zap.Any("Amount", orderDetail.Amount), zap.Any("DiscountAmount", orderDetail.DiscountAmount))
|
||||
database.Instance().Model(&orderDetail).Updates(&orderDetail)
|
||||
orderDetailList[orderDetailIndex] = orderDetail
|
||||
}
|
||||
}
|
||||
var totalAmount = 0
|
||||
var goodsOriginAmount = 0
|
||||
var goodsDiscountAmount = 0
|
||||
for _, orderDetail := range orderDetailList {
|
||||
if orderDetail.DiscountAmount > 0 {
|
||||
goodsDiscountAmount = goodsDiscountAmount + orderDetail.DiscountAmount
|
||||
} else {
|
||||
goodsOriginAmount = goodsOriginAmount + orderDetail.Amount
|
||||
}
|
||||
totalAmount = totalAmount + orderDetail.Amount
|
||||
}
|
||||
zap_server.ZAPLOG.Info("子订单更新前", zap.Any("orderSubId", orderSub.OrderId), zap.Any("goodsOriginAmount", orderSub.GoodsOriginAmount), zap.Any("goodsDiscountAmount", orderSub.GoodsDiscountAmount), zap.Any("totalAmount", orderSub.TotalAmount), zap.Any("PayAmount", orderSub.PayAmount))
|
||||
orderSub.GoodsOriginAmount = goodsOriginAmount
|
||||
orderSub.GoodsDiscountAmount = goodsDiscountAmount
|
||||
orderSub.TotalAmount = totalAmount
|
||||
orderSub.PayAmount = goodsDiscountAmount + (goodsOriginAmount * 10)
|
||||
zap_server.ZAPLOG.Info("子订单更新后", zap.Any("orderSubId", orderSub.OrderId), zap.Any("goodsOriginAmount", orderSub.GoodsOriginAmount), zap.Any("goodsDiscountAmount", orderSub.GoodsDiscountAmount), zap.Any("totalAmount", orderSub.TotalAmount), zap.Any("PayAmount", orderSub.PayAmount))
|
||||
database.Instance().Model(&orderSub).Updates(&orderSub)
|
||||
orderSubList[orderSubIndex] = orderSub
|
||||
}
|
||||
var totalAmount = 0
|
||||
for _, orderSub := range orderSubList {
|
||||
totalAmount = totalAmount + orderSub.TotalAmount
|
||||
}
|
||||
zap_server.ZAPLOG.Info("主订单更新前", zap.Any("orderMainId", orderMain.OrderId), zap.Any("totalAmount", orderMain.TotalAmount))
|
||||
orderMain.TotalAmount = totalAmount
|
||||
zap_server.ZAPLOG.Info("主订单更新后", zap.Any("orderMainId", orderMain.OrderId), zap.Any("totalAmount", orderMain.TotalAmount))
|
||||
database.Instance().Model(&orderMain).Updates(&orderMain)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
updateValues := map[string]interface{}{
|
||||
"NickName": pet.NickName,
|
||||
|
|
|
|||
Loading…
Reference in New Issue