|
|
@@ -757,6 +757,101 @@ 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(" floor(dis_amount*%d) as dis_amount from orders where dis_amount>0 and ", tcBl)
|
|
|
+ }
|
|
|
+ areaArr := helper.NewStr(tcArea).Explode(",")
|
|
|
+ //if len(areaArr) > 0 {
|
|
|
+ for key, ar := range areaArr {
|
|
|
+ beego.BeeLogger.Warn("ar ar=%s", ar)
|
|
|
+
|
|
|
+ if key == 0 {
|
|
|
+ areaSql = fmt.Sprintf("( address like %s%s%s", "'%", ar, "%'")
|
|
|
+ } else {
|
|
|
+ areaSql = areaSql + fmt.Sprintf(" or address like %s%s%s", "'%", ar, "%'")
|
|
|
+ }
|
|
|
+
|
|
|
+ if key == (len(areaArr) - 1) {
|
|
|
+ areaSql = areaSql + " )"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //}
|
|
|
+
|
|
|
+ excuteSql = excuteSql + areaSql
|
|
|
+
|
|
|
+ //pay支付时间
|
|
|
+ d := time.Now()
|
|
|
+ beginDay := helper.GetFirstDateOfMonth(d)
|
|
|
+ beginTime := beginDay.Unix()
|
|
|
+ endDay := helper.GetLastDateOfMonth(d)
|
|
|
+ endTime := endDay.Unix()
|
|
|
+ excuteSql = excuteSql + fmt.Sprintf(" and paied_at > %d and paied_at < %d", beginTime, endTime)
|
|
|
+
|
|
|
+ endSql := excuteSql + fmt.Sprintf(" and status in ('processing','complete','dispatch') order by paied_at desc limit %d, %d", (page-1)*perPage, perPage)
|
|
|
+
|
|
|
+ _, err := orm.NewOrm().Raw(endSql).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(",")
|
|
|
+ //if len(areaArr) > 0 {
|
|
|
+ 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()
|
|
|
+
|
|
|
+ sql := excuteSql + fmt.Sprintf(" and paied_at > %d and paied_at < %d and status in ('processing','complete','dispatch') order by paied_at desc", beginTime, endTime)
|
|
|
+
|
|
|
+ type Ret struct {
|
|
|
+ Count int64 `json:"count"`
|
|
|
+ }
|
|
|
+
|
|
|
+ var ret Ret
|
|
|
+ err := orm.NewOrm().Raw(sql).QueryRow(&ret)
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ return 0
|
|
|
+ }
|
|
|
+
|
|
|
+ return ret.Count
|
|
|
+}
|
|
|
+
|
|
|
//根据用户快递单号和Tkey得到物流信息查询的密钥
|
|
|
func GenExpressPassword(expressNo string) string {
|
|
|
md5CtxUsn := md5.New()
|