k.zhang 3 years ago
parent
commit
ae283632dc

+ 1 - 0
.idea/duoduo.iml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="WEB_MODULE" version="4">
+  <component name="Go" enabled="true" />
   <component name="GoLibraries">
     <option name="urls">
       <list>

+ 1 - 0
apis/petsLy/base.go

@@ -8,6 +8,7 @@ func InitPetsRouter(engine *gin.RouterGroup) {
 		v1.POST("/pets.ly/create", PetsCreate) //创建宠物信息
 		v1.POST("/pets.ly/upload/create", CreateUpload)
 		v1.POST("/pets.ly/list", PetsList)
+		v1.POST("/pets.ly/details",PetsDetails)
 	}
 
 }

+ 1 - 0
apis/petsLy/pets.create.go

@@ -92,6 +92,7 @@ func PetsCreate(c *gin.Context) {
 	pets.Area = inData.Area
 	pets.City = inData.City
 	pets.Deposit = inData.Deposit
+	pets.OpenId = inData.OpenId
 
 	if inData.IsFee == 2 {
 		pets.DepositDate, err = tools.GetStringToTime(inData.DepositDate)

+ 63 - 0
apis/petsLy/pets.details.go

@@ -0,0 +1,63 @@
+package petsLy
+
+import (
+	"duoduo/models/mysqlLy"
+	"duoduo/models/petsLy"
+	"duoduo/tools"
+	"duoduo/tools/app"
+	"fmt"
+	"github.com/gin-gonic/gin"
+)
+
+func PetsDetails(c *gin.Context)  {
+	var inData petsLy.PetsDetailsRequest
+	var pets mysqlLy.Pets
+	var outData petsLy.PetsDetailsResponse
+	var user mysqlLy.User
+
+	err := c.ShouldBindJSON(&inData)
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+
+	pets.ID = inData.PetsId
+	petsInfo, err := pets.Get()
+	if err != nil {
+		app.Error(c, 500, err, "查询数据失败")
+		return
+	}
+	user.OpenID = petsInfo.OpenId
+	userInfo,err := user.Get()
+	if err != nil{
+		app.Error(c,500,err,"获取用户信息失败")
+		return
+	}
+
+	if petsInfo.Status == 2{
+		userInfo.Phone = "***********"
+		userInfo.WxCode = "***********"
+	}
+
+
+	outData.PetsInfo = petsInfo
+	outData.Phone = userInfo.Phone
+	outData.WxCode = userInfo.WxCode
+	outData.DepositDate = outData.PetsInfo.DepositDate.Format("2006-01-02")
+
+
+	err = tools.JsonUnmarshal(outData.PetsInfo.Pictures,&outData.Pictures)
+	if err != nil{
+		fmt.Println(err.Error())
+		app.Error(c,500,err,"解析图片失败")
+		return
+	}
+
+
+
+	app.OK(c, outData, app.Success)
+
+
+
+
+}

+ 4 - 1
apis/userLy/base.go

@@ -5,6 +5,9 @@ import "github.com/gin-gonic/gin"
 func InitUserRouter(engine *gin.RouterGroup) {
 	v1 := engine.Group("v1")
 	{
-		v1.POST("/user.ly/open.id/set", OpenIdSet) //设置openId
+		v1.POST("/user.ly/open.id/set", OpenIdSet)          //设置openId
+		v1.POST("/user.ly/userinfo/update", UserInfoUpdate) //更新用户信息
+		v1.POST("/user.ly/userinfo/get", UserInfoGet)       //获取用户信息
+		//v1.POST("/user.ly/user.head/upload", UserHeadUpload) //用户头像上传七牛云
 	}
 }

+ 7 - 0
apis/userLy/user.head.upload.go

@@ -0,0 +1,7 @@
+package userLy
+
+import "github.com/gin-gonic/gin"
+
+func UserHeadUpload(c *gin.Context) {
+
+}

+ 79 - 0
apis/userLy/user.info.update.go

@@ -0,0 +1,79 @@
+package userLy
+
+import (
+	"context"
+	"duoduo/conf"
+	"duoduo/models/mysqlLy"
+	"duoduo/models/userLy"
+	"duoduo/tools/app"
+	"fmt"
+	"github.com/gin-gonic/gin"
+	"github.com/qiniu/go-sdk/v7/auth/qbox"
+	"github.com/qiniu/go-sdk/v7/storage"
+	"time"
+)
+
+func UserInfoUpdate(c *gin.Context) {
+	var inData userLy.UserInfoUpdateRequest
+	var sql mysqlLy.User
+
+	err := c.ShouldBindJSON(&inData)
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+	confIni, err := conf.ConnIni()
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+
+	if inData.Pictures != "" { //图片上传
+
+		timeUnixNano := time.Now().UnixNano() //单位纳秒
+		fileName := fmt.Sprintf("%d.jpg", timeUnixNano)
+
+		//七牛云上传图片
+		bucket := "imgxx"
+		key := "lingyang-head/" + inData.OpenId + "/" + fileName
+
+		putPolicy := storage.PutPolicy{
+			Scope: bucket,
+		}
+
+		mac := qbox.NewMac(confIni.MustValue("ly-qn", "access_key"), confIni.MustValue("ly-qn", "secret_key"))
+		upToken := putPolicy.UploadToken(mac)
+
+		cfg := storage.Config{}
+		// 空间对应的机房
+		cfg.Zone = &storage.ZoneHuanan
+		// 是否使用https域名
+		cfg.UseHTTPS = false
+		// 上传是否使用CDN上传加速
+		cfg.UseCdnDomains = false
+
+		// 构建表单上传的对象
+		baseUploader := storage.NewBase64Uploader(&cfg)
+		ret := storage.PutRet{}
+
+		err = baseUploader.Put(context.Background(), &ret, upToken, key, []byte(inData.Pictures), nil)
+		if err != nil {
+			app.Error(c, 500, err, "上传图片失败")
+			return
+		}
+		inData.AvatarUrl = "http://lingyang.shisanmiao.com/" + key
+	}
+
+	sql.OpenID = inData.OpenId
+	sql.WxCode = inData.WxCode
+	sql.Phone = inData.Phone
+	sql.NickName = inData.NickName
+	sql.AvatarUrl = inData.AvatarUrl
+	_, err = sql.Update()
+	if err != nil {
+		app.Error(c, 500, err, err.Error())
+		return
+	}
+	app.OK(c, nil, app.Success)
+
+}

+ 28 - 0
apis/userLy/userinfo.get.go

@@ -0,0 +1,28 @@
+package userLy
+
+import (
+	"duoduo/models/mysqlLy"
+	"duoduo/models/userLy"
+	"duoduo/tools/app"
+	"github.com/gin-gonic/gin"
+)
+
+func UserInfoGet(c *gin.Context) {
+	var inData userLy.UserInfoGetRequest
+	var sql mysqlLy.User
+
+	err := c.ShouldBindJSON(&inData)
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+
+	sql.OpenID = inData.OpenId
+
+	userInfo, err := sql.Get()
+	if err != nil {
+		app.Error(c, 500, err, err.Error())
+		return
+	}
+	app.OK(c, userInfo, app.Success)
+}

+ 11 - 0
models/mysqlLy/pets.go

@@ -80,3 +80,14 @@ func (m *Pets) GetPetsList(pageSize int, pageIndex int) ([]Pets, int, error) {
 	table.Count(&count)
 	return doc, count, nil
 }
+
+
+func (m *Pets) Get() (Pets, error) {
+	var doc Pets
+	err := orm.LyMysql.Where("id = ? ", m.ID).Table(m.TableName()).First(&doc).Error
+	if err != nil {
+		return doc, err
+	}
+	return doc, nil
+
+}

+ 15 - 0
models/mysqlLy/user.go

@@ -2,6 +2,7 @@ package mysqlLy
 
 import (
 	orm "duoduo/database"
+	"duoduo/tools"
 	"time"
 )
 
@@ -49,3 +50,17 @@ func (m *User) Get() (User, error) {
 	return doc, nil
 
 }
+
+func (m *User) Update() (update User, err error) {
+	if err := orm.Eloquent.Table(m.TableName()).Model(&update).Where("open_id = ? ", m.OpenID).Updates(
+		map[string]interface{}{
+			"phone":       m.Phone,
+			"nick_name":   m.NickName,
+			"avatar_url":  m.AvatarUrl,
+			"wx_code":     m.WxCode,
+			"update_time": tools.GetCurrntTimeStr()}).Error; err != nil {
+		return update, err
+	}
+
+	return update, nil
+}

+ 15 - 0
models/petsLy/pets.details.go

@@ -0,0 +1,15 @@
+package petsLy
+
+import "duoduo/models/mysqlLy"
+
+type PetsDetailsRequest struct {
+	PetsId int64 `json:"pets_id"`
+
+}
+type PetsDetailsResponse struct {
+	PetsInfo mysqlLy.Pets `json:"pets_info"`
+	Phone string `json:"phone"`
+	WxCode string `json:"wx_code"`
+	Pictures []string `json:"pictures"`
+	DepositDate string `json:"deposit_date"`
+}

+ 5 - 0
models/userLy/user.info.get.go

@@ -0,0 +1,5 @@
+package userLy
+
+type UserInfoGetRequest struct {
+	OpenId string `json:"open_id"`
+}

+ 10 - 0
models/userLy/user.info.update.go

@@ -0,0 +1,10 @@
+package userLy
+
+type UserInfoUpdateRequest struct {
+	OpenId    string `json:"open_id"`
+	Phone     string `json:"phone"`      // 手机号
+	NickName  string `json:"nick_name"`  // 微信用户名
+	AvatarUrl string `json:"avatar_url"` // 头像url
+	WxCode    string `json:"wx_code"`    // 微信号
+	Pictures  string `json:"pictures"`   // 图片url
+}

+ 37 - 0
shisanmiao.com.crt

@@ -0,0 +1,37 @@
+-----BEGIN CERTIFICATE-----
+MIIGejCCBOKgAwIBAgIQZGRTFp1aFFmZnO5GYE+kRzANBgkqhkiG9w0BAQwFADBZ
+MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywg
+SW5jLjEjMCEGA1UEAxMaVHJ1c3RBc2lhIFJTQSBEViBUTFMgQ0EgRzIwHhcNMjIw
+NjIwMDAwMDAwWhcNMjMwNjIwMjM1OTU5WjAZMRcwFQYDVQQDEw5zaGlzYW5taWFv
+LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKscfZCDIyXrtIn/
+DYQnYbHckS1QstevkysmRw+0gV+oS+u1WnGA46BglUd7TWHJqQgDSKMVYWXKl2mt
+onHffgiKzD0ozczJVrFiUUVmrYByzTgKj1SLHr509sgrgCltYFS6OMI5ExgoNmXL
+VQMjMyYslEyqEy5W9SGTcjDBXKmPQcvw2t0DK8rfteaFAWI5rWbaeR+ZOpq3rSMV
++FeATLAovs0rCUG0O/lFteVAP8tdkZugmPwkBmQv/p2JEk1RYJuEOFhCuE1Yo1+l
+lrXK7B+ZaQBA2g1mFAh5TtpsMWNfMLfVm9aAyGMohjYoouG0zrNy/IdDN9sFhZSB
+mzQ5shkCAwEAAaOCAvwwggL4MB8GA1UdIwQYMBaAFF86fBEQfgxncWHci6O1AANn
+9VccMB0GA1UdDgQWBBRBAZoae/NT/ixDYeMqy1f6zYXWqzAOBgNVHQ8BAf8EBAMC
+BaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
+SQYDVR0gBEIwQDA0BgsrBgEEAbIxAQICMTAlMCMGCCsGAQUFBwIBFhdodHRwczov
+L3NlY3RpZ28uY29tL0NQUzAIBgZngQwBAgEwfQYIKwYBBQUHAQEEcTBvMEIGCCsG
+AQUFBzAChjZodHRwOi8vY3J0LnRydXN0LXByb3ZpZGVyLmNuL1RydXN0QXNpYVJT
+QURWVExTQ0FHMi5jcnQwKQYIKwYBBQUHMAGGHWh0dHA6Ly9vY3NwLnRydXN0LXBy
+b3ZpZGVyLmNuMC0GA1UdEQQmMCSCDnNoaXNhbm1pYW8uY29tghJ3d3cuc2hpc2Fu
+bWlhby5jb20wggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoBaAB1AK33vvp8/xDIi509
+nB4+GGq0Zyldz7EMJMqFhjTr3IKKAAABgX/6Oa4AAAQDAEYwRAIgKUA8RQkLqH02
+5yVY5b1tEtnWLug23FN5pz1E0zJE5n0CIBjRtXy2i/YgoAFt0EwXWnmS+7vQqJUv
+pypNvP7jTmdIAHYAejKMVNi3LbYg6jjgUh7phBZwMhOFTTvSK8E6V6NS61IAAAGB
+f/o5bwAABAMARzBFAiADno8MdLb/y4KqdL0q5kVx5aE1M6r8pcxdZ/lhAij3cwIh
+AJ5hkC9yhr8MHMyc4+UPPA6dXkT1SYnpLZKG5cnqetOGAHcA6D7Q2j71BjUy51co
+vIlryQPTy9ERa+zraeF3fW0GvW4AAAGBf/o5RQAABAMASDBGAiEA5YsWhrIMnVX8
+jZAaQfg/17v6JoqhBLjGxmlImI+jBosCIQDH1qA3jL8vuXPdEeu4sPU0SCx2AbqA
+ViFPT+COlBVEfDANBgkqhkiG9w0BAQwFAAOCAYEAK+IUO72XyA1kSRE+5MklJtL2
+wI3EuqLwQ+1oM/GG+17YGJ7k0paraR5LrilVUyg9B+MyXkGEKG3KBUJ6NSGGT2L9
+4DVeuWtDoBYAtEbDQI2CHCCse1ueuEe2lY/TKmZ2qQe/pzqVjlbRBOyFF5nzQtgQ
+s1SvceQpKYsAPnYaDp71mxMSMCfATKPluSszsSKveYX8NGNP6SbXhwH2a8dWIFGW
+ALCvdINY9fpsOHmTn4zMl7ZXORFrNjhnGGNMn8qSh8pmr+JkO6gLBkRWORZ+YSol
+6obwm+dSdBixDQuVtAHgWTTi/LDMTeU4+xn6loLsTG05AzB6yx/N7My6cq4av42L
+ECLxVZ3qOMXT/mBw1fSqZ08uU1BDpf2vfXWLl5O0JldbyTkG0bLGSnq/Ag7TXTZw
+MaW+xtg7J+aY/hGI6JjvUtF8z97xBcFW51ZxOzKSlvWrpnxjdjZwXktvCksujffm
+MzhYQq2Blom7aRXf0zq7z0HPC33FODGdwFdbF9L9
+-----END CERTIFICATE-----

+ 25 - 25
shisanmiao.com.key

@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----

+ 27 - 0
shisanmiao.com.key.bak

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAuqUgV0VmDKb9HxS7I4GjiAae+PGae0XASIEges63/KsE0jnl
+QooUc4sXr3kPuUrsQ1hD/gQoDqshy3qSqzz0IA0s2j1rAGuM3SOm1tmGvjhlmMMZ
++Uj9MrRA59zAOgDqhmjAYwamKv/eQHkgwDwgWk1K5HKsDtp5G5izrdURdlhvdUe+
+QKxuBqSayEPfe5mzfn5+MdxkNraGJu+finqwLmm0jT+Znn/8ObWnvPbv5f03YW83
+6VMzbv4EfiC5/xr8u6a4svdiFp93CKLB2BQef7OB1BgPu/JhDyJbhgBpamS7OzrA
+BI8jkd+2WzVHido25GVVra05jx3j3874juWecQIDAQABAoIBAAClOciHeUf9q1Yo
+TZHcvManhDT26+p1diniBW1bSeRWKI78C4SIgvPX1SoCjIj+3vSIKXsHQ2aylYw1
+NSzhqfPy67bo+7XdiVgJ66WmTKqbehF2SkCUDakXWbqbhzAkKOt0UQb+osQ3DIsT
+SCdWBeQeDI5f7aOjAoRziZqGKDhtKhk0WNJYF8pqcmoAUWKVmRIQaHatep/Hq0Sz
+vIXwHdAy2bdUKFfbFxAEHEpm5nXMvRE43VIc4MUgMv6mfvpe8LBgDCaREN0NOKYI
+Cylzr/UGXPMnMTCyjC/azAjAVIVFyl51B8LXiA7p47Os8KFh1Qs08uK/8Cam/F+M
+JZEEwkECgYEA4ylSE/M5urZ3Qzuh1T+BipvmoFMDnF1vK7/JogqsTrH4+/jRE3TQ
+EE+BKiseC15PL9OCqdro4udI3Dnlr0L6QMaY6zuIh2elDVnQ5w93DMEB3MeqmuD5
+sVo7dtUAiD+zkw0Xw84t6zTblLsBB+gTu26tQXjlCl2p51tQ+lgOVCECgYEA0lcI
++v7lEDbqdof+X6GjWftT6sOo2sJ/EtFTxIn0yVZpwdaEEzV7fIcG0W4McjZnuD44
+wXrGgss8t3l5cxe4LUTZPwFs9NB9FNEygEco9mTzeUHskw5iA0SF3yFEeq3M0Fre
+0f769g9p8vSfyBfc4Dv5xlIRlJ2ZzMDne9a9AFECgYEApLYxbYXPNjNYBsgWcCm8
+JGUmtNl8pMSa9335FiXnCqjBgPLJpvHsa+c6IPlir5uSj3suIzs34k8R5Z2VjZ9j
+FdTqzKY+OPBOHYAimWf9SqIoV43vhp3ab16d/2wzFpgZ/WZg9PlrEkEhdpaiCLme
+lSmLNw4SBZIkwDzWWq++tAECgYEAj379C271iphMYEzqxwcYz/xcBZ8yBPwHgSj5
+gu2y5+BiCfF07T3hXtUnW50+NHTVUaZxRd2iq/xHEcx3hIM8DPYZV5h7YpERpDAL
+yePCGEZKrADDipeXWi9XPSAO/bqwLbywoobXYyKk3zDwCKvu7bM89YVrpP3XvQ4l
+XiDjk+ECgYBeCMSS4qVjb/sToblWxUQulmQm1QuAjR5vE44qNwD3YsF8jUkrm4LZ
+4UNxIYQgNDixeSL6npA8q1LNgZsDcbpwKFYV/zhHRI4njqXQfIchffyujR9t+ZBK
+Jb3DUouD2Dz10dy2lIDHc7kcpwGOT2G3+kF/IWu3KVfXrCx/8Cqv9g==
+-----END RSA PRIVATE KEY-----

shisanmiao.com.pem → shisanmiao.com.pem.bak