Quellcode durchsuchen

Merge branch 'master' of https://git.i2edu.net/i2/i2-bill-api

2637309949 vor 4 Jahren
Ursprung
Commit
0e20517b9e

BIN
asserts/qrcode/123.png


+ 14 - 0
go.sum

@@ -39,6 +39,7 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee
 github.com/coreos/go-systemd/v22 v22.0.0 h1:XJIw/+VlJ+87J+doOxznsAWIdmWuViOVhkQamW5YV28=
 github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
+github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM=
 github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
 github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -48,6 +49,7 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumC
 github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
 github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4 h1:qk/FSDDxo05wdJH28W+p5yivv7LuLYLRXPPD8KQCtZs=
 github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
+github.com/emicklei/proto v1.9.0 h1:l0QiNT6Qs7Yj0Mb4X6dnWBQer4ebei2BFcgQLbGqUDc=
 github.com/emicklei/proto v1.9.0/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
 github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
@@ -55,8 +57,10 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
 github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
 github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
+github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4=
 github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
 github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o=
+github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
@@ -128,6 +132,7 @@ github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslC
 github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI=
 github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
+github.com/iancoleman/strcase v0.1.2 h1:gnomlvw9tnV3ITTAxzKSgTF+8kFWcU/f+TgttpXGz1U=
 github.com/iancoleman/strcase v0.1.2/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
@@ -155,6 +160,7 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
+github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8=
 github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
 github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
 github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
@@ -176,6 +182,7 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN
 github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
 github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32 h1:W6apQkHrMkS0Muv8G/TipAy/FJl/rCYT0+EuS8+Z0z4=
 github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms=
 github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA=
@@ -212,6 +219,7 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So
 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
 github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
@@ -233,18 +241,23 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
 github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
 github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+github.com/tal-tech/go-zero v1.1.7 h1:rs78kI5ZiBx1RIl562qDzkBV8P7CdnbCiljknyC4mXg=
+github.com/tal-tech/go-zero v1.1.7/go.mod h1:BEylLQnv5moldpMT1lH3kUoMEcdaIp+r9Lgp+41dXxg=
 github.com/thoas/go-funk v0.8.0/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q=
 github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
 github.com/tmc/grpc-websocket-proxy v0.0.0-20171017195756-830351dc03c6 h1:lYIiVDtZnyTWlNwiAxLj0bbpTcx1BWCFhXjfsvmPdNc=
 github.com/tmc/grpc-websocket-proxy v0.0.0-20171017195756-830351dc03c6/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
 github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
+github.com/urfave/cli v1.22.5 h1:lNq9sAHXK2qfdI8W+GRItjCEkI+2oR4d+MEHy1CKXoU=
 github.com/urfave/cli v1.22.5/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=
 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
+github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2 h1:zzrxE1FKn5ryBNl9eKOeqQ58Y/Qpo3Q9QNxKHX5uzzQ=
 github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2/go.mod h1:hzfGeIUDq/j97IG+FhNqkowIyEcD88LrW6fyU3K3WqY=
 github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/gopher-lua v0.0.0-20191220021717-ab39c6098bdb h1:ZkM6LRnq40pR1Ox0hTHlnpkcOTuFIDQpZ1IN8rKKhX0=
 github.com/yuin/gopher-lua v0.0.0-20191220021717-ab39c6098bdb/go.mod h1:gqRgreBUhTSL0GeU64rtZ3Uq3wtjOa/TB2YfrtkCbVQ=
+github.com/zeromicro/antlr v0.0.1 h1:CQpIn/dc0pUjgGQ81y98s/NGOm2Hfru2NNio2I9mQgk=
 github.com/zeromicro/antlr v0.0.1/go.mod h1:nfpjEwFR6Q4xGDJMcZnCL9tEfQRgszMwu3rDz2Z+p5M=
 go.etcd.io/bbolt v1.3.4 h1:hi1bXHMVrlQh6WwxAy+qZCV/SYIlqo+Ushwdpa4tAKg=
 go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
@@ -278,6 +291,7 @@ golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7
 golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
 golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
 golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=
 golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=

+ 6 - 2
i2bill.api

@@ -114,7 +114,7 @@ type Response {
 service i2bill-api {
 	@handler Hello
 	get /api/hello
-	
+
 	@handler LoginByWeixin
 	post /api/auth/loginByWeixin(loginByWeixinRequest) returns(loginByWeixinResponse)
 }
@@ -135,7 +135,11 @@ service i2bill-api {
 	
 	@handler PunchClock
 	post /api/user/punchClock(punchClockRequest) returns(Response)
-	
+
 	@handler  PartTimeUserAd
+	@handler  PartTimeUserAdd
 	post /api/v1/part_time_user/add (partTimeUserAddRequest) returns(Response)
+
+	@handler  PartTimeUserUpdate
+	post /api/v1/part_time_user/update (partTimeUserAddRequest) returns(Response)
 }

+ 29 - 0
internal/handler/parttimeuseraddhandler.go

@@ -0,0 +1,29 @@
+package handler
+
+import (
+	"net/http"
+
+	"git.i2edu.net/i2/i2-bill-api/internal/logic"
+	"git.i2edu.net/i2/i2-bill-api/internal/svc"
+	"git.i2edu.net/i2/i2-bill-api/internal/types"
+
+	"github.com/tal-tech/go-zero/rest/httpx"
+)
+
+func PartTimeUserAddHandler(ctx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.PartTimeUserAddRequest
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewPartTimeUserAddLogic(r.Context(), ctx)
+		resp, err := l.PartTimeUserAdd(req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 5 - 5
internal/handler/user/parttimeuseradhandler.go → internal/handler/parttimeuserupdatehandler.go

@@ -1,16 +1,16 @@
-package user
+package handler
 
 import (
 	"net/http"
 
-	"git.i2edu.net/i2/i2-bill-api/internal/logic/user"
+	"git.i2edu.net/i2/i2-bill-api/internal/logic"
 	"git.i2edu.net/i2/i2-bill-api/internal/svc"
 	"git.i2edu.net/i2/i2-bill-api/internal/types"
 
 	"git.i2edu.net/i2/go-zero/rest/httpx"
 )
 
-func PartTimeUserAdHandler(ctx *svc.ServiceContext) http.HandlerFunc {
+func PartTimeUserUpdateHandler(ctx *svc.ServiceContext) http.HandlerFunc {
 	return func(w http.ResponseWriter, r *http.Request) {
 		var req types.PartTimeUserAddRequest
 		if err := httpx.Parse(r, &req); err != nil {
@@ -18,8 +18,8 @@ func PartTimeUserAdHandler(ctx *svc.ServiceContext) http.HandlerFunc {
 			return
 		}
 
-		l := user.NewPartTimeUserAdLogic(r.Context(), ctx)
-		resp, err := l.PartTimeUserAd(req)
+		l := logic.NewPartTimeUserUpdateLogic(r.Context(), ctx)
+		resp, err := l.PartTimeUserUpdate(req)
 		if err != nil {
 			httpx.Error(w, err)
 		} else {

+ 6 - 1
internal/handler/routes.go

@@ -52,7 +52,12 @@ func RegisterHandlers(engine *rest.Server, serverCtx *svc.ServiceContext) {
 			{
 				Method:  http.MethodPost,
 				Path:    "/api/v1/part_time_user/add",
-				Handler: user.PartTimeUserAdHandler(serverCtx),
+				Handler: PartTimeUserAddHandler(serverCtx),
+			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/api/v1/part_time_user/update",
+				Handler: PartTimeUserUpdateHandler(serverCtx),
 			},
 		},
 		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),

+ 15 - 0
internal/logic/logic_test.go

@@ -0,0 +1,15 @@
+package logic
+
+import (
+	"fmt"
+	"testing"
+)
+
+func TestCreateJWT(t *testing.T) {
+	l := new(LoginByWeixinLogic)
+	payloads := map[string]interface{}{
+		"userId":     3,
+		"sessionKey": "sessionKey",
+	}
+	fmt.Println(l.CreateJWT(1624415746, "6hy789iu87", payloads, 604800))
+}

+ 72 - 0
internal/logic/parttimeuseraddlogic.go

@@ -0,0 +1,72 @@
+package logic
+
+import (
+	"context"
+	"git.i2edu.net/i2/go-zero/core/stores/sqlx"
+	"git.i2edu.net/i2/i2-bill-api/internal/utils"
+	"git.i2edu.net/i2/i2-bill-api/model"
+	"time"
+
+	"git.i2edu.net/i2/i2-bill-api/internal/svc"
+	"git.i2edu.net/i2/i2-bill-api/internal/types"
+
+	"git.i2edu.net/i2/go-zero/core/logx"
+)
+
+type PartTimeUserAddLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewPartTimeUserAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) PartTimeUserAddLogic {
+	return PartTimeUserAddLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *PartTimeUserAddLogic) PartTimeUserAdd(req types.PartTimeUserAddRequest) (*types.Response, error) {
+	// todo: add your logic here and delete this line
+	userId := utils.GetUserIdByJwt(l.ctx)
+	var bean = new(model.I2billMktPartTimeUser)
+	err := l.svcCtx.SqlConn.QueryRow(bean, "select * from i2bill_mkt_part_time_user where user_id = ? and del_flag = 0", userId)
+	if err != nil && err != sqlx.ErrNotFound {
+		return &types.Response{Code: 500, Msg: err.Error(), Data: nil}, nil
+	}
+	if bean.Id != 0 {
+		if bean.CheckState == 54 {
+			return &types.Response{Code: 500, Msg: "你的申请兼职人员的个人信息已提交,请等待审核!", Data: nil}, nil
+		}
+		if bean.CheckState == 58 {
+			return &types.Response{Code: 500, Msg: "你的申请兼职人员的个人信息不通过原因:" + bean.CheckDesc, Data: nil}, nil
+		}
+		if bean.CheckState == 57 {
+			return &types.Response{Code: 500, Msg: "你已经是兼职人员:", Data: nil}, nil
+		}
+	}
+
+	bean = &model.I2billMktPartTimeUser{
+		CreateTime:     time.Now(),
+		LastUpdateTime: time.Now(),
+		DelFlag:        0,
+		MkId:           req.MkId,
+		CreateBy:       1,
+		CheckState:     54,
+		CheckDesc:      "",
+		CityId:         req.CityId,
+		IponeNumber:    "",
+		Sex:            req.Sex,
+		Target:         0,
+		UserId:         userId,
+		LastUpdateBy:   0,
+		Name:           req.Name,
+	}
+	res, err := model.NewI2billMktPartTimeUserModel(l.svcCtx.SqlConn).Insert(*bean)
+	if err != nil {
+		return &types.Response{Code: 500, Msg: err.Error(), Data: nil}, nil
+	}
+	id, _ := res.LastInsertId()
+	return &types.Response{Code: 200, Msg: "", Data: id}, nil
+}

+ 61 - 0
internal/logic/parttimeuserupdatelogic.go

@@ -0,0 +1,61 @@
+package logic
+
+import (
+	"context"
+	"git.i2edu.net/i2/go-zero/core/stores/sqlx"
+	"git.i2edu.net/i2/i2-bill-api/internal/utils"
+	"git.i2edu.net/i2/i2-bill-api/model"
+	"time"
+
+	"git.i2edu.net/i2/i2-bill-api/internal/svc"
+	"git.i2edu.net/i2/i2-bill-api/internal/types"
+
+	"git.i2edu.net/i2/go-zero/core/logx"
+)
+
+type PartTimeUserUpdateLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewPartTimeUserUpdateLogic(ctx context.Context, svcCtx *svc.ServiceContext) PartTimeUserUpdateLogic {
+	return PartTimeUserUpdateLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *PartTimeUserUpdateLogic) PartTimeUserUpdate(req types.PartTimeUserAddRequest) (*types.Response, error) {
+	// todo: add your logic here and delete this line
+	userId := utils.GetUserIdByJwt(l.ctx)
+	var bean = new(model.I2billMktPartTimeUser)
+	err := l.svcCtx.SqlConn.QueryRow(bean, "select * from i2bill_mkt_part_time_user where user_id = ? and del_flag = 0", userId)
+	if err != nil && err != sqlx.ErrNotFound {
+		return &types.Response{Code: 500, Msg: err.Error(), Data: nil}, nil
+	}
+	if bean.Id == 0 {
+		return &types.Response{Code: 500, Msg: "你还没有申请成为兼职人员", Data: nil}, nil
+	}
+	if bean.Id != 0 {
+		if bean.CheckState == 54 {
+			return &types.Response{Code: 500, Msg: "你的申请兼职人员的个人信息已提交,请等待审核!", Data: nil}, nil
+		}
+		if bean.CheckState == 57 {
+			return &types.Response{Code: 500, Msg: "你已经是兼职人员:", Data: nil}, nil
+		}
+	}
+	bean.LastUpdateTime = time.Now()
+	bean.CheckState = 54
+	bean.CheckDesc = ""
+	bean.CityId = req.CityId
+	bean.Sex = req.Sex
+	bean.Name = req.Name
+	bean.LastUpdateBy = userId
+	err = model.NewI2billMktPartTimeUserModel(l.svcCtx.SqlConn).Update(*bean)
+	if err != nil {
+		return &types.Response{Code: 500, Msg: err.Error(), Data: nil}, nil
+	}
+	return &types.Response{Code: 200, Msg: "", Data: nil}, nil
+}

+ 0 - 56
internal/logic/user/parttimeuseradlogic.go

@@ -1,56 +0,0 @@
-package user
-
-import (
-	"context"
-	"time"
-
-	"git.i2edu.net/i2/go-zero/core/stores/cache"
-	"git.i2edu.net/i2/i2-bill-api/model"
-
-	"git.i2edu.net/i2/i2-bill-api/internal/svc"
-	"git.i2edu.net/i2/i2-bill-api/internal/types"
-
-	"git.i2edu.net/i2/go-zero/core/logx"
-)
-
-type PartTimeUserAdLogic struct {
-	logx.Logger
-	ctx    context.Context
-	svcCtx *svc.ServiceContext
-}
-
-func NewPartTimeUserAdLogic(ctx context.Context, svcCtx *svc.ServiceContext) PartTimeUserAdLogic {
-	return PartTimeUserAdLogic{
-		Logger: logx.WithContext(ctx),
-		ctx:    ctx,
-		svcCtx: svcCtx,
-	}
-}
-
-func (l *PartTimeUserAdLogic) PartTimeUserAd(req types.PartTimeUserAddRequest) (types.Response, error) {
-	// todo: add your logic here and delete this line
-	userInfo := new(model.User)
-	var bean = model.I2billMktPartTimeUser{
-		CreateTime:     time.Now(),
-		LastUpdateTime: time.Now(),
-		DelFlag:        0,
-		MkId:           req.MkId,
-		CreateBy:       1,
-		CheckState:     54,
-		CheckDesc:      "",
-		CityId:         req.CityId,
-		IponeNumber:    "",
-		Sex:            req.Sex,
-		Target:         0,
-		UserId:         userInfo.Id,
-		LastUpdateBy:   0,
-		Name:           req.Name,
-	}
-	res, err := model.NewI2billMktPartTimeUserModel(l.svcCtx.SqlConn, cache.CacheConf{}).Insert(bean)
-	var msg string
-	if err != nil {
-		msg = err.Error()
-	}
-
-	return types.Response{Code: 200, Msg: msg, Data: res}, nil
-}

+ 13 - 0
internal/utils/utils.go

@@ -1,6 +1,8 @@
 package utils
 
 import (
+	"context"
+	"encoding/json"
 	"strconv"
 	"time"
 
@@ -24,3 +26,14 @@ func ValidTime(t time.Time) bool {
 	t1970, _ := time.Parse("2006-01-02", "1970-01-01")
 	return t.After(t1970)
 }
+
+func String2Int64(str string) int64 {
+	number, _ := strconv.ParseInt(str, 10, 64)
+	return number
+}
+
+func GetUserIdByJwt(ctx context.Context) int64 {
+	UserIdStr := ctx.Value("userId").(json.Number)
+	return String2Int64(UserIdStr.String())
+
+}

+ 2 - 2
model/i2bill_mkt_part_time_user.sql

@@ -12,9 +12,9 @@ CREATE TABLE `i2bill_mkt_part_time_user`  (
   `check_state` int(0) NOT NULL DEFAULT 54 COMMENT '审核状态',
   `check_desc` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '审核失败描述',
   `create_by`  int(0)  NOT NULL DEFAULT 0,
-  `create_time` datetime(0) NOT NULL DEFAULT '',
+  `create_time` datetime(0)  NOT NULL DEFAULT CURRENT_TIMESTAMP,
   `last_update_by`  int(0)  NOT NULL DEFAULT 0,
-  `last_update_time` datetime(0) NOT NULL DEFAULT '',
+  `last_update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,
   `del_flag` int(0) NOT NULL DEFAULT 0,
   PRIMARY KEY (`id`) USING BTREE,
   INDEX `IDX_mkt_part_time_user_ipone_number`(`ipone_number`) USING BTREE,

+ 0 - 24
model/i2bill_part_time_user.sql

@@ -1,24 +0,0 @@
---兼职人员表--
-DROP TABLE IF EXISTS `i2bill_mkt_part_time_user`;
-CREATE TABLE `i2bill_mkt_part_time_user`  (
-  `id` int(0) NOT NULL AUTO_INCREMENT,
-  `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-  `ipone_number` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-  `sex` int(0) NULL DEFAULT NULL,
-  `target` int(0) NULL DEFAULT NULL COMMENT '目标人数',
-  `user_id` int(0) NULL DEFAULT NULL COMMENT 'user_id',
-  `mk_id` varchar(36)  NULL DEFAULT NULL COMMENT '所属erp mk id',
-  `city_id` int(0) NULL DEFAULT NULL  COMMENT '城市',
-  `check_state` int(0) NULL DEFAULT NULL COMMENT '审核状态',
-  `check_desc` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '审核失败描述',
-  `create_by` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-  `create_time` datetime(0) NULL DEFAULT NULL,
-  `last_update_by` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-  `last_update_time` datetime(0) NULL DEFAULT NULL,
-  `del_flag` int(0) NULL DEFAULT NULL,
-  PRIMARY KEY (`id`) USING BTREE,
-  INDEX `IDX_mkt_part_time_user_ipone_number`(`ipone_number`) USING BTREE,
-  INDEX `IDX_mkt_part_time_user_name`(`name`) USING BTREE,
-  INDEX `IDX_mkt_part_time_user_sex`(`sex`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-

+ 0 - 114
model/i2billacquirerstudentmodel.go

@@ -1,114 +0,0 @@
-package model
-
-import (
-	"database/sql"
-	"fmt"
-	"strings"
-
-	"git.i2edu.net/i2/go-zero/core/stores/cache"
-	"git.i2edu.net/i2/go-zero/core/stores/sqlc"
-	"git.i2edu.net/i2/go-zero/core/stores/sqlx"
-	"git.i2edu.net/i2/go-zero/core/stringx"
-	"git.i2edu.net/i2/go-zero/tools/goctl/model/sql/builderx"
-)
-
-var (
-	i2billAcquirerStudentFieldNames          = builderx.RawFieldNames(&I2billAcquirerStudent{})
-	i2billAcquirerStudentRows                = strings.Join(i2billAcquirerStudentFieldNames, ",")
-	i2billAcquirerStudentRowsExpectAutoSet   = strings.Join(stringx.Remove(i2billAcquirerStudentFieldNames, "`create_time`", "`update_time`"), ",")
-	i2billAcquirerStudentRowsWithPlaceHolder = strings.Join(stringx.Remove(i2billAcquirerStudentFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
-
-	cacheI2billAcquirerStudentIdPrefix = "cache:i2billAcquirerStudent:id:"
-)
-
-type (
-	I2billAcquirerStudentModel interface {
-		Insert(data I2billAcquirerStudent) (sql.Result, error)
-		FindOne(id int64) (*I2billAcquirerStudent, error)
-		Update(data I2billAcquirerStudent) error
-		Delete(id int64) error
-	}
-
-	defaultI2billAcquirerStudentModel struct {
-		sqlc.CachedConn
-		table string
-	}
-
-	I2billAcquirerStudent struct {
-		MkId            sql.NullString `db:"mk_id"`     // 所属mk erp id
-		StuName         sql.NullString `db:"stu_name"`  // 学员名称
-		StuPhone        sql.NullString `db:"stu_phone"` // 联系方式
-		SchId           sql.NullInt64  `db:"sch_id"`    // 意向校区
-		Id              int64          `db:"id"`        // 主键
-		Address         sql.NullString `db:"address"`   // 当前位置
-		CreateTime      sql.NullTime   `db:"create_time"`
-		DelFlag         sql.NullString `db:"del_flag"`
-		CheckTime       sql.NullTime   `db:"check_time"`        // 审核日期
-		AgeGroup        string         `db:"age_group"`         // 学员年龄
-		NetworkDetailId sql.NullString `db:"network_detail_id"` // 渠道
-		PartTimeUserId  sql.NullInt64  `db:"part_time_user_id"`
-		UserId          sql.NullInt64  `db:"user_id"`         // 收单宝用户id
-		StuLinkPerson   sql.NullString `db:"stu_link_person"` // 联系人
-		CheckState      sql.NullInt64  `db:"check_state"`     // 收单宝状态
-		CheckBy         sql.NullString `db:"check_by"`        // 审核人
-	}
-)
-
-func NewI2billAcquirerStudentModel(conn sqlx.SqlConn, c cache.CacheConf) I2billAcquirerStudentModel {
-	return &defaultI2billAcquirerStudentModel{
-		CachedConn: sqlc.NewConn(conn, c),
-		table:      "`i2bill_acquirer_student`",
-	}
-}
-
-func (m *defaultI2billAcquirerStudentModel) Insert(data I2billAcquirerStudent) (sql.Result, error) {
-	query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, i2billAcquirerStudentRowsExpectAutoSet)
-	ret, err := m.ExecNoCache(query, data.MkId, data.StuName, data.StuPhone, data.SchId, data.Id, data.Address, data.DelFlag, data.CheckTime, data.AgeGroup, data.NetworkDetailId, data.PartTimeUserId, data.UserId, data.StuLinkPerson, data.CheckState, data.CheckBy)
-
-	return ret, err
-}
-
-func (m *defaultI2billAcquirerStudentModel) FindOne(id int64) (*I2billAcquirerStudent, error) {
-	i2billAcquirerStudentIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerStudentIdPrefix, id)
-	var resp I2billAcquirerStudent
-	err := m.QueryRow(&resp, i2billAcquirerStudentIdKey, func(conn sqlx.SqlConn, v interface{}) error {
-		query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", i2billAcquirerStudentRows, m.table)
-		return conn.QueryRow(v, query, id)
-	})
-	switch err {
-	case nil:
-		return &resp, nil
-	case sqlc.ErrNotFound:
-		return nil, ErrNotFound
-	default:
-		return nil, err
-	}
-}
-
-func (m *defaultI2billAcquirerStudentModel) Update(data I2billAcquirerStudent) error {
-	i2billAcquirerStudentIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerStudentIdPrefix, data.Id)
-	_, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
-		query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, i2billAcquirerStudentRowsWithPlaceHolder)
-		return conn.Exec(query, data.MkId, data.StuName, data.StuPhone, data.SchId, data.Address, data.DelFlag, data.CheckTime, data.AgeGroup, data.NetworkDetailId, data.PartTimeUserId, data.UserId, data.StuLinkPerson, data.CheckState, data.CheckBy, data.Id)
-	}, i2billAcquirerStudentIdKey)
-	return err
-}
-
-func (m *defaultI2billAcquirerStudentModel) Delete(id int64) error {
-
-	i2billAcquirerStudentIdKey := fmt.Sprintf("%s%v", cacheI2billAcquirerStudentIdPrefix, id)
-	_, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
-		query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
-		return conn.Exec(query, id)
-	}, i2billAcquirerStudentIdKey)
-	return err
-}
-
-func (m *defaultI2billAcquirerStudentModel) formatPrimary(primary interface{}) string {
-	return fmt.Sprintf("%s%v", cacheI2billAcquirerStudentIdPrefix, primary)
-}
-
-func (m *defaultI2billAcquirerStudentModel) queryPrimary(conn sqlx.SqlConn, v, primary interface{}) error {
-	query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", i2billAcquirerStudentRows, m.table)
-	return conn.QueryRow(v, query, primary)
-}

+ 22 - 45
model/i2billmktparttimeusermodel.go

@@ -6,7 +6,6 @@ import (
 	"strings"
 	"time"
 
-	"git.i2edu.net/i2/go-zero/core/stores/cache"
 	"git.i2edu.net/i2/go-zero/core/stores/sqlc"
 	"git.i2edu.net/i2/go-zero/core/stores/sqlx"
 	"git.i2edu.net/i2/go-zero/core/stringx"
@@ -18,8 +17,6 @@ var (
 	i2billMktPartTimeUserRows                = strings.Join(i2billMktPartTimeUserFieldNames, ",")
 	i2billMktPartTimeUserRowsExpectAutoSet   = strings.Join(stringx.Remove(i2billMktPartTimeUserFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
 	i2billMktPartTimeUserRowsWithPlaceHolder = strings.Join(stringx.Remove(i2billMktPartTimeUserFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
-
-	cacheI2billMktPartTimeUserIdPrefix = "cache:i2billMktPartTimeUser:id:"
 )
 
 type (
@@ -31,50 +28,46 @@ type (
 	}
 
 	defaultI2billMktPartTimeUserModel struct {
-		sqlc.CachedConn
+		conn  sqlx.SqlConn
 		table string
 	}
 
 	I2billMktPartTimeUser struct {
-		CreateTime     time.Time `db:"create_time"`
-		LastUpdateTime time.Time `db:"last_update_time"`
+		CheckDesc      string    `db:"check_desc"` // 审核失败描述
+		UserId         int64     `db:"user_id"`    // user_id
 		DelFlag        int64     `db:"del_flag"`
-		MkId           string    `db:"mk_id"` // 所属erp mk id
-		CreateBy       int64     `db:"create_by"`
-		CheckState     int64     `db:"check_state"` // 审核状态
-		CheckDesc      string    `db:"check_desc"`  // 审核失败描述
-		CityId         int64     `db:"city_id"`     // 城市
-		IponeNumber    string    `db:"ipone_number"`
+		Name           string    `db:"name"`
 		Sex            int64     `db:"sex"`
-		Target         int64     `db:"target"`  // 目标人数
-		UserId         int64     `db:"user_id"` // user_id
+		CheckState     int64     `db:"check_state"` // 审核状态
+		CreateTime     time.Time `db:"create_time"`
+		LastUpdateTime time.Time `db:"last_update_time"`
 		LastUpdateBy   int64     `db:"last_update_by"`
 		Id             int64     `db:"id"`
-		Name           string    `db:"name"`
+		IponeNumber    string    `db:"ipone_number"`
+		Target         int64     `db:"target"`  // 目标人数
+		MkId           string    `db:"mk_id"`   // 所属erp mk id
+		CityId         int64     `db:"city_id"` // 城市
+		CreateBy       int64     `db:"create_by"`
 	}
 )
 
-func NewI2billMktPartTimeUserModel(conn sqlx.SqlConn, c cache.CacheConf) I2billMktPartTimeUserModel {
+func NewI2billMktPartTimeUserModel(conn sqlx.SqlConn) I2billMktPartTimeUserModel {
 	return &defaultI2billMktPartTimeUserModel{
-		CachedConn: sqlc.NewConn(conn, c),
-		table:      "`i2bill_mkt_part_time_user`",
+		conn:  conn,
+		table: "`i2bill_mkt_part_time_user`",
 	}
 }
 
 func (m *defaultI2billMktPartTimeUserModel) Insert(data I2billMktPartTimeUser) (sql.Result, error) {
 	query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, i2billMktPartTimeUserRowsExpectAutoSet)
-	ret, err := m.ExecNoCache(query, data.LastUpdateTime, data.DelFlag, data.MkId, data.CreateBy, data.CheckState, data.CheckDesc, data.CityId, data.IponeNumber, data.Sex, data.Target, data.UserId, data.LastUpdateBy, data.Name)
-
+	ret, err := m.conn.Exec(query, data.CheckDesc, data.UserId, data.DelFlag, data.Name, data.Sex, data.CheckState, data.LastUpdateTime, data.LastUpdateBy, data.IponeNumber, data.Target, data.MkId, data.CityId, data.CreateBy)
 	return ret, err
 }
 
 func (m *defaultI2billMktPartTimeUserModel) FindOne(id int64) (*I2billMktPartTimeUser, error) {
-	i2billMktPartTimeUserIdKey := fmt.Sprintf("%s%v", cacheI2billMktPartTimeUserIdPrefix, id)
+	query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", i2billMktPartTimeUserRows, m.table)
 	var resp I2billMktPartTimeUser
-	err := m.QueryRow(&resp, i2billMktPartTimeUserIdKey, func(conn sqlx.SqlConn, v interface{}) error {
-		query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", i2billMktPartTimeUserRows, m.table)
-		return conn.QueryRow(v, query, id)
-	})
+	err := m.conn.QueryRow(&resp, query, id)
 	switch err {
 	case nil:
 		return &resp, nil
@@ -86,29 +79,13 @@ func (m *defaultI2billMktPartTimeUserModel) FindOne(id int64) (*I2billMktPartTim
 }
 
 func (m *defaultI2billMktPartTimeUserModel) Update(data I2billMktPartTimeUser) error {
-	i2billMktPartTimeUserIdKey := fmt.Sprintf("%s%v", cacheI2billMktPartTimeUserIdPrefix, data.Id)
-	_, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
-		query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, i2billMktPartTimeUserRowsWithPlaceHolder)
-		return conn.Exec(query, data.LastUpdateTime, data.DelFlag, data.MkId, data.CreateBy, data.CheckState, data.CheckDesc, data.CityId, data.IponeNumber, data.Sex, data.Target, data.UserId, data.LastUpdateBy, data.Name, data.Id)
-	}, i2billMktPartTimeUserIdKey)
+	query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, i2billMktPartTimeUserRowsWithPlaceHolder)
+	_, err := m.conn.Exec(query, data.CheckDesc, data.UserId, data.DelFlag, data.Name, data.Sex, data.CheckState, data.LastUpdateTime, data.LastUpdateBy, data.IponeNumber, data.Target, data.MkId, data.CityId, data.CreateBy, data.Id)
 	return err
 }
 
 func (m *defaultI2billMktPartTimeUserModel) Delete(id int64) error {
-
-	i2billMktPartTimeUserIdKey := fmt.Sprintf("%s%v", cacheI2billMktPartTimeUserIdPrefix, id)
-	_, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
-		query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
-		return conn.Exec(query, id)
-	}, i2billMktPartTimeUserIdKey)
+	query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
+	_, err := m.conn.Exec(query, id)
 	return err
 }
-
-func (m *defaultI2billMktPartTimeUserModel) formatPrimary(primary interface{}) string {
-	return fmt.Sprintf("%s%v", cacheI2billMktPartTimeUserIdPrefix, primary)
-}
-
-func (m *defaultI2billMktPartTimeUserModel) queryPrimary(conn sqlx.SqlConn, v, primary interface{}) error {
-	query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", i2billMktPartTimeUserRows, m.table)
-	return conn.QueryRow(v, query, primary)
-}