|
|
@@ -757,6 +757,107 @@ func UpdateSaleNums(saleProducts map[int64]int64) bool {
|
|
|
return true
|
|
|
}
|
|
|
|
|
|
+func GetDistrictOrders(tcBl, page, perPage int64, tcArea string) (orders []*Order) {
|
|
|
+
|
|
|
+ beginSql := "select order_id,contact, "
|
|
|
+
|
|
|
+ var excuteSql, areaSql string
|
|
|
+
|
|
|
+ if tcBl > 0 {
|
|
|
+ excuteSql = beginSql + fmt.Sprintf("CAST(dis_amount*%d/100 as decimal(38, 2)) as dis_amount from orders where dis_amount>0 and ", tcBl)
|
|
|
+ }
|
|
|
+
|
|
|
+ areaArr := helper.NewStr(tcArea).Explode(",")
|
|
|
+
|
|
|
+ for key, ar := range areaArr {
|
|
|
+ if key == 0 {
|
|
|
+ areaSql = fmt.Sprintf("( address like %s", "'%"+ar+"%'")
|
|
|
+ } else {
|
|
|
+ areaSql = areaSql + fmt.Sprintf(" or address like %s", "'%"+ar+"%'")
|
|
|
+ }
|
|
|
+
|
|
|
+ if key == (len(areaArr) - 1) {
|
|
|
+ areaSql = areaSql + " )"
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ excuteSql = excuteSql + areaSql
|
|
|
+
|
|
|
+ //pay支付时间
|
|
|
+ d := time.Now()
|
|
|
+ beginDay := helper.GetFirstDateOfMonth(d)
|
|
|
+ fmt.Println(beginDay.Unix())
|
|
|
+ beginTime := beginDay.Unix()
|
|
|
+ endDay := helper.GetLastDateOfMonth(d)
|
|
|
+ fmt.Println(endDay.Unix())
|
|
|
+ endTime := endDay.Unix()
|
|
|
+
|
|
|
+ excuteSql = excuteSql + fmt.Sprintf(" and paied_at > %d and paied_at < %d", beginTime, endTime)
|
|
|
+
|
|
|
+ sql := excuteSql + " status in ('%s','%s','%s') order by paied_at desc limit %d, %d ;"
|
|
|
+
|
|
|
+ sql = fmt.Sprintf(sql, (page-1)*perPage, perPage)
|
|
|
+
|
|
|
+ //beego.BeeLogger.Warn("cate sql=%s", sql)
|
|
|
+ _, err := orm.NewOrm().Raw(sql, STATUS_PROCESSING, STATUS_COMPLETE, STATUS_DISPATCH).QueryRows(&orders)
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ beego.BeeLogger.Debug("GetDistrictOrders err=%s", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ return orders
|
|
|
+}
|
|
|
+
|
|
|
+func GetDistrictOrdersCount(tcBl int64, tcArea string) int64 {
|
|
|
+
|
|
|
+ excuteSql := "select count(*) as count from orders where dis_amount>0 and"
|
|
|
+
|
|
|
+ var areaSql string
|
|
|
+
|
|
|
+ areaArr := helper.NewStr(tcArea).Explode(",")
|
|
|
+
|
|
|
+ for key, ar := range areaArr {
|
|
|
+ if key == 0 {
|
|
|
+ areaSql = fmt.Sprintf("( address like %s", "'%"+ar+"%'")
|
|
|
+ } else {
|
|
|
+ areaSql = areaSql + fmt.Sprintf(" or address like %s", "'%"+ar+"%'")
|
|
|
+ }
|
|
|
+
|
|
|
+ if key == (len(areaArr) - 1) {
|
|
|
+ areaSql = areaSql + " )"
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ excuteSql = excuteSql + areaSql
|
|
|
+
|
|
|
+ //pay支付时间
|
|
|
+ d := time.Now()
|
|
|
+ beginDay := helper.GetFirstDateOfMonth(d)
|
|
|
+ fmt.Println(beginDay.Unix())
|
|
|
+ beginTime := beginDay.Unix()
|
|
|
+ endDay := helper.GetLastDateOfMonth(d)
|
|
|
+ fmt.Println(endDay.Unix())
|
|
|
+ endTime := endDay.Unix()
|
|
|
+
|
|
|
+ excuteSql = excuteSql + fmt.Sprintf(" and paied_at > %d and paied_at < %d", beginTime, endTime)
|
|
|
+
|
|
|
+ sql := excuteSql + " status in ('%s','%s','%s') order by paied_at desc limit %d, %d ;"
|
|
|
+
|
|
|
+ type Ret struct {
|
|
|
+ Count int64 `json:"count"`
|
|
|
+ }
|
|
|
+
|
|
|
+ var ret Ret
|
|
|
+ sql = fmt.Sprintf(sql)
|
|
|
+ err := orm.NewOrm().Raw(sql).QueryRow(&ret)
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ return 0
|
|
|
+ }
|
|
|
+
|
|
|
+ return ret.Count
|
|
|
+}
|
|
|
+
|
|
|
//根据用户快递单号和Tkey得到物流信息查询的密钥
|
|
|
func GenExpressPassword(expressNo string) string {
|
|
|
md5CtxUsn := md5.New()
|