123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- package service
- import (
- "database/sql"
- "encoding/json"
- "fmt"
- "time"
- . "bp.jydev.jianyu360.cn/BaseService/orderCenter/entity"
- "bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/ordercenter"
- )
- func GetOrderCode(*ordercenter.GetOrderCodeReq) *ordercenter.GetOrderCodeResp {
- id := Node.Generate()
- return &ordercenter.GetOrderCodeResp{
- ErrorCode: 1,
- ErrorMsg: "",
- Data: &ordercenter.OrderCode{
- OrderCode: fmt.Sprint(id),
- },
- }
- }
- func OrderAddUpdate(this *ordercenter.OrderAddUpdateReq) *ordercenter.OrderAddUpdateResp {
- orderCode := fmt.Sprint(Node.Generate())
- flag := false
- nowTime := time.Now().Format("2006-01-02 15:04:05")
- flag = Mysql.ExecTx("", func(tx *sql.Tx) bool {
- orderId := Mysql.InsertBySqlByTx(tx, `insert into `+Order+`(appid,order_code,order_money,original_price,create_time,order_status,user_id,ent_id,del_status) values (?,?,?,?,?,?,?,?,?)`,
- this.Appid, orderCode, this.Order.OrderMoney, this.Order.OriginalPrice, nowTime, this.Order.OrderStatus, this.Order.UserId, this.Order.EntId, 0)
- extendId := Mysql.InsertBySqlByTx(tx, `insert into `+OrderExtend+`(appid,order_code,pay_type,source,dis_word,iscan_invoice,iscan_evaluate,remind_status,create_time) values (?,?,?,?,?,?,?,?,?)`,
- this.Appid, orderCode, this.OrderExtend.PayType, this.OrderExtend.Source, this.OrderExtend.DisWord, this.OrderExtend.IscanInvoice, this.OrderExtend.IscanEvaluate, this.OrderExtend.RemindStatus, nowTime)
- isOk1, isOk2 := true, true
- for _, v := range this.OrderCommodity {
- commodityId := Mysql.InsertBySqlByTx(tx, `insert into `+OrderCommodity+`(appid,order_code,goods_code,goods_spec_id,num,price,total,isgift,create_time) values (?,?,?,?,?,?,?,?,?)`,
- this.Appid, orderCode, v.GoodsCode, v.GoodsSpecId, v.Num, v.Price, v.Total, v.Isgift, nowTime)
- if commodityId == 0 {
- isOk1 = false
- }
- }
- if this.OrderBusiness.GoodsSpecId != 0 {
- BusinessId := Mysql.InsertBySqlByTx(tx, `insert into `+OrderBusiness+`(appid,order_code,service_status,service_time,filter,filter_keys,filter_publishtime,data_count,filter_id,download_url,goods_code,goods_spec_id,user_phone,user_mail) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)`,
- this.Appid, orderCode, this.OrderBusiness.ServiceStatus, this.OrderBusiness.ServiceTime, this.OrderBusiness.Filter, this.OrderBusiness.FilterKeys,
- this.OrderBusiness.FilterPublishtime, this.OrderBusiness.DataCount, this.OrderBusiness.FilterId, this.OrderBusiness.DownloadUrl,
- this.OrderBusiness.GoodsCode, this.OrderBusiness.GoodsSpecId, this.OrderBusiness.UserPhone, this.OrderBusiness.UserMail)
- if BusinessId == 0 {
- isOk2 = false
- }
- }
- return orderId > 0 && extendId > 0 && isOk1 && isOk2
- })
- status := 0
- if flag {
- status = 1
- }
- return &ordercenter.OrderAddUpdateResp{
- ErrorCode: 1,
- Data: &ordercenter.DataStatus{Status: int64(status)},
- }
- }
- func OrderDel(this *ordercenter.OrderDelReq) *ordercenter.OrderAddUpdateResp {
- nowTime := time.Now().Format("2006-01-02 15:04:05")
- ok := Mysql.Update(Order, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode}, map[string]interface{}{"del_time": nowTime, "del_status": 1})
- status := 0
- if ok {
- status = 1
- }
- return &ordercenter.OrderAddUpdateResp{
- ErrorCode: 1,
- Data: &ordercenter.DataStatus{Status: int64(status)},
- }
- }
- func OrderList(this *ordercenter.OrderListReq) *ordercenter.OrderListResp {
- OrderLists := []*ordercenter.OrderAddUpdateReq{}
- order := Mysql.Find(Order, map[string]interface{}{"appid": this.Appid, "user_id": this.UserId}, "", "", 0, 0)
- if order != nil && len(*order) > 0 {
- for _, v := range *order {
- orderData1 := &ordercenter.OrderAddUpdateReq{}
- orderData2 := &ordercenter.Order{}
- orderByte, _ := json.Marshal(v)
- json.Unmarshal(orderByte, orderData2)
- orderData1.Order = orderData2
- OrderLists = append(OrderLists, orderData1)
- }
- }
- return &ordercenter.OrderListResp{
- ErrorCode: 1,
- Data: &ordercenter.OrderList{OrderList: OrderLists},
- }
- }
- func OrderInfo(this *ordercenter.OrderInfoReq) *ordercenter.OrderInfoResp {
- orderData := &ordercenter.Order{}
- orderData1 := &ordercenter.OrderAddUpdateReq{}
- order := Mysql.FindOne(Order, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode}, "", "")
- if order != nil && len(*order) > 0 {
- orderByte, _ := json.Marshal(*order)
- json.Unmarshal(orderByte, orderData)
- orderData1.Order = orderData
- }
- return &ordercenter.OrderInfoResp{
- ErrorCode: 1,
- Data: &ordercenter.OrderInfo{OrderInfo: orderData1},
- }
- }
|