Merge branch 'dev' of http://gitlab.fjmaimaimai.com/mmm-go/partnermg into dev
正在显示
4 个修改的文件
包含
29 行增加
和
5 行删除
@@ -16,7 +16,7 @@ import ( | @@ -16,7 +16,7 @@ import ( | ||
16 | 16 | ||
17 | //从其他系统接收订单数据 | 17 | //从其他系统接收订单数据 |
18 | const ( | 18 | const ( |
19 | - BEST_SHOP_UNIONID string = "gh_18eb644002fb" //海鲜干货小程序原始id | 19 | + BEST_SHOP_UNIONID string = "gh_18eb644002fb" //香米小程序原始id |
20 | ) | 20 | ) |
21 | 21 | ||
22 | type SyncOrderService struct { | 22 | type SyncOrderService struct { |
@@ -79,6 +79,7 @@ func (s SyncOrderService) SyncOrderFromBestshop(cmd command.CreateOrderFromBests | @@ -79,6 +79,7 @@ func (s SyncOrderService) SyncOrderFromBestshop(cmd command.CreateOrderFromBests | ||
79 | // | 79 | // |
80 | logs.Warning("订单数据已存在:order_code=%s", cmd.OrderCode) | 80 | logs.Warning("订单数据已存在:order_code=%s", cmd.OrderCode) |
81 | } else { | 81 | } else { |
82 | + //复制数据到order_base表 | ||
82 | err = s.CreateOrderFromBestshop(cmd) | 83 | err = s.CreateOrderFromBestshop(cmd) |
83 | } | 84 | } |
84 | return err | 85 | return err |
@@ -225,6 +226,8 @@ func (s SyncOrderService) copyOrderBestshopToOrderBase(orderBestshop *domain.Ord | @@ -225,6 +226,8 @@ func (s SyncOrderService) copyOrderBestshopToOrderBase(orderBestshop *domain.Ord | ||
225 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | 226 | return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) |
226 | } | 227 | } |
227 | for _, v := range companyData.Applets { | 228 | for _, v := range companyData.Applets { |
229 | + //BEST_SHOP_UNIONID string = "gh_18eb644002fb" //香米小程序原始id | ||
230 | + //接收香米小程序的订单数据 | ||
228 | if len(v.Id) > 0 { | 231 | if len(v.Id) > 0 { |
229 | canCopyOrder = true | 232 | canCopyOrder = true |
230 | } | 233 | } |
@@ -237,7 +240,7 @@ func (s SyncOrderService) copyOrderBestshopToOrderBase(orderBestshop *domain.Ord | @@ -237,7 +240,7 @@ func (s SyncOrderService) copyOrderBestshopToOrderBase(orderBestshop *domain.Ord | ||
237 | orderbase domain.OrderBase | 240 | orderbase domain.OrderBase |
238 | ordergoods []domain.OrderGood | 241 | ordergoods []domain.OrderGood |
239 | ) | 242 | ) |
240 | - //TODO 添加orderBase | 243 | + //添加orderBase |
241 | orderBestshop.CopyToOrderBase(&orderbase) | 244 | orderBestshop.CopyToOrderBase(&orderbase) |
242 | orderbase.CompanyId = companyData.Id | 245 | orderbase.CompanyId = companyData.Id |
243 | for i := range orderBestshop.Goods { | 246 | for i := range orderBestshop.Goods { |
@@ -245,13 +248,15 @@ func (s SyncOrderService) copyOrderBestshopToOrderBase(orderBestshop *domain.Ord | @@ -245,13 +248,15 @@ func (s SyncOrderService) copyOrderBestshopToOrderBase(orderBestshop *domain.Ord | ||
245 | orderBestshop.Goods[i].CopyToOrderGood(&good) | 248 | orderBestshop.Goods[i].CopyToOrderGood(&good) |
246 | good.CompanyId = partnerData.CompanyId | 249 | good.CompanyId = partnerData.CompanyId |
247 | good.Compute() | 250 | good.Compute() |
251 | + //初始接收的订单按照待支付状态处理 | ||
248 | good.CurrentBonusStatus.WartPayPartnerBonus(&good) | 252 | good.CurrentBonusStatus.WartPayPartnerBonus(&good) |
249 | ordergoods = append(ordergoods, good) | 253 | ordergoods = append(ordergoods, good) |
250 | } | 254 | } |
251 | orderbase.Goods = ordergoods | 255 | orderbase.Goods = ordergoods |
252 | orderbase.PartnerId = partnerData.Partner.Id | 256 | orderbase.PartnerId = partnerData.Partner.Id |
253 | orderbase.CompanyId = partnerData.CompanyId | 257 | orderbase.CompanyId = partnerData.CompanyId |
254 | - orderbase.PartnerCategory = domain.PartnerCategory{Id: 1, Name: "事业合伙人"} // 默认设定为事业合伙人订单 | 258 | + // 默认设定为事业合伙人订单 |
259 | + orderbase.PartnerCategory = domain.PartnerCategory{Id: 1, Name: "事业合伙人"} | ||
255 | orderbase.Compute() | 260 | orderbase.Compute() |
256 | err = orderBaseRepository.Save(&orderbase) | 261 | err = orderBaseRepository.Save(&orderbase) |
257 | if err != nil { | 262 | if err != nil { |
@@ -6,8 +6,9 @@ import ( | @@ -6,8 +6,9 @@ import ( | ||
6 | ) | 6 | ) |
7 | 7 | ||
8 | type SyncCallbackCommand struct { | 8 | type SyncCallbackCommand struct { |
9 | - //position:职位,department:部门,employee:员工,company:公司 | 9 | + //模块:position:职位,department:部门,employee:员工,company:公司 |
10 | Module string `json:"module"` | 10 | Module string `json:"module"` |
11 | + //动作: | ||
11 | //add:添加,edit:编辑,delete删除,batchDelete:批量删除, | 12 | //add:添加,edit:编辑,delete删除,batchDelete:批量删除, |
12 | //setCompanyCharge:更改公司主管,batchForbid:批量禁用用户, | 13 | //setCompanyCharge:更改公司主管,batchForbid:批量禁用用户, |
13 | //batchRemove:批量更改用户部门,changeAdmin换管理员 | 14 | //batchRemove:批量更改用户部门,changeAdmin换管理员 |
@@ -198,16 +198,25 @@ func (order *OrderBase) Compute() error { | @@ -198,16 +198,25 @@ func (order *OrderBase) Compute() error { | ||
198 | planPartnerBonus := decimal.NewFromFloat(0) | 198 | planPartnerBonus := decimal.NewFromFloat(0) |
199 | planOrderAmount := decimal.NewFromFloat(0) | 199 | planOrderAmount := decimal.NewFromFloat(0) |
200 | var ( | 200 | var ( |
201 | + //预计的货品总数,不包含调整后的值 | ||
201 | planOrderCount int = 0 | 202 | planOrderCount int = 0 |
203 | + //调整后的货品总数,混合相加计算预计值和调整值中的一个,优先取调整值计算 | ||
202 | useOrderCount int = 0 | 204 | useOrderCount int = 0 |
205 | + //订单的货品列表中是否存在调整货品数量 | ||
203 | HasUseOrderCount bool = false | 206 | HasUseOrderCount bool = false |
204 | ) | 207 | ) |
208 | + //调整后的合伙人分红,混合相加计算预计值和调整值中的一个,优先取调整值计算 | ||
205 | usePartnerBonus := decimal.NewFromFloat(0) | 209 | usePartnerBonus := decimal.NewFromFloat(0) |
210 | + //订单的货品列表中是否存在调整的合伙人分红 | ||
206 | var hasUsePartnerBonus bool = false | 211 | var hasUsePartnerBonus bool = false |
212 | + //调整后的订单总额,混合相加计算预计值和调整值中的一个,优先取调整值计算 | ||
207 | useOrderAmount := decimal.NewFromFloat(0) | 213 | useOrderAmount := decimal.NewFromFloat(0) |
208 | var hasUseOrderAmount bool = false | 214 | var hasUseOrderAmount bool = false |
215 | + //已支付分红 | ||
209 | partnerBonusHas := decimal.NewFromFloat(0) | 216 | partnerBonusHas := decimal.NewFromFloat(0) |
217 | + //未支付分红 | ||
210 | partnerBonusNot := decimal.NewFromFloat(0) | 218 | partnerBonusNot := decimal.NewFromFloat(0) |
219 | + //分红支出 | ||
211 | partnerBonusExpense := decimal.NewFromFloat(0) | 220 | partnerBonusExpense := decimal.NewFromFloat(0) |
212 | //初始订单的支付状态 | 221 | //初始订单的支付状态 |
213 | order.BonusStatus = OrderGoodWaitPay | 222 | order.BonusStatus = OrderGoodWaitPay |
@@ -215,14 +224,20 @@ func (order *OrderBase) Compute() error { | @@ -215,14 +224,20 @@ func (order *OrderBase) Compute() error { | ||
215 | for i := range order.Goods { | 224 | for i := range order.Goods { |
216 | if order.Goods[i].BonusStatus == OrderGoodHasPay { | 225 | if order.Goods[i].BonusStatus == OrderGoodHasPay { |
217 | //确定订单的支付状态 | 226 | //确定订单的支付状态 |
227 | + //订单的货品列表中“存在”支付状态的为已支付,则整体订单设定为已支付状态 | ||
218 | order.BonusStatus = OrderGoodHasPay | 228 | order.BonusStatus = OrderGoodHasPay |
219 | } | 229 | } |
230 | + //计算预计的合伙人分红,不含调整的值 | ||
220 | planPartnerBonus = planPartnerBonus.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanPartnerBonus)) | 231 | planPartnerBonus = planPartnerBonus.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanPartnerBonus)) |
232 | + //计算预计的订单总金额,不含调整的值 | ||
221 | planOrderAmount = planOrderAmount.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanAmount)) | 233 | planOrderAmount = planOrderAmount.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanAmount)) |
234 | + //计算预计的订单中货品总数,不含调整的值 | ||
222 | planOrderCount += order.Goods[i].PlanGoodNumber | 235 | planOrderCount += order.Goods[i].PlanGoodNumber |
236 | + //获取调整货品调整后(数量)的总金额, | ||
223 | goodUseAmount := decimal.NewFromFloat(order.Goods[i].GoodCompute.UseAmount) | 237 | goodUseAmount := decimal.NewFromFloat(order.Goods[i].GoodCompute.UseAmount) |
238 | + | ||
224 | if goodUseAmount.GreaterThanOrEqual(decimal.NewFromFloat(0)) { | 239 | if goodUseAmount.GreaterThanOrEqual(decimal.NewFromFloat(0)) { |
225 | - //调整值非负值得情况 | 240 | + //调整后货品总金额,非负值(大于等于0)的情况 |
226 | hasUseOrderAmount = true | 241 | hasUseOrderAmount = true |
227 | useOrderAmount = useOrderAmount.Add(goodUseAmount) | 242 | useOrderAmount = useOrderAmount.Add(goodUseAmount) |
228 | } else { | 243 | } else { |
@@ -230,12 +245,14 @@ func (order *OrderBase) Compute() error { | @@ -230,12 +245,14 @@ func (order *OrderBase) Compute() error { | ||
230 | } | 245 | } |
231 | goodUsePartnerBonus := decimal.NewFromFloat(order.Goods[i].GoodCompute.UsePartnerBonus) | 246 | goodUsePartnerBonus := decimal.NewFromFloat(order.Goods[i].GoodCompute.UsePartnerBonus) |
232 | if goodUsePartnerBonus.GreaterThanOrEqual(decimal.NewFromFloat(0)) { | 247 | if goodUsePartnerBonus.GreaterThanOrEqual(decimal.NewFromFloat(0)) { |
248 | + //货品中存在调整后的合伙人分红,即调整大于等于0 | ||
233 | hasUsePartnerBonus = true | 249 | hasUsePartnerBonus = true |
234 | usePartnerBonus = usePartnerBonus.Add(goodUsePartnerBonus) | 250 | usePartnerBonus = usePartnerBonus.Add(goodUsePartnerBonus) |
235 | } else { | 251 | } else { |
236 | usePartnerBonus = usePartnerBonus.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanPartnerBonus)) | 252 | usePartnerBonus = usePartnerBonus.Add(decimal.NewFromFloat(order.Goods[i].GoodCompute.PlanPartnerBonus)) |
237 | } | 253 | } |
238 | if order.Goods[i].UseGoodNumber >= 0 { | 254 | if order.Goods[i].UseGoodNumber >= 0 { |
255 | + //货品中存在调整后的数量,调整值大于等于0 | ||
239 | HasUseOrderCount = true | 256 | HasUseOrderCount = true |
240 | useOrderCount += order.Goods[i].UseGoodNumber | 257 | useOrderCount += order.Goods[i].UseGoodNumber |
241 | } else { | 258 | } else { |
@@ -311,6 +311,7 @@ func (good *OrderGood) Compute() error { | @@ -311,6 +311,7 @@ func (good *OrderGood) Compute() error { | ||
311 | planamount := price.Mul(decimal.NewFromInt(int64(planGoodNumber))) | 311 | planamount := price.Mul(decimal.NewFromInt(int64(planGoodNumber))) |
312 | var partnerBonusPercent float64 | 312 | var partnerBonusPercent float64 |
313 | if good.PartnerBonusPercent < 0 { | 313 | if good.PartnerBonusPercent < 0 { |
314 | + //判断合伙人分成比例是否设置,若未设置则按照 0 来计算分成 | ||
314 | partnerBonusPercent = 0 | 315 | partnerBonusPercent = 0 |
315 | } else { | 316 | } else { |
316 | partnerBonusPercent = good.PartnerBonusPercent | 317 | partnerBonusPercent = good.PartnerBonusPercent |
-
请 注册 或 登录 后发表评论