Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_test",
"go_library",
)
go_test(
name = "go_default_test",
srcs = ["service_test.go"],
embed = [":go_default_library"],
rundir = ".",
tags = ["automanaged"],
deps = [
"//app/interface/main/creative/conf:go_default_library",
"//app/interface/main/creative/service:go_default_library",
"//vendor/github.com/smartystreets/goconvey/convey:go_default_library",
],
)
go_library(
name = "go_default_library",
srcs = [
"elec.go",
"service.go",
],
importpath = "go-common/app/interface/main/creative/service/elec",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/main/creative/conf:go_default_library",
"//app/interface/main/creative/dao/account:go_default_library",
"//app/interface/main/creative/dao/archive:go_default_library",
"//app/interface/main/creative/dao/elec:go_default_library",
"//app/interface/main/creative/model/elec:go_default_library",
"//app/interface/main/creative/service:go_default_library",
"//app/service/main/account/model:go_default_library",
"//app/service/main/archive/api:go_default_library",
"//library/log:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,242 @@
package elec
import (
"context"
"time"
model "go-common/app/interface/main/creative/model/elec"
account "go-common/app/service/main/account/model"
"go-common/app/service/main/archive/api"
"go-common/library/log"
)
const (
ftime = "2006-01-02"
)
// UserInfo get user elec info.
func (s *Service) UserInfo(c context.Context, mid int64, ip string) (data *model.UserInfo, err error) {
if data, err = s.elec.UserInfo(c, mid, ip); err != nil {
log.Error("s.elec.UserInfo(%d) error(%v)", mid, err)
}
return
}
// UserUpdate user join or exit elec.
func (s *Service) UserUpdate(c context.Context, mid int64, st int8, ip string) (data *model.UserInfo, err error) {
if data, err = s.elec.UserUpdate(c, mid, st, ip); err != nil {
log.Error("s.elec.UserUpdate(%d) error(%v)", mid, err)
}
return
}
// ArcUpdate arc open or close elec.
func (s *Service) ArcUpdate(c context.Context, mid, aid int64, st int8, ip string) (err error) {
if err = s.elec.ArcUpdate(c, mid, aid, st, ip); err != nil {
log.Error("s.elec.ArcInfo(%d,%d) error(%v)", mid, aid, err)
}
return
}
// Notify get up-to-date notice.
func (s *Service) Notify(c context.Context, ip string) (data *model.Notify, err error) {
if data, err = s.elec.Notify(c, ip); err != nil {
log.Error("s.elec.Notify error(%v)", err)
}
return
}
// Status get elec setting status.
func (s *Service) Status(c context.Context, mid int64, ip string) (data *model.Status, err error) {
if data, err = s.elec.Status(c, mid, ip); err != nil {
log.Error("s.elec.Status error(%d, %v)", mid, err)
}
return
}
// UpStatus update elec setting status.
func (s *Service) UpStatus(c context.Context, mid int64, spday int, ip string) (err error) {
if err = s.elec.UpStatus(c, mid, spday, ip); err != nil {
log.Error("s.elec.UpStatus(%d) error(%v)", mid, err)
}
return
}
// RecentRank recent rank.
func (s *Service) RecentRank(c context.Context, mid, size int64, ip string) (data []*model.Rank, err error) {
if data, err = s.elec.RecentRank(c, mid, size, ip); err != nil {
log.Error("s.elec.RecentRank error(%d, %v)", mid, err)
}
if len(data) == 0 {
log.Error("s.elec.TotalRank (%d, %v)", mid, data)
return
}
//data, _ = s.CheckIsFriend(c, data, mid, ip)
return
}
// CurrentRank current rank.
func (s *Service) CurrentRank(c context.Context, mid int64, ip string) (data []*model.Rank, err error) {
if data, err = s.elec.CurrentRank(c, mid, ip); err != nil {
log.Error("s.elec.CurrentRank error(%d, %v)", mid, err)
}
if len(data) == 0 {
log.Error("s.elec.TotalRank (%d, %v)", mid, data)
return
}
//data, _ = s.CheckIsFriend(c, data, mid, ip)
return
}
// TotalRank total rank.
func (s *Service) TotalRank(c context.Context, mid int64, ip string) (data []*model.Rank, err error) {
if data, err = s.elec.TotalRank(c, mid, ip); err != nil {
log.Error("s.elec.TotalRank error(%d, %v)", mid, err)
return
}
if len(data) == 0 {
log.Error("s.elec.TotalRank (%d, %v)", mid, data)
return
}
//data, _ = s.CheckIsFriend(c, data, mid, ip)
return
}
// DailyBill daily settlement.
func (s *Service) DailyBill(c context.Context, mid int64, pn, ps int, bg, end, ip string) (data *model.BillList, err error) {
if bg == "" {
bg = time.Now().Add(-7 * 24 * time.Hour).Format(ftime)
}
if end == "" {
end = time.Now().Format(ftime)
}
if data, err = s.elec.DailyBill(c, mid, pn, ps, bg, end, ip); err != nil {
log.Error("s.elec.DailyBill error(%d, %v)", mid, err)
}
return
}
// Balance get battery balance.
func (s *Service) Balance(c context.Context, mid int64, ip string) (data *model.Balance, err error) {
if data, err = s.elec.Balance(c, mid, ip); err != nil {
log.Error("s.elec.Balance error(%d, %v)", mid, err)
}
return
}
// AppDailyBill daily settlement.
func (s *Service) AppDailyBill(c context.Context, mid int64, pn, ps int, ip string) (cb *model.ChargeBill, err error) {
var data *model.BillList
bg := time.Now().Add(-24 * 30 * 12 * time.Hour).Format(ftime)
end := time.Now().Format(ftime)
if data, err = s.elec.DailyBill(c, mid, pn, ps, bg, end, ip); err != nil {
log.Error("s.elec.DailyBill error(%d, %v)", mid, err)
return
}
cb = &model.ChargeBill{}
if data == nil {
log.Error("s.elec.DailyBill mid(%d) data(%v)", mid, data)
return
}
bls := make([]*model.Bill, 0, len(data.List))
for _, v := range data.List {
bl := &model.Bill{}
bl.ID = v.ID
bl.MID = v.MID
bl.ChannelType = v.ChannelType
bl.ChannelTyName = v.ChannelTyName
bl.AddNum = v.AddNum
bl.ReduceNum = v.ReduceNum
bl.WalletBalance = v.WalletBalance
bl.DateVersion = v.DateVersion
bl.Remark = v.Remark
bl.MonthBillResp = v.MonthBillResp
t, _ := time.Parse(ftime, bl.DateVersion)
bl.Weekday = model.Weekday(t)
bls = append(bls, bl)
}
cb.List = bls
cb.Pager.Current = data.Pn
cb.Pager.Size = data.Ps
cb.Pager.Total = data.TotalCount
return
}
// RecentElec get recent charge info.
func (s *Service) RecentElec(c context.Context, mid int64, pn, ps int, ip string) (l *model.RecentElecList, err error) {
if l, err = s.elec.RecentElec(c, mid, pn, ps, ip); err != nil {
log.Error("s.elec.RecentElec error(%d, %v)", mid, err)
return
}
if l == nil || len(l.List) == 0 {
return
}
var (
mids, aids []int64
a map[int64]*api.Arc
u map[int64]*account.Info
)
for _, v := range l.List {
mids = append(mids, v.MID)
if v.AID > 0 {
aids = append(aids, v.AID)
}
}
if len(aids) > 0 {
if a, err = s.arc.Archives(c, aids, ip); err != nil {
log.Error("s.arc.Archives aids(%v), ip(%s) err(%v)", aids, ip, err)
return
}
}
if len(mids) > 0 {
if u, err = s.acc.Infos(c, mids, ip); err != nil {
log.Error("s.acc.Infos mids(%v), ip(%s) err(%v)", mids, ip, err)
return
}
}
els := make([]*model.RecentElec, 0, len(l.List))
for _, v := range l.List {
el := &model.RecentElec{}
el.AID = v.AID
el.MID = v.MID
el.ElecNum = v.ElecNum
el.Avatar = v.Avatar
el.CTime = v.CTime
if ui, ok := u[el.MID]; ok && ui != nil {
el.Avatar = ui.Face
el.Uname = ui.Name
}
if el.AID > 0 {
if av, ok := a[el.AID]; ok && av != nil {
el.Title = av.Title
}
}
els = append(els, el)
}
l.List = els
return
}
// RemarkList get remark list.
func (s *Service) RemarkList(c context.Context, mid int64, pn, ps int, bg, end, ip string) (rms *model.RemarkList, err error) {
if rms, err = s.elec.RemarkList(c, mid, pn, ps, bg, end, ip); err != nil {
log.Error("s.elec.RemarkList error(%d, %v)", mid, err)
}
return
}
// RemarkDetail get remark detail.
func (s *Service) RemarkDetail(c context.Context, mid, id int64, ip string) (rm *model.Remark, err error) {
if rm, err = s.elec.RemarkDetail(c, mid, id, ip); err != nil {
log.Error("s.elec.RemarkDetail error(%d, %d,%v)", mid, id, err)
}
return
}
// Remark reply a msg.
func (s *Service) Remark(c context.Context, mid, id int64, msg, ak, ck, ip string) (status int, err error) {
if status, err = s.elec.Remark(c, mid, id, msg, ak, ck, ip); err != nil {
log.Error("s.elec.Remark error(%d, %d, %v)", mid, id, err)
}
return
}

View File

@@ -0,0 +1,68 @@
package elec
import (
"context"
"go-common/library/log"
"go-common/app/interface/main/creative/conf"
"go-common/app/interface/main/creative/dao/account"
"go-common/app/interface/main/creative/dao/archive"
"go-common/app/interface/main/creative/dao/elec"
elecMdl "go-common/app/interface/main/creative/model/elec"
"go-common/app/interface/main/creative/service"
)
//Service struct.
type Service struct {
c *conf.Config
elec *elec.Dao
acc *account.Dao
arc *archive.Dao
}
//New get service.
func New(c *conf.Config, rpcdaos *service.RPCDaos) *Service {
s := &Service{
c: c,
elec: elec.New(c),
acc: rpcdaos.Acc,
arc: rpcdaos.Arc,
}
return s
}
// UserState get user elec state.
func (s *Service) UserState(c context.Context, mid int64, ip, ak, ck string) (data *elecMdl.UserState, err error) {
data, err = s.elec.UserState(c, mid, ip)
return
}
// ArchiveState get arc elec state.
func (s *Service) ArchiveState(c context.Context, aid, mid int64, ip string) (data *elecMdl.ArcState, err error) {
data, err = s.elec.ArchiveState(c, aid, mid, ip)
return
}
// CheckIsFriend check paymid state.
func (s *Service) CheckIsFriend(c context.Context, data []*elecMdl.Rank, mid int64, ip string) (res []*elecMdl.Rank, err error) {
var mids []int64
for _, v := range data {
mids = append(mids, v.PayMID)
}
richRel, err := s.acc.RichRelation(c, mid, mids, ip)
if err != nil {
log.Error("s.acc.RichRelation error(%d, %v)", mid, err)
return
}
if len(richRel) > 0 {
for _, v := range data {
if richRel[v.PayMID] == 3 || richRel[v.PayMID] == 4 {
v.IsFriend = true
} else {
v.IsFriend = false
}
}
}
res = data
return
}

View File

@@ -0,0 +1,84 @@
package elec
import (
"context"
"flag"
"go-common/app/interface/main/creative/conf"
"path/filepath"
"testing"
"time"
. "github.com/smartystreets/goconvey/convey"
"go-common/app/interface/main/creative/service"
)
var (
s *Service
)
func init() {
dir, _ := filepath.Abs("../../cmd/creative.toml")
flag.Set("conf", dir)
conf.Init()
rpcdaos := service.NewRPCDaos(conf.Conf)
s = New(conf.Conf, rpcdaos)
time.Sleep(time.Second)
}
func WithService(f func(s *Service)) func() {
return func() {
Reset(func() {})
f(s)
}
}
func Test_State(t *testing.T) {
var (
c = context.TODO()
mid = int64(2089809)
)
Convey("ArchiveState", t, WithService(func(s *Service) {
_, err := s.ArchiveState(c, 2333, mid, "")
So(err, ShouldBeNil)
}))
Convey("UserState", t, WithService(func(s *Service) {
_, err := s.UserState(c, mid, "", "", "")
So(err, ShouldBeNil)
}))
Convey("UserInfo", t, WithService(func(s *Service) {
_, err := s.UserInfo(c, mid, "")
So(err, ShouldBeNil)
}))
Convey("Notify", t, WithService(func(s *Service) {
_, err := s.Notify(c, "")
So(err, ShouldBeNil)
}))
Convey("Status", t, WithService(func(s *Service) {
_, err := s.Status(c, mid, "")
So(err, ShouldBeNil)
}))
Convey("UpStatus", t, WithService(func(s *Service) {
err := s.UpStatus(c, mid, 1, "")
So(err, ShouldBeNil)
}))
Convey("RecentRank", t, WithService(func(s *Service) {
_, err := s.RecentRank(c, mid, 10, "")
So(err, ShouldBeNil)
}))
Convey("CurrentRank", t, WithService(func(s *Service) {
_, err := s.CurrentRank(c, mid, "")
So(err, ShouldBeNil)
}))
Convey("TotalRank", t, WithService(func(s *Service) {
_, err := s.TotalRank(c, mid, "")
So(err, ShouldBeNil)
}))
Convey("Balance", t, WithService(func(s *Service) {
_, err := s.Balance(c, mid, "")
So(err, ShouldBeNil)
}))
Convey("RemarkDetail", t, WithService(func(s *Service) {
_, err := s.RemarkDetail(c, mid, 233, "")
So(err, ShouldBeNil)
}))
}