/*************************************************** ** @Desc : c file for ... ** @Time : 2019/8/21 11:18 ** @Author : yuebin ** @File : get ** @Last Modified by : yuebin ** @Last Modified time: 2019/8/21 11:18 ** @Software: GoLand ****************************************************/ package controllers import ( "fmt" "juhe/service/common" "juhe/service/controller" "juhe/service/models" "sort" "strconv" "strings" ) type GetController struct { BaseController DisplayCount int CurrentPage int TotalPage int JumpPage int Offset int } /* * 处理分页的函数 */ func (c *GetController) GetCutPage(l int) { c.DisplayCount, _ = c.GetInt("displayCount") c.CurrentPage, _ = c.GetInt("currentPage") c.TotalPage, _ = c.GetInt("totalPage") c.JumpPage, _ = c.GetInt("jumpPage") if c.CurrentPage == 0 { c.CurrentPage = 1 } if c.DisplayCount == 0 { c.DisplayCount = 20 } if c.JumpPage > 0 { c.CurrentPage = c.JumpPage } if l > 0 { c.TotalPage = l / c.DisplayCount if l%c.DisplayCount > 0 { c.TotalPage += 1 } } else { c.TotalPage = 0 c.CurrentPage = 0 } //假如当前页超过了总页数 if c.CurrentPage > c.TotalPage { c.CurrentPage = c.TotalPage } //计算出偏移量 c.Offset = (c.CurrentPage - 1) * c.DisplayCount } func (c *GetController) GetMenu() { firstMenuSearch := strings.TrimSpace(c.GetString("firstMenuSearch")) params := make(map[string]string) params["first_menu__icontains"] = firstMenuSearch c.GetCutPage(models.GetMenuLenByMap(params)) menuDataJSON := new(MenuDataJSON) menuDataJSON.DisplayCount = c.DisplayCount menuDataJSON.CurrentPage = c.CurrentPage menuDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { menuDataJSON.Code = -1 menuDataJSON.MenuList = make([]models.MenuInfo, 0) c.GenerateJSON(menuDataJSON) return } menuInfoList := models.GetMenuOffsetByMap(params, c.DisplayCount, c.Offset) sort.Sort(models.MenuInfoSlice(menuInfoList)) for i, m := range menuInfoList { secondMenuInfoList := models.GetSecondMenuListByFirstMenuUid(m.MenuUid) smenus := "" for j := 0; j < len(secondMenuInfoList); j++ { smenus += secondMenuInfoList[j].SecondMenu if j != (len(secondMenuInfoList) - 1) { smenus += "||" } } m.SecondMenu = smenus menuInfoList[i] = m } menuDataJSON.Code = 200 menuDataJSON.MenuList = menuInfoList menuDataJSON.StartIndex = c.Offset if len(menuInfoList) == 0 { menuDataJSON.Msg = "获取菜单列表失败" } c.GenerateJSON(menuDataJSON) } func (c *GetController) GetFirstMenu() { menuDataJSON := new(MenuDataJSON) menuList := models.GetMenuAll() if len(menuList) == 0 { menuDataJSON.Code = -1 } else { menuDataJSON.Code = 200 } sort.Sort(models.MenuInfoSlice(menuList)) menuDataJSON.MenuList = menuList c.GenerateJSON(menuDataJSON) } /* *获取所有的二级菜单 */ func (c *GetController) GetSecondMenu() { firstMenuSearch := strings.TrimSpace(c.GetString("firstMenuSerach")) secondMenuSearch := strings.TrimSpace(c.GetString("secondMenuSerach")) params := make(map[string]string) params["first_menu__icontains"] = firstMenuSearch params["second_menu__icontains"] = secondMenuSearch l := models.GetSecondMenuLenByMap(params) c.GetCutPage(l) secondMenuDataJSON := new(SecondMenuDataJSON) secondMenuDataJSON.DisplayCount = c.DisplayCount secondMenuDataJSON.Code = 200 secondMenuDataJSON.CurrentPage = c.CurrentPage secondMenuDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { secondMenuDataJSON.SecondMenuList = make([]models.SecondMenuInfo, 0) c.GenerateJSON(secondMenuDataJSON) return } secondMenuList := models.GetSecondMenuByMap(params, c.DisplayCount, c.Offset) sort.Sort(models.SecondMenuSlice(secondMenuList)) secondMenuDataJSON.SecondMenuList = secondMenuList secondMenuDataJSON.StartIndex = c.Offset if len(secondMenuList) == 0 { secondMenuDataJSON.Msg = "获取二级菜单失败" } c.GenerateJSON(secondMenuDataJSON) } func (c *GetController) GetSecondMenus() { firstMenuUid := strings.TrimSpace(c.GetString("firMenuUid")) secondMenuDataJSON := new(SecondMenuDataJSON) secondMenuList := models.GetSecondMenuListByFirstMenuUid(firstMenuUid) secondMenuDataJSON.Code = 200 secondMenuDataJSON.SecondMenuList = secondMenuList c.GenerateJSON(secondMenuDataJSON) } func (c *GetController) GetOneMenu() { menuUid := c.GetString("menuUid") dataJSON := new(MenuDataJSON) menuInfo := models.GetMenuInfoByMenuUid(menuUid) if menuInfo.MenuUid == "" { dataJSON.Code = -1 dataJSON.Msg = "该菜单项不存在" } else { dataJSON.MenuList = make([]models.MenuInfo, 0) dataJSON.MenuList = append(dataJSON.MenuList, menuInfo) dataJSON.Code = 200 } c.Data["json"] = dataJSON c.ServeJSONP() } func (c *GetController) GetPowerItem() { powerID := c.GetString("powerID") powerItem := c.GetString("powerItem") params := make(map[string]string) params["power_uid__icontains"] = powerID params["power_item_icontains"] = powerItem l := models.GetPowerItemLenByMap(params) c.GetCutPage(l) powerItemDataJSON := new(PowerItemDataJSON) powerItemDataJSON.DisplayCount = c.DisplayCount powerItemDataJSON.Code = 200 powerItemDataJSON.CurrentPage = c.CurrentPage powerItemDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { powerItemDataJSON.PowerItemList = make([]models.PowerInfo, 0) c.GenerateJSON(powerItemDataJSON) return } powerItemDataJSON.StartIndex = c.Offset powerItemList := models.GetPowerItemByMap(params, c.DisplayCount, c.Offset) sort.Sort(models.PowerInfoSlice(powerItemList)) powerItemDataJSON.PowerItemList = powerItemList c.GenerateJSON(powerItemDataJSON) } func (c *GetController) GetRole() { roleName := strings.TrimSpace(c.GetString("roleName")) params := make(map[string]string) params["role_name__icontains"] = roleName l := models.GetRoleLenByMap(params) c.GetCutPage(l) roleInfoDataJSON := new(RoleInfoDataJSON) roleInfoDataJSON.DisplayCount = c.DisplayCount roleInfoDataJSON.Code = 200 roleInfoDataJSON.CurrentPage = c.CurrentPage roleInfoDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { roleInfoDataJSON.RoleInfoList = make([]models.RoleInfo, 0) c.GenerateJSON(roleInfoDataJSON) return } roleInfoDataJSON.StartIndex = c.Offset roleInfoDataJSON.RoleInfoList = models.GetRoleByMap(params, c.DisplayCount, c.Offset) c.GenerateJSON(roleInfoDataJSON) } func (c *GetController) GetAllRole() { roleInfoDataJSON := new(RoleInfoDataJSON) roleInfoList := models.GetRole() fmt.Println(roleInfoList) if len(roleInfoList) == 0 { roleInfoDataJSON.Code = -1 } else { roleInfoDataJSON.Code = 200 roleInfoDataJSON.RoleInfoList = roleInfoList } c.GenerateJSON(roleInfoDataJSON) } func (c *GetController) GetDeployTree() { roleUid := strings.TrimSpace(c.GetString("roleUid")) roleInfo := models.GetRoleByRoleUid(roleUid) allFirstMenu := models.GetMenuAll() sort.Sort(models.MenuInfoSlice(allFirstMenu)) allSecondMenu := models.GetSecondMenuList() sort.Sort(models.SecondMenuSlice(allSecondMenu)) allPower := models.GetPower() deployTreeJSON := new(DeployTreeJSON) deployTreeJSON.Code = 200 deployTreeJSON.AllFirstMenu = allFirstMenu deployTreeJSON.AllSecondMenu = allSecondMenu deployTreeJSON.AllPower = allPower deployTreeJSON.ShowFirstMenuUid = make(map[string]bool) for _, v := range strings.Split(roleInfo.ShowFirstUid, "||") { deployTreeJSON.ShowFirstMenuUid[v] = true } deployTreeJSON.ShowSecondMenuUid = make(map[string]bool) for _, v := range strings.Split(roleInfo.ShowSecondUid, "||") { deployTreeJSON.ShowSecondMenuUid[v] = true } deployTreeJSON.ShowPowerUid = make(map[string]bool) for _, v := range strings.Split(roleInfo.ShowPowerUid, "||") { deployTreeJSON.ShowPowerUid[v] = true } c.GenerateJSON(deployTreeJSON) } /* * 获取操作员列表 */ func (c *GetController) GetOperator() { operatorName := strings.TrimSpace(c.GetString("operatorName")) params := make(map[string]string) params["user_id__icontains"] = operatorName l := models.GetOperatorLenByMap(params) c.GetCutPage(l) operatorDataJSON := new(OperatorDataJSON) operatorDataJSON.DisplayCount = c.DisplayCount operatorDataJSON.Code = 200 operatorDataJSON.CurrentPage = c.CurrentPage operatorDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { operatorDataJSON.OperatorList = make([]models.UserInfo, 0) c.GenerateJSON(operatorDataJSON) return } operatorDataJSON.StartIndex = c.Offset operatorDataJSON.OperatorList = models.GetOperatorByMap(params, c.DisplayCount, c.Offset) c.GenerateJSON(operatorDataJSON) } func (c *GetController) GetOneOperator() { userId := strings.TrimSpace(c.GetString("userId")) userInfo := models.GetUserInfoByUserID(userId) operatorDataJSON := new(OperatorDataJSON) operatorDataJSON.OperatorList = make([]models.UserInfo, 0) operatorDataJSON.OperatorList = append(operatorDataJSON.OperatorList, userInfo) operatorDataJSON.Code = 200 c.GenerateJSON(operatorDataJSON) } func (c *GetController) GetEditOperator() { userId := strings.TrimSpace(c.GetString("userId")) editOperatorDataJSON := new(EditOperatorDataJSON) userInfo := models.GetUserInfoByUserID(userId) fmt.Println(userInfo) editOperatorDataJSON.OperatorList = append(editOperatorDataJSON.OperatorList, userInfo) editOperatorDataJSON.RoleList = models.GetRole() editOperatorDataJSON.Code = 200 c.GenerateJSON(editOperatorDataJSON) } func (c *GetController) GetBankCard() { accountNameSearch := strings.TrimSpace(c.GetString("accountNameSearch")) params := make(map[string]string) params["account_name__icontains"] = accountNameSearch l := models.GetBankCardLenByMap(params) c.GetCutPage(l) bankCardDataJSON := new(BankCardDataJSON) bankCardDataJSON.DisplayCount = c.DisplayCount bankCardDataJSON.Code = 200 bankCardDataJSON.CurrentPage = c.CurrentPage bankCardDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { bankCardDataJSON.BankCardInfoList = make([]models.BankCardInfo, 0) c.GenerateJSON(bankCardDataJSON) return } bankCardDataJSON.StartIndex = c.Offset bankCardDataJSON.BankCardInfoList = models.GetBankCardByMap(params, c.DisplayCount, c.Offset) c.GenerateJSON(bankCardDataJSON) } func (c *GetController) GetOneBankCard() { uid := strings.TrimSpace(c.GetString("uid")) bankCardInfo := models.GetBankCardByUid(uid) bankCardDataJSON := new(BankCardDataJSON) bankCardDataJSON.Code = -1 if bankCardInfo.Uid != "" { bankCardDataJSON.BankCardInfoList = append(bankCardDataJSON.BankCardInfoList, bankCardInfo) bankCardDataJSON.Code = 200 } c.GenerateJSON(bankCardDataJSON) } /* * 获取通道 */ func (c *GetController) GetRoad() { roadName := strings.TrimSpace(c.GetString("roadName")) productName := strings.TrimSpace(c.GetString("productName")) roadUid := strings.TrimSpace(c.GetString("roadUid")) payType := strings.TrimSpace(c.GetString("payType")) roadPoolCode := strings.TrimSpace(c.GetString("roadPoolCode")) params := make(map[string]string) params["road_name__icontains"] = roadName params["product_name__icontains"] = productName params["road_uid"] = roadUid params["pay_type"] = payType l := models.GetRoadLenByMap(params) c.GetCutPage(l) roadDataJSON := new(RoadDataJSON) roadDataJSON.DisplayCount = c.DisplayCount roadDataJSON.Code = 200 roadDataJSON.CurrentPage = c.CurrentPage roadDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { roadDataJSON.RoadInfoList = make([]models.RoadInfo, 0) c.GenerateJSON(roadDataJSON) return } roadDataJSON.StartIndex = c.Offset roadDataJSON.RoadInfoList = models.GetRoadInfoByMap(params, c.DisplayCount, c.Offset) roadDataJSON.RoadPool = models.GetRoadPoolByRoadPoolCode(roadPoolCode) c.GenerateJSON(roadDataJSON) } func (c *GetController) GetAllRoad() { roadName := strings.TrimSpace(c.GetString("roadName")) params := make(map[string]string) params["road_name__icontains"] = roadName roadDataJSON := new(RoadDataJSON) roadInfoList := models.GetAllRoad(params) roadDataJSON.Code = 200 roadDataJSON.RoadInfoList = roadInfoList c.GenerateJSON(roadDataJSON) } /* * 获取单个通道 */ func (c *GetController) GetOneRoad() { roadUid := strings.TrimSpace(c.GetString("roadUid")) roadInfo := models.GetRoadInfoByRoadUid(roadUid) roadDataJSON := new(RoadDataJSON) roadDataJSON.Code = -1 if roadInfo.RoadUid != "" { roadDataJSON.RoadInfoList = append(roadDataJSON.RoadInfoList, roadInfo) roadDataJSON.Code = 200 } else { roadDataJSON.RoadInfoList = make([]models.RoadInfo, 0) } c.GenerateJSON(roadDataJSON) } func (c *GetController) GetRoadPool() { roadPoolName := strings.TrimSpace(c.GetString("roadPoolName")) roadPoolCode := strings.TrimSpace(c.GetString("roadPoolCode")) params := make(map[string]string) params["road_pool_name__icontains"] = roadPoolName params["road_pool_code__icontains"] = roadPoolCode l := models.GetRoadPoolLenByMap(params) c.GetCutPage(l) roadPoolDataJSON := new(RoadPoolDataJSON) roadPoolDataJSON.DisplayCount = c.DisplayCount roadPoolDataJSON.Code = 200 roadPoolDataJSON.CurrentPage = c.CurrentPage roadPoolDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { roadPoolDataJSON.RoadPoolInfoList = make([]models.RoadPoolInfo, 0) c.GenerateJSON(roadPoolDataJSON) return } roadPoolDataJSON.StartIndex = c.Offset roadPoolDataJSON.RoadPoolInfoList = models.GetRoadPoolByMap(params, c.DisplayCount, c.Offset) c.GenerateJSON(roadPoolDataJSON) } func (c *GetController) GetAllRollPool() { rollPoolName := strings.TrimSpace(c.GetString("rollPoolName")) params := make(map[string]string) params["road_pool_name__icontains"] = rollPoolName roadPoolDataJSON := new(RoadPoolDataJSON) roadPoolDataJSON.Code = 200 roadPoolDataJSON.RoadPoolInfoList = models.GetAllRollPool(params) c.GenerateJSON(roadPoolDataJSON) } func (c *GetController) GetMerchant() { merchantName := strings.TrimSpace(c.GetString("merchantName")) merchantNo := strings.TrimSpace(c.GetString("merchantNo")) params := make(map[string]string) params["merchant_name__icontains"] = merchantName params["merchant_uid__icontains"] = merchantNo l := models.GetMerchantLenByMap(params) c.GetCutPage(l) merchantDataJSON := new(MerchantDataJSON) merchantDataJSON.DisplayCount = c.DisplayCount merchantDataJSON.Code = 200 merchantDataJSON.CurrentPage = c.CurrentPage merchantDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { merchantDataJSON.MerchantList = make([]models.MerchantInfo, 0) c.GenerateJSON(merchantDataJSON) return } merchantDataJSON.StartIndex = c.Offset merchantDataJSON.MerchantList = models.GetMerchantListByMap(params, c.DisplayCount, c.Offset) c.GenerateJSON(merchantDataJSON) } func (c *GetController) GetAllMerchant() { merchantDataJSON := new(MerchantDataJSON) merchantDataJSON.Code = 200 merchantDataJSON.MerchantList = models.GetAllMerchant() c.GenerateJSON(merchantDataJSON) } func (c *GetController) GetOneMerchant() { merchantUid := strings.TrimSpace(c.GetString("merchantUid")) merchantDataJSON := new(MerchantDataJSON) if merchantUid == "" { merchantDataJSON.Code = -1 c.GenerateJSON(merchantDataJSON) return } merchantInfo := models.GetMerchantByUid(merchantUid) merchantDataJSON.Code = 200 merchantDataJSON.MerchantList = append(merchantDataJSON.MerchantList, merchantInfo) c.GenerateJSON(merchantDataJSON) } func (c *GetController) GetOneMerchantDeploy() { merchantNo := strings.TrimSpace(c.GetString("merchantNo")) payType := strings.TrimSpace(c.GetString("payType")) merchantDeployDataJSON := new(MerchantDeployDataJSON) merchantDeployInfo := models.GetMerchantDeployByUidAndPayType(merchantNo, payType) if merchantDeployInfo.Status == "active" { merchantDeployDataJSON.Code = 200 merchantDeployDataJSON.MerchantDeploy = merchantDeployInfo } else { merchantDeployDataJSON.Code = -1 merchantDeployDataJSON.MerchantDeploy = merchantDeployInfo } c.GenerateJSON(merchantDeployDataJSON) } func (c *GetController) GetAllAccount() { accountDataJSON := new(AccountDataJSON) accountDataJSON.Code = 200 accountDataJSON.AccountList = models.GetAllAccount() c.GenerateJSON(accountDataJSON) } func (c *GetController) GetAccount() { accountName := strings.TrimSpace(c.GetString("accountName")) accountUid := strings.TrimSpace(c.GetString("accountNo")) params := make(map[string]string) params["account_name__icontains"] = accountName params["account_uid_icontains"] = accountUid l := models.GetAccountLenByMap(params) c.GetCutPage(l) accountDataJSON := new(AccountDataJSON) accountDataJSON.DisplayCount = c.DisplayCount accountDataJSON.Code = 200 accountDataJSON.CurrentPage = c.CurrentPage accountDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { accountDataJSON.AccountList = make([]models.AccountInfo, 0) c.GenerateJSON(accountDataJSON) return } accountDataJSON.StartIndex = c.Offset accountDataJSON.AccountList = models.GetAccountByMap(params, c.DisplayCount, c.Offset) c.GenerateJSON(accountDataJSON) } func (c *GetController) GetOneAccount() { //从http的body中获取accountUid字段,并且这个字段是string类型 accountUid := strings.TrimSpace(c.GetString("accountUid")) //new一个accountDataJSON结构体对象,用来做jsonp返回 accountDataJSON := new(AccountDataJSON) //用accountuid作为过滤字段,从数据库中读取一条信息 accountInfo := models.GetAccountByUid(accountUid) //code初始值为200 accountDataJSON.Code = 200 //将从数据库读出来的数据插入到accountList数组中 accountDataJSON.AccountList = append(accountDataJSON.AccountList, accountInfo) //返回jsonp格式的数据给前端 c.GenerateJSON(accountDataJSON) } func (c *GetController) GetAccountHistory() { accountName := strings.TrimSpace(c.GetString("accountHistoryName")) accountUid := strings.TrimSpace(c.GetString("accountHistoryNo")) operatorType := strings.TrimSpace(c.GetString("operatorType")) startTime := c.GetString("startTime") endTime := c.GetString("endTime") switch operatorType { case "plus-amount": operatorType = common.PLUS_AMOUNT case "sub-amount": operatorType = common.SUB_AMOUNT case "freeze-amount": operatorType = common.FREEZE_AMOUNT case "unfreeze-amount": operatorType = common.UNFREEZE_AMOUNT } params := make(map[string]string) params["account_name__icontains"] = accountName params["account_uid__icontains"] = accountUid params["type"] = operatorType params["create_time__gte"] = startTime params["create_time__lte"] = endTime l := models.GetAccountHistoryLenByMap(params) c.GetCutPage(l) accountHistoryDataJSON := new(AccountHistoryDataJSON) accountHistoryDataJSON.DisplayCount = c.DisplayCount accountHistoryDataJSON.Code = 200 accountHistoryDataJSON.CurrentPage = c.CurrentPage accountHistoryDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { accountHistoryDataJSON.AccountHistoryList = make([]models.AccountHistoryInfo, 0) c.GenerateJSON(accountHistoryDataJSON) return } accountHistoryDataJSON.StartIndex = c.Offset accountHistoryDataJSON.AccountHistoryList = models.GetAccountHistoryByMap(params, c.DisplayCount, c.Offset) c.GenerateJSON(accountHistoryDataJSON) } func (c *GetController) GetAgent() { agentName := strings.TrimSpace(c.GetString("agentName")) params := make(map[string]string) params["agnet_name__icontains"] = agentName l := models.GetAgentInfoLenByMap(params) c.GetCutPage(l) agentDataJSON := new(AgentDataJSON) agentDataJSON.DisplayCount = c.DisplayCount agentDataJSON.Code = 200 agentDataJSON.CurrentPage = c.CurrentPage agentDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { agentDataJSON.AgentList = make([]models.AgentInfo, 0) c.GenerateJSON(agentDataJSON) return } agentDataJSON.StartIndex = c.Offset agentDataJSON.AgentList = models.GetAgentInfoByMap(params, c.DisplayCount, c.Offset) c.GenerateJSON(agentDataJSON) } func (c *GetController) GetAllAgent() { agentName := strings.TrimSpace(c.GetString("agentName")) params := make(map[string]string) params["agent_name__icontains"] = agentName agentDataJSON := new(AgentDataJSON) agentDataJSON.Code = 200 agentDataJSON.AgentList = models.GetAllAgentByMap(params) c.GenerateJSON(agentDataJSON) } func (c *GetController) GetProduct() { supplierCode2Name := common.GetSupplierMap() productDataJSON := new(ProductDataJSON) productDataJSON.Code = 200 productDataJSON.ProductMap = supplierCode2Name c.GenerateJSON(productDataJSON) } func (c *GetController) GetAgentToMerchant() { agentUid := strings.TrimSpace(c.GetString("agentUid")) merchantUid := strings.TrimSpace(c.GetString("merchantUid")) params := make(map[string]string) params["belong_agent_uid"] = agentUid params["merchant_uid"] = merchantUid l := models.GetMerchantLenByParams(params) c.GetCutPage(l) merchantDataJSON := new(MerchantDataJSON) merchantDataJSON.DisplayCount = c.DisplayCount merchantDataJSON.Code = 200 merchantDataJSON.CurrentPage = c.CurrentPage merchantDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { merchantDataJSON.MerchantList = make([]models.MerchantInfo, 0) } else { merchantDataJSON.MerchantList = models.GetMerchantByParams(params, c.DisplayCount, c.Offset) } c.GenerateJSON(merchantDataJSON) } /* * 获取订单数据 */ func (c *GetController) GetOrder() { startTime := strings.TrimSpace(c.GetString("startTime")) endTime := strings.TrimSpace(c.GetString("endTime")) merchantName := strings.TrimSpace(c.GetString("merchantName")) orderNo := strings.TrimSpace(c.GetString("merchantOrderId")) //bankOrderId := strings.TrimSpace(c.GetString("bankOrderId")) status := strings.TrimSpace(c.GetString("orderStatus")) supplierUid := strings.TrimSpace(c.GetString("supplierUid")) payWayCode := strings.TrimSpace(c.GetString("payWayCode")) freeStatus := strings.TrimSpace(c.GetString("freeStatus")) params := make(map[string]string) params["create_time__gte"] = startTime params["create_time__lte"] = endTime params["merchant_name__icontains"] = merchantName params["merchant_order_id"] = orderNo //params["bank_order_id"] = bankOrderId params["status"] = status params["pay_product_code"] = supplierUid params["pay_type_code"] = payWayCode switch freeStatus { case "free": params["free"] = "yes" case "unfree": params["unfree"] = "yes" case "refund": params["refund"] = "yes" } l := models.GetOrderLenByMap(params) c.GetCutPage(l) orderDataJSON := new(OrderDataJSON) orderDataJSON.DisplayCount = c.DisplayCount orderDataJSON.Code = 200 orderDataJSON.CurrentPage = c.CurrentPage orderDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { orderDataJSON.OrderList = make([]models.OrderInfo, 0) c.GenerateJSON(orderDataJSON) return } orderDataJSON.StartIndex = c.Offset orderDataJSON.OrderList = models.GetOrderByMap(params, c.DisplayCount, c.Offset) orderDataJSON.SuccessRate = models.GetSuccessRateByMap(params) orderDataJSON.AllAmount = models.GetAllAmountByMap(params) c.GenerateJSON(orderDataJSON) } func (c *GetController) GetOneOrder() { bankOrderId := strings.TrimSpace(c.GetString("bankOrderId")) orderDataJSON := new(OrderDataJSON) orderInfo := models.GetOneOrder(bankOrderId) orderDataJSON.Code = 200 orderDataJSON.OrderList = append(orderDataJSON.OrderList, orderInfo) notifyInfo := models.GetNotifyInfoByBankOrderId(bankOrderId) if notifyInfo.Url == "" || len(notifyInfo.Url) == 0 { orderDataJSON.NotifyUrl = orderInfo.NotifyUrl } else { orderDataJSON.NotifyUrl = notifyInfo.Url } c.GenerateJSON(orderDataJSON) } func (c *GetController) GetOrderProfit() { startTime := strings.TrimSpace(c.GetString("startTime")) endTime := strings.TrimSpace(c.GetString("endTime")) merchantName := strings.TrimSpace(c.GetString("merchantName")) agentName := strings.TrimSpace(c.GetString("agentName")) bankOrderId := strings.TrimSpace(c.GetString("bankOrderId")) status := strings.TrimSpace(c.GetString("orderStatus")) supplierUid := strings.TrimSpace(c.GetString("supplierUid")) payWayCode := strings.TrimSpace(c.GetString("payWayCode")) params := make(map[string]string) params["create_time__gte"] = startTime params["create_time__lte"] = endTime params["merchant_name__icontains"] = merchantName params["agent_name__icontains"] = agentName params["bank_order_id"] = bankOrderId params["status"] = status params["pay_product_code"] = supplierUid params["pay_type_code"] = payWayCode l := models.GetOrderProfitLenByMap(params) c.GetCutPage(l) listDataJSON := new(ListDataJSON) listDataJSON.DisplayCount = c.DisplayCount listDataJSON.Code = 200 listDataJSON.CurrentPage = c.CurrentPage listDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { listDataJSON.List = make([]models.OrderProfitInfo, 0) c.GenerateJSON(listDataJSON) return } listDataJSON.StartIndex = c.Offset listDataJSON.List = models.GetOrderProfitByMap(params, c.DisplayCount, c.Offset) supplierAll := 0.0 platformAll := 0.0 agentAll := 0.0 allAmount := 0.0 for _, v := range listDataJSON.List { if v.Status != "success" { continue } allAmount += v.FactAmount supplierAll += v.SupplierProfit platformAll += v.PlatformProfit agentAll += v.AgentProfit } listDataJSON.SupplierProfit, _ = strconv.ParseFloat(fmt.Sprintf("%.3f", supplierAll), 3) listDataJSON.PlatformProfit, _ = strconv.ParseFloat(fmt.Sprintf("%.3f", platformAll), 3) listDataJSON.AgentProfit, _ = strconv.ParseFloat(fmt.Sprintf("%.3f", agentAll), 3) listDataJSON.AllAmount, _ = strconv.ParseFloat(fmt.Sprintf("%.3f", allAmount), 3) c.GenerateJSON(listDataJSON) } func (c *GetController) GetPayFor() { startTime := strings.TrimSpace(c.GetString("startTime")) endTime := strings.TrimSpace(c.GetString("endTime")) merchantOrderId := strings.TrimSpace(c.GetString("merchantOrderId")) bankOrderId := strings.TrimSpace(c.GetString("bankOrderId")) status := strings.TrimSpace(c.GetString("status")) params := make(map[string]string) params["create_time__lte"] = endTime params["create_time__gte"] = startTime params["merchant_order_id"] = merchantOrderId params["bank_order_id"] = bankOrderId params["status"] = status l := models.GetPayForLenByMap(params) c.GetCutPage(l) listDataJSON := new(PayForDataJSON) listDataJSON.DisplayCount = c.DisplayCount listDataJSON.Code = 200 listDataJSON.CurrentPage = c.CurrentPage listDataJSON.TotalPage = c.TotalPage if c.Offset < 0 { listDataJSON.PayForList = make([]models.PayforInfo, 0) c.GenerateJSON(listDataJSON) return } listDataJSON.StartIndex = c.Offset listDataJSON.PayForList = models.GetPayForByMap(params, c.DisplayCount, c.Offset) for index, p := range listDataJSON.PayForList { if p.MerchantName == "" { listDataJSON.PayForList[index].MerchantName = "任意下发" } if p.MerchantOrderId == "" { listDataJSON.PayForList[index].MerchantOrderId = "任意发下" } if p.RoadName == "" { listDataJSON.PayForList[index].RoadName = "无" } } c.GenerateJSON(listDataJSON) } func (c *GetController) GetOnePayFor() { bankOrderId := strings.TrimSpace(c.GetString("bankOrderId")) payForInfo := models.GetPayForByBankOrderId(bankOrderId) listDataJSON := new(PayForDataJSON) listDataJSON.Code = 200 listDataJSON.PayForList = append(listDataJSON.PayForList, payForInfo) c.GenerateJSON(listDataJSON) } func (c *GetController) GetBalance() { roadName := strings.TrimSpace(c.GetString("roadName")) roadUid := strings.TrimSpace(c.GetString("roadUid")) var roadInfo models.RoadInfo if roadUid != "" { roadInfo = models.GetRoadInfoByRoadUid(roadUid) } else { roadInfo = models.GetRoadInfoByName(roadName) } balanceDataJSON := new(BalanceDataJSON) balanceDataJSON.Code = 200 supplier := controller.GetPaySupplierByCode(roadInfo.ProductUid) if supplier == nil { balanceDataJSON.Code = -1 balanceDataJSON.Balance = -1.00 } else { balance := supplier.BalanceQuery(roadInfo) balanceDataJSON.Balance = balance } c.GenerateJSON(balanceDataJSON) } func (c *GetController) GetNotifyBankOrderIdList() { startTime := strings.TrimSpace(c.GetString("startTime")) endTime := strings.TrimSpace(c.GetString("endTime")) merchantUid := strings.TrimSpace(c.GetString("merchantUid")) notifyType := strings.TrimSpace(c.GetString("notifyType")) params := make(map[string]string) params["create_time__gte"] = startTime params["create_time_lte"] = endTime params["merchant_uid"] = merchantUid params["type"] = notifyType bankOrderIdListJSON := new(NotifyBankOrderIdListJSON) bankOrderIdListJSON.Code = 200 bankOrderIdListJSON.NotifyIdList = models.GetNotifyBankOrderIdListByParams(params) c.GenerateJSON(bankOrderIdListJSON) } /* * 获取利润表 */ func (c *GetController) GetProfit() { merchantUid := strings.TrimSpace(c.GetString("merchantUid")) agentUid := strings.TrimSpace(c.GetString("agentUid")) supplierUid := strings.TrimSpace(c.GetString("supplierUid")) payType := strings.TrimSpace(c.GetString("payType")) startTime := strings.TrimSpace(c.GetString("startTime")) endTime := strings.TrimSpace(c.GetString("endTime")) params := make(map[string]string) params["merchant_uid"] = merchantUid params["agent_uid"] = agentUid params["pay_product_code"] = supplierUid params["pay_type_code"] = payType params["create_time__gte"] = startTime params["create_time__lte"] = endTime profitListJSON := new(ProfitListJSON) profitListJSON.Code = 200 profitListJSON.ProfitList = models.GetPlatformProfitByMap(params) profitListJSON.TotalAmount = 0.00 profitListJSON.PlatformTotalProfit = 0.00 profitListJSON.AgentTotalProfit = 0.00 for i, p := range profitListJSON.ProfitList { profitListJSON.TotalAmount += p.OrderAmount profitListJSON.PlatformTotalProfit += p.PlatformProfit profitListJSON.AgentTotalProfit += p.AgentProfit if p.AgentName == "" { p.AgentName = "无代理商" } profitListJSON.ProfitList[i] = p } c.GenerateJSON(profitListJSON) }