Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

60 lignes
1.4KB

  1. package main
  2. import (
  3. "biukop.com/sfm/loan"
  4. "encoding/json"
  5. log "github.com/sirupsen/logrus"
  6. "net/http"
  7. )
  8. func decodeJsonFullLoanOverview(r *http.Request) (ret loan.FullLoanSummaryQueryInput, e error) {
  9. decoder := json.NewDecoder(r.Body)
  10. //decoder.DisallowUnknownFields()
  11. e = decoder.Decode(&ret)
  12. if e != nil {
  13. log.Error("failed decoding json for Filtering full_loan_summary ", e.Error())
  14. return
  15. }
  16. return
  17. }
  18. func apiV1GridLoanFullOverview(w http.ResponseWriter, r *http.Request, ss *loan.Session) {
  19. input, e := decodeJsonFullLoanOverview(r)
  20. if e != nil {
  21. apiV1EmptyResponse(w, r, ss)
  22. } else {
  23. switch ss.GetRole() {
  24. case "broker":
  25. input.Filter.Filters = append(input.Filter.Filters, loan.FullLoanSummaryFilter{
  26. Field: "broker_ids",
  27. Operator: "contains",
  28. Value: loan.JsonString(ss.User)})
  29. break
  30. case "user":
  31. input.Filter.Filters = append(input.Filter.Filters, loan.FullLoanSummaryFilter{
  32. Field: "client_ids",
  33. Operator: "contains",
  34. Value: loan.JsonString(ss.User)})
  35. break
  36. }
  37. data := loan.QFullLLoanSummary(input)
  38. //send out
  39. apiV1SendJson(data, w, r, ss)
  40. }
  41. }
  42. func apiV1GridListLoanOverview(w http.ResponseWriter, r *http.Request, ss *loan.Session) {
  43. input := loan.KdQueryInput{}
  44. e := input.ReadFromHttpRequest(r)
  45. if e != nil {
  46. apiV1Client404Error(w, r, ss)
  47. return
  48. }
  49. filter := loan.OverViewListFilter{KdQueryInput: input}
  50. ret := filter.Retrieve()
  51. apiV1SendJson(ret, w, r, ss)
  52. }