12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package service
- import (
- "context"
- "time"
- "go-common/app/interface/main/credit/model"
- "go-common/library/ecode"
- xtime "go-common/library/time"
- "github.com/pkg/errors"
- )
- // AddAppeal add a new appeal .
- func (s *Service) AddAppeal(c context.Context, btid, bid, mid int64, reason string) (err error) {
- var (
- isID bool
- origin string
- ctime xtime.Time
- caseID int64
- )
- infos, err := s.BlockedUserList(c, mid)
- if err != nil {
- err = errors.Wrap(err, "s.dao.BlockedUserList error")
- return
- }
- for _, v := range infos {
- if bid == v.ID {
- isID = true
- origin = v.OriginContent
- ctime = v.CTime
- caseID = v.CaseID
- }
- }
- if !isID {
- err = ecode.CreditBlockNotExist
- return
- }
- if xtime.Time(time.Now().AddDate(0, 0, -7).Unix()) > ctime {
- err = ecode.CreditBlockExpired
- return
- }
- if err = s.dao.AddAppeal(c, s.tagMap[int8(btid)], btid, caseID, mid, model.Business, origin, reason); err != nil {
- err = errors.Wrap(err, "s.AddAppeal error")
- }
- return
- }
- // AppealState appeal status .
- func (s *Service) AppealState(c context.Context, mid, bid int64) (state bool, err error) {
- block, err := s.BlockedInfoAppeal(c, bid, mid)
- if err != nil {
- err = errors.Wrap(err, "BlockedInfo error")
- return
- }
- if block == nil || block.UID != mid {
- err = ecode.CreditBlockNotExist
- return
- }
- if xtime.Time(time.Now().AddDate(0, 0, -7).Unix()) > block.CTime {
- err = ecode.CreditBlockExpired
- return
- }
- aps, err := s.dao.AppealList(c, mid, model.Business)
- if err != nil {
- err = errors.Wrap(err, "s.dao.AppealList error")
- return
- }
- for _, v := range aps {
- if block.CaseID == v.Oid {
- return
- }
- }
- state = true
- return
- }
|