diff --git a/cmd/dis_plat.go b/cmd/dis_plat.go new file mode 100644 index 0000000..6497b12 --- /dev/null +++ b/cmd/dis_plat.go @@ -0,0 +1,164 @@ +package cmd + +import ( + "github.com/go-resty/resty/v2" + "github.com/mizuki1412/go-core-kit/class/exception" + "github.com/mizuki1412/go-core-kit/init/initkit" + "github.com/mizuki1412/go-core-kit/library/commonkit" + "github.com/mizuki1412/go-core-kit/service/configkit" + "github.com/mizuki1412/go-core-kit/service/logkit" + "github.com/spf13/cast" + "github.com/spf13/cobra" + "github.com/tidwall/gjson" + "time" +) + +//纪检监察 + +func init() { + rootCmd.AddCommand(disCmd) + defFlagsDis(disCmd) +} + +var disCmd = &cobra.Command{ + Use: "dis", + Short: "Batch processing operations of the discipline inspection platform", + Run: func(cmd *cobra.Command, args []string) { + initkit.BindFlags(cmd) + handleDis() + }, +} + +func defFlagsDis(cmd *cobra.Command) { + cmd.Flags().String("ut", "", "*Specify the ut") + cmd.Flags().String("wid", "", "*Specify the wid") + cmd.Flags().String("pid", "", "*Specify the pid") +} + +var disClient = resty.New().SetRetryCount(5).SetRetryWaitTime(10 * time.Second) + +func handleDis() { + _ = commonkit.RecoverFuncWrapper(func() { + //签到 + resp, err := disClient.R(). + SetHeaders(map[string]string{ + "Content-type": "application/json;charset=UTF-8", + "Ut": cast.ToString(configkit.Get("ut", "")), + "Wid": cast.ToString(configkit.Get("wid", "")), + "Pid": cast.ToString(configkit.Get("pid", "")), + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", + }).SetQueryParams(map[string]string{ + "_": cast.ToString(time.Now().UnixNano() / int64(time.Millisecond)), + }).Get("http://aiportal.unicom.local/pcm/punchIn/addClockIn") + if err != nil || resp.IsError() || gjson.Get(resp.String(), "code").Int() != 200 { + panic(exception.New("签到失败 " + cast.ToString(resp.String()))) + } + logkit.Info("签到成功,今日积分+1😄") + }) + //拿菜单 + resp, err := disClient.R(). + SetHeaders(map[string]string{ + "Content-type": "application/json;charset=UTF-8", + "Ut": cast.ToString(configkit.Get("ut", "")), + "Wid": cast.ToString(configkit.Get("wid", "")), + "Pid": cast.ToString(configkit.Get("pid", "")), + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", + }).SetQueryParams(map[string]string{ + "accessType": "1", + "_": cast.ToString(time.Now().UnixNano() / int64(time.Millisecond)), + }).Get("http://aiportal.unicom.local/wsq/site/newsOne/v1/category/v1") + if err != nil || resp.IsError() || gjson.Get(resp.String(), "code").Int() != 200 { + panic(exception.New("获取菜单失败")) + } + //拿到一级菜单 + var catID []string + first := gjson.Get(resp.String(), "data").Array() + for _, v := range first { + second := v.Get("categoryList").Array() + for _, vv := range second { + catID = append(catID, vv.Get("id").String()) + } + } + for _, id := range catID { + resp, err = disClient.R(). + SetHeaders(map[string]string{ + "Content-type": "application/json;charset=UTF-8", + "Ut": cast.ToString(configkit.Get("ut", "")), + "Wid": cast.ToString(configkit.Get("wid", "")), + "Pid": cast.ToString(configkit.Get("pid", "")), + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", + }).SetQueryParams(map[string]string{ + "page": "5", + "catid": id, + "limit": "15", + "_": cast.ToString(time.Now().UnixNano() / int64(time.Millisecond)), + }).Get("http://aiportal.unicom.local/wsq/site/newsOne/v1/index/newList") + if err != nil || resp.IsError() || gjson.Get(resp.String(), "code").Int() != 200 { + panic(exception.New("获取文章信息失败")) + } + list := gjson.Get(resp.String(), "data.list").Array() + var artID []string + var artName []string + for _, v := range list { + artID = append(artID, v.Get("id").String()) + artName = append(artName, v.Get("title").String()) + } + for i, v := range artID { + _ = commonkit.RecoverFuncWrapper(func() { + time.Sleep(1 * time.Second) + resp, err = disClient.R(). + SetHeaders(map[string]string{ + "Content-type": "application/json;charset=UTF-8", + "Ut": cast.ToString(configkit.Get("ut", "")), + "Wid": cast.ToString(configkit.Get("wid", "")), + "Pid": cast.ToString(configkit.Get("pid", "")), + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", + }).SetQueryParams(map[string]string{ + "articleid": v, + "href": "/modules/subsite/jijianjiancha/newsdetail.html?id=" + v + "&wid=" + cast.ToString(configkit.Get("wid", "")), + "title": artName[i], + "_": cast.ToString(time.Now().UnixNano() / int64(time.Millisecond)), + }).Get("http://aiportal.unicom.local/pcm/msview/v1/view") + if err != nil || resp.IsError() || gjson.Get(resp.String(), "code").Int() != 200 { + panic(exception.New("浏览失败 " + artName[i] + cast.ToString(resp.String()))) + } + logkit.Info("浏览成功 " + artName[i]) + resp, err = disClient.R(). + SetHeaders(map[string]string{ + "Content-type": "application/json;charset=UTF-8", + "Ut": cast.ToString(configkit.Get("ut", "")), + "Wid": cast.ToString(configkit.Get("wid", "")), + "Pid": cast.ToString(configkit.Get("pid", "")), + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", + }).SetQueryParams(map[string]string{ + "articleid": v, + "status": "1", + "href": "/modules/news/newsdetail.html?id=" + v, + "title": artName[i], + "_": cast.ToString(time.Now().UnixNano() / int64(time.Millisecond)), + }).Get("http://aiportal.unicom.local/pcm/mslike/v1/like") + if err != nil || resp.IsError() || gjson.Get(resp.String(), "code").Int() != 200 { + panic(exception.New("点赞失败 " + artName[i] + cast.ToString(resp.String()))) + } + resp, err = disClient.R(). + SetHeaders(map[string]string{ + "Content-type": "application/json;charset=UTF-8", + "Ut": cast.ToString(configkit.Get("ut", "")), + "Wid": cast.ToString(configkit.Get("wid", "")), + "Pid": cast.ToString(configkit.Get("pid", "")), + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", + }).SetQueryParams(map[string]string{ + "articleid": v, + "status": "1", + "href": "/modules/news/newsdetail.html?id=" + v, + "title": artName[i], + "_": cast.ToString(time.Now().UnixNano() / int64(time.Millisecond)), + }).Get("http://aiportal.unicom.local/pcm/collect/v1/collect") + if err != nil || resp.IsError() || gjson.Get(resp.String(), "code").Int() != 200 { + panic(exception.New("收藏失败 " + artName[i] + cast.ToString(resp.String()))) + } + logkit.Info("点赞收藏成功 " + artName[i]) + }) + } + } +} diff --git a/cmd/supply.go b/cmd/supply.go index d2ee1a2..8d55e9c 100644 --- a/cmd/supply.go +++ b/cmd/supply.go @@ -4,6 +4,7 @@ import ( "github.com/go-resty/resty/v2" "github.com/mizuki1412/go-core-kit/class/exception" "github.com/mizuki1412/go-core-kit/init/initkit" + "github.com/mizuki1412/go-core-kit/library/commonkit" "github.com/mizuki1412/go-core-kit/service/configkit" "github.com/mizuki1412/go-core-kit/service/logkit" "github.com/spf13/cast" @@ -11,7 +12,6 @@ import ( "github.com/tidwall/gjson" "github.com/xuri/excelize/v2" "strconv" - "strings" "time" ) @@ -60,31 +60,34 @@ func handleList() { "Content-Type": "application/json;charset=UTF-8", "Cookie": cast.ToString(configkit.Get("cookie", "")), }).SetBody(map[string]string{ - "beginTime": "2024-01-01 0:00:00", - "endTime": "2024-10-10 00:00:00", - "pageNum": "1", - "pageSize": "1000", - "type": "out", + //"beginTime": "2024-01-01 0:00:00", + //"endTime": "2024-10-10 00:00:00", + "pageNum": "1", + "pageSize": "3500", + "type": "out", }).Post("https://inneruscm.chinaunicom.cn:10003/api/biz-service-order/outer/v1.0/bizChange/findChangeOrderForPage") if err != nil || resp.IsError() || gjson.Get(resp.String(), "success").Bool() != true { panic(exception.New("获取调拨(调出)列表失败")) } data := gjson.Get(resp.String(), "data.records").Array() + for _, v := range data { outProject := v.Get("outProject").String() inProject := v.Get("inProject").String() - if strings.Contains(outProject, "西湖宽带") || strings.Contains(outProject, "西湖公众") || strings.Contains(outProject, "西湖区公众") || strings.Contains(outProject, "西湖商务") { - if strings.Contains(inProject, "西湖宽带") || strings.Contains(inProject, "西湖公众") || strings.Contains(inProject, "西湖区公众") || strings.Contains(inProject, "西湖商务") { - continue - } - } - if strings.Contains(outProject, "西湖零星") || strings.Contains(inProject, "西湖零星") { - continue - } + //if strings.Contains(outProject, "西湖宽带") || strings.Contains(outProject, "西湖公众") || strings.Contains(outProject, "西湖区公众") || strings.Contains(outProject, "西湖商务") { + // if strings.Contains(inProject, "西湖宽带") || strings.Contains(inProject, "西湖公众") || strings.Contains(inProject, "西湖区公众") || strings.Contains(inProject, "西湖商务") { + // continue + // } + //} + //if strings.Contains(outProject, "西湖零星") || strings.Contains(inProject, "西湖零星") { + // continue + //} id := v.Get("id").String() changeNo := v.Get("changeNo").String() note := v.Get("note").String() - getDetail(id, "out", changeNo, inProject, outProject, note) + _ = commonkit.RecoverFuncWrapper(func() { + getDetail(id, "out", changeNo, inProject, outProject, note) + }) } resp, err = supplyClient.R(). SetHeaders(map[string]string{ @@ -92,11 +95,11 @@ func handleList() { "Content-Type": "application/json;charset=UTF-8", "Cookie": cast.ToString(configkit.Get("cookie", "")), }).SetBody(map[string]string{ - "beginTime": "2024-01-01 0:00:00", - "endTime": "2024-10-10 00:00:00", - "pageNum": "1", - "pageSize": "1000", - "type": "in", + //"beginTime": "2024-01-01 0:00:00", + //"endTime": "2024-10-10 00:00:00", + "pageNum": "1", + "pageSize": "3500", + "type": "in", }).Post("https://inneruscm.chinaunicom.cn:10003/api/biz-service-order/outer/v1.0/bizChange/findChangeOrderForPage") if err != nil || resp.IsError() || gjson.Get(resp.String(), "success").Bool() != true { panic(exception.New("获取调拨(调入)列表失败")) @@ -105,22 +108,25 @@ func handleList() { for _, v := range data { outProject := v.Get("outProject").String() inProject := v.Get("inProject").String() - if strings.Contains(outProject, "西湖宽带") || strings.Contains(outProject, "西湖公众") || strings.Contains(outProject, "西湖区公众") || strings.Contains(outProject, "西湖商务") { - if strings.Contains(inProject, "西湖宽带") || strings.Contains(inProject, "西湖公众") || strings.Contains(inProject, "西湖区公众") || strings.Contains(inProject, "西湖商务") { - continue - } - } - if strings.Contains(outProject, "西湖零星") || strings.Contains(inProject, "西湖零星") { - continue - } + //if strings.Contains(outProject, "西湖宽带") || strings.Contains(outProject, "西湖公众") || strings.Contains(outProject, "西湖区公众") || strings.Contains(outProject, "西湖商务") { + // if strings.Contains(inProject, "西湖宽带") || strings.Contains(inProject, "西湖公众") || strings.Contains(inProject, "西湖区公众") || strings.Contains(inProject, "西湖商务") { + // continue + // } + //} + //if strings.Contains(outProject, "西湖零星") || strings.Contains(inProject, "西湖零星") { + // continue + //} id := v.Get("id").String() changeNo := v.Get("changeNo").String() note := v.Get("note").String() - getDetail(id, "in", changeNo, inProject, outProject, note) + _ = commonkit.RecoverFuncWrapper(func() { + getDetail(id, "in", changeNo, inProject, outProject, note) + }) } } func getDetail(id, inOut, changeNo, inProject, outProject, note string) { + //time.Sleep(200 * time.Millisecond) resp, err := supplyClient.R(). SetHeaders(map[string]string{ "Authorization": "Bearer " + cast.ToString(configkit.Get("authorization", "")), @@ -131,7 +137,7 @@ func getDetail(id, inOut, changeNo, inProject, outProject, note string) { "type": inOut, }).Post("https://inneruscm.chinaunicom.cn:10003/api/biz-service-order/outer/v1.0/bizChange/findChangeOrderDetailed") if err != nil || resp.IsError() || gjson.Get(resp.String(), "success").Bool() != true { - panic(exception.New("获取详情失败")) + panic(exception.New("获取详情失败! " + changeNo)) } detailList := gjson.Get(resp.String(), "data.changeOrderProduct").Array() for _, v := range detailList { @@ -189,7 +195,7 @@ func genExcelFile() { } // 保存文件 - if err := f.SaveAs("/Users/leo/Documents/erp调拨.xlsx"); err != nil { + if err := f.SaveAs("/Users/leo/Documents/erp调拨-all.xlsx"); err != nil { panic(exception.New("保存文件失败...")) } } diff --git a/high-opt-loss/model/get_high_opt_loss_list.go b/high-opt-loss/model/get_high_opt_loss_list.go index 78d09a5..1f5632b 100644 --- a/high-opt-loss/model/get_high_opt_loss_list.go +++ b/high-opt-loss/model/get_high_opt_loss_list.go @@ -21,7 +21,7 @@ type GetHighOptLossList struct { QueryType string `map:"queryType"` } -// NewGetHighOptLossList receiveFlag=1,综合派单 receiveFlag=2,施工处理 +// NewGetHighOptLossList receiveFlag=0,全部 receiveFlag=1,综合派单 receiveFlag=2,施工处理 receiveFlag=5,人工回访 func NewGetHighOptLossList(receiveFlag string) *GetHighOptLossList { getHighOptLossList := new(GetHighOptLossList) getHighOptLossList.OrgId = "330106" @@ -29,7 +29,7 @@ func NewGetHighOptLossList(receiveFlag string) *GetHighOptLossList { getHighOptLossList.OrderPram = "ACCEPT_TIME" getHighOptLossList.OrderDesc = "DESC" getHighOptLossList.ReceiveFlag = receiveFlag - getHighOptLossList.Rows = "100" + getHighOptLossList.Rows = "1000" getHighOptLossList.Page = "1" getHighOptLossList.QueryType = "-1" return getHighOptLossList