zhaojs
2023-09-15 fc13938ff90213060532d99a600dea4a84456885
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
using CommonUtil;
using Operater.DAL;
using Operater.DbModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using YouZanSDKStandard.Api;
using YouZanSDKStandard.Api.Request;
 
namespace YzTradesGet
{
    public class YzRecTradeGet
    {
        public static void MainHandle(string sessionkey,DateTime startTime,DateTime endTime)
        {
            int totalPage = 1;
            int pageSize = 100;
            int currentPage = 1;
            while (currentPage <= totalPage)
            {
                try
                {
                    //接口获取时间段内的有赞订单
                    YouZanTradesSoldGetRequest yzReq = new YouZanTradesSoldGetRequest()
                    {
                        start_created = startTime.ToString("yyyy-MM-dd HH:mm:ss"),
                        end_created = endTime.ToString("yyyy-MM-dd HH:mm:ss"),
                        page_no = currentPage,
                        page_size = pageSize
                    };
                    var yzRsp = YouZanClient.Execute(yzReq, sessionkey);
                    currentPage++;
                    totalPage = yzRsp.data.total_results % pageSize == 0 ? yzRsp.data.total_results / pageSize : (yzRsp.data.total_results / pageSize) + 1;
                    if (!yzRsp.data.IsNull() && !yzRsp.data.full_order_info_list.IsNull() && yzRsp.data.full_order_info_list.Count > 0)
                    {//与库里有赞订单校验
                        List<AYzTrade> tradeList = new List<AYzTrade>();
                        foreach (var tradeItem in yzRsp.data.full_order_info_list)
                        {
                            try
                            {
                                if(tradeItem.full_order_info.address_info.receiver_tel.IsNullOrEmpty())
                                {
                                    continue;
                                }
                                decimal payment = tradeItem.full_order_info.pay_info.payment.IsNullOrEmpty() ? 0 : decimal.Parse(tradeItem.full_order_info.pay_info.payment);
                                string[] titleArr = tradeItem.full_order_info.orders.Select(t => t.title).ToArray();
                                string title = string.Join(';', titleArr);
                                AYzTrade aYzTrade = new AYzTrade()
                                {
                                    Id = Guid.NewGuid().ToString(),
                                    Mobile = tradeItem.full_order_info.address_info.receiver_tel,
                                    Provice = tradeItem.full_order_info.address_info.delivery_province,
                                    City = tradeItem.full_order_info.address_info.delivery_city,
                                    Name = tradeItem.full_order_info.address_info.receiver_name,
                                    BuyTime = tradeItem.full_order_info.order_info.created,
                                    Payment = payment,
                                    Title = title
                                };
                                tradeList.Add(aYzTrade);
                            }
                            catch (Exception e)
                            {
 
                            }
                        }
                        if (!tradeList.IsNull() && tradeList.Count > 0)
                        {
                            new AYzTradeDAL().InsertRange(tradeList);
                        }
                    }
                }
                catch (Exception e)
                {
                    LogUtil.Info($"循环错误:{e.ToString()}", "有赞订单核对error");
                }
            }
        }
    }
}