This commit is contained in:
苏尹岚
2020-11-12 16:21:11 +08:00
parent c7d1488296
commit a3f55fc57c
2 changed files with 4 additions and 562 deletions

View File

@@ -1,558 +0,0 @@
package controllers
import (
"git.rosy.net.cn/baseapi/platformapi/weixinapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/auth2"
"git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin"
"git.rosy.net.cn/jx-callback/business/authz"
"git.rosy.net.cn/jx-callback/business/authz/autils"
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/jxutils/jsonerr"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx"
"github.com/astaxie/beego"
)
type User2Controller struct {
beego.Controller
}
// @Title 用户注册
// @Description 用户注册
// @Param token header string false "管理员token"
// @Param payload formData string true "json数据User对象(手机号必填)"
// @Param mobileVerifyCode formData string false "手机验证码通过auth2.SendVerifyCode获得mobileVerifyCode与authToken不能同时为空"
// @Param authToken formData string false "之前通过login得到的认证TOKENmobileVerifyCode与authToken不能同时为空"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /RegisterUser [post]
func (c *User2Controller) RegisterUser() {
c.callRegisterUser(func(params *tUser2RegisterUserParams) (retVal interface{}, errCode string, err error) {
var (
user model.User
inAuthInfo, manTokenInfo *auth2.AuthInfo
)
if params.AuthToken != "" {
inAuthInfo, err = auth2.GetTokenInfo(params.AuthToken)
} else if params.Token != "" {
manTokenInfo, err = auth2.GetTokenInfo(params.Token)
}
if err == nil {
if err = jxutils.Strings2Objs(params.Payload, &user); err == nil {
user.Type = 0
retVal, err = cms.RegisterUserWithMobile(params.Ctx, &user, params.MobileVerifyCode, inAuthInfo, manTokenInfo)
}
}
return retVal, errCode, err
})
}
// @Title 得到用户已经成功绑定的认证信息
// @Description 得到用户已经成功绑定的认证信息
// @Param token header string true "认证token"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetBindAuthInfo [get]
func (c *User2Controller) GetBindAuthInfo() {
c.callGetBindAuthInfo(func(params *tUser2GetBindAuthInfoParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetUserBindAuthInfo(params.Ctx)
return retVal, "", err
})
}
// @Title 得到用户列表
// @Description 得到用户列表
// @Param token header string true "认证token"
// @Param userType query int true "用户类型0表示全部"
// @Param keyword query string faslse "关键字,可以部分匹配"
// @Param userIDs query string faslse "用户id列表"
// @Param userID2 query string faslse "用户id2必须全匹配外部唯一标识"
// @Param mobile query string faslse "用户手机,必须全匹配"
// @Param offset query int false "门店列表起始序号以0开始缺省为0"
// @Param pageSize query int false "门店列表页大小缺省为50-1表示全部"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetUsers [get]
func (c *User2Controller) GetUsers() {
c.callGetUsers(func(params *tUser2GetUsersParams) (retVal interface{}, errCode string, err error) {
var userIDs []string
if err = jxutils.Strings2Objs(params.UserIDs, &userIDs); err == nil {
retVal, err = cms.GetUsers(params.Ctx, params.UserType, params.Keyword, userIDs, params.UserID2, params.Mobile, params.Offset, params.PageSize)
}
return retVal, "", err
})
}
// @Title 得到用户自己的门店列表
// @Description 得到用户自己的门店列表
// @Param token header string true "认证token"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetMyStoreList [get]
func (c *User2Controller) GetMyStoreList() {
c.callGetMyStoreList(func(params *tUser2GetMyStoreListParams) (retVal interface{}, errCode string, err error) {
retVal, errCode, err = cms.GetMyStoreListNew(params.Ctx)
return retVal, errCode, err
})
}
// @Title 得到可用的门店角色列表
// @Description 得到可用的门店角色列表
// @Param token header string true "认证token"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetStoreRoleList [get]
func (c *User2Controller) GetStoreRoleList() {
c.callGetStoreRoleList(func(params *tUser2GetStoreRoleListParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetStoreRoleList(params.Ctx)
return retVal, "", err
})
}
// @Title 得到用户所具有的角色列表
// @Description 得到用户所具有的角色列表
// @Param token header string true "认证token"
// @Param userID query string true "用户i"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetUserRoleList [get]
func (c *User2Controller) GetUserRoleList() {
c.callGetUserRoleList(func(params *tUser2GetUserRoleListParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetUserRoleList(params.Ctx, params.UserID)
return retVal, "", err
})
}
// @Title 得到角色包括的用户列表
// @Description 得到角色包括的用户列表
// @Param token header string true "认证token"
// @Param roleName query string true "角色名"
// @Param storeID query int false "门店ID如果是全局角色不用填"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetRoleUserList [get]
func (c *User2Controller) GetRoleUserList() {
c.callGetRoleUserList(func(params *tUser2GetRoleUserListParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetRoleUserList(params.Ctx, autils.NewRole(params.RoleName, params.StoreID))
return retVal, "", err
})
}
// @Title 批量得到角色包括的用户列表
// @Description 批量得到角色包括的用户列表
// @Param token header string true "认证token"
// @Param roleNames query string true "角色名"
// @Param storeIDs query string false "门店ID如果是全局角色不用填"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetRolesUserList [get]
func (c *User2Controller) GetRolesUserList() {
c.callGetRolesUserList(func(params *tUser2GetRolesUserListParams) (retVal interface{}, errCode string, err error) {
var roleNames []string
var storeIDs []int
if err = jxutils.Strings2Objs(params.RoleNames, &roleNames, params.StoreIDs, &storeIDs); err == nil {
var roleList []*authz.RoleInfo
for _, roleName := range roleNames {
if roleName == authz.StoreRoleBoss {
for _, storeID := range storeIDs {
roleList = append(roleList, autils.NewRole(roleName, storeID))
}
} else {
roleList = append(roleList, autils.NewRole(roleName, 0))
}
}
retVal, err = cms.GetRolesUserList(params.Ctx, roleList)
}
return retVal, "", err
})
}
// @Title 给指定用户添加角色列表
// @Description 给指定用户添加角色列表
// @Param token header string true "认证token"
// @Param userID formData string true "用户ID"
// @Param roleList formData string true "角色列表"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AddRoles4User [post]
func (c *User2Controller) AddRoles4User() {
c.callAddRoles4User(func(params *tUser2AddRoles4UserParams) (retVal interface{}, errCode string, err error) {
var roleList []*authz.RoleInfo
if err = jxutils.Strings2Objs(params.RoleList, &roleList); err == nil {
err = cms.AddRoles4User(params.Ctx, params.UserID, roleList)
}
return retVal, "", err
})
}
// @Title 给指定用户删除角色列表
// @Description 给指定用户删除角色列表
// @Param token header string true "认证token"
// @Param userID query string true "用户ID"
// @Param roleList query string true "角色列表"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /DeleteRoles4User [delete]
func (c *User2Controller) DeleteRoles4User() {
c.callDeleteRoles4User(func(params *tUser2DeleteRoles4UserParams) (retVal interface{}, errCode string, err error) {
var roleList []*authz.RoleInfo
if err = jxutils.Strings2Objs(params.RoleList, &roleList); err == nil {
err = cms.DeleteRoles4User(params.Ctx, params.UserID, roleList)
}
return retVal, "", err
})
}
// @Title 给指定角色添加用户列表
// @Description 给指定角色添加用户列表
// @Param token header string true "认证token"
// @Param roleName formData string true "角色名"
// @Param storeID formData int false "门店ID"
// @Param userIDs formData string true "用户ID列表"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AddUsers4Role [post]
func (c *User2Controller) AddUsers4Role() {
c.callAddUsers4Role(func(params *tUser2AddUsers4RoleParams) (retVal interface{}, errCode string, err error) {
var userIDs []string
if err = jxutils.Strings2Objs(params.UserIDs, &userIDs); err == nil {
err = cms.AddUsers4Role(params.Ctx, autils.NewRole(params.RoleName, params.StoreID), userIDs)
}
return retVal, "", err
})
}
// @Title 给指定角色删除用户列表
// @Description 给指定角色删除用户列表
// @Param token header string true "认证token"
// @Param roleName query string true "角色名"
// @Param storeID query int false "门店ID"
// @Param userIDs query string true "用户ID列表"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /DeleteUsers4Role [delete]
func (c *User2Controller) DeleteUsers4Role() {
c.callDeleteUsers4Role(func(params *tUser2DeleteUsers4RoleParams) (retVal interface{}, errCode string, err error) {
var userIDs []string
if err = jxutils.Strings2Objs(params.UserIDs, &userIDs); err == nil {
err = cms.DeleteUsers4Role(params.Ctx, autils.NewRole(params.RoleName, params.StoreID), userIDs)
}
return retVal, "", err
})
}
// @Title 给指定角色添加用户列表
// @Description 给指定角色添加用户列表
// @Param token header string true "认证token"
// @Param mobile formData string false "手机号"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /TransferLegacyWeixins [post]
func (c *User2Controller) TransferLegacyWeixins() {
c.callTransferLegacyWeixins(func(params *tUser2TransferLegacyWeixinsParams) (retVal interface{}, errCode string, err error) {
err = cms.TransferLegacyWeixins(params.Mobile)
return retVal, "", err
})
}
// @Title 用户自己增加配送地址
// @Description 用户自己增加配送地址
// @Param token header string true "认证token"
// @Param consigneeName formData string true "收货人"
// @Param consigneeMobile formData string true "收货人手机"
// @Param address formData string false "地址(区县以下,门牌号以上的地址信息)"
// @Param detailAddress formData string false "门牌号"
// @Param lng formData float64 true "经度"
// @Param lat formData float64 true "纬度"
// @Param tag formData string false "标签"
// @Param remark formData string false "备注"
// @Param isDefault formData int false "是否是默认"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AddMyDeliveryAddress [post]
func (c *User2Controller) AddMyDeliveryAddress() {
c.callAddMyDeliveryAddress(func(params *tUser2AddMyDeliveryAddressParams) (retVal interface{}, errCode string, err error) {
// var address *model.UserDeliveryAddress
// if err = utils.Map2StructByJson(params.MapData, &address, true); err == nil {
// retVal, err = cms.AddMyDeliveryAddress(params.Ctx, address)
// }
address := &model.UserDeliveryAddress{
ConsigneeName: params.ConsigneeName,
ConsigneeMobile: params.ConsigneeMobile,
Address: params.Address,
DetailAddress: params.DetailAddress,
Lng: params.Lng,
Lat: params.Lat,
Tag: params.Tag,
Remark: params.Remark,
IsDefault: int8(params.IsDefault),
}
retVal, err = cms.AddMyDeliveryAddress(params.Ctx, address)
return retVal, "", err
})
}
// @Title 用户自己删除配送地址
// @Description 用户自己删除送地址
// @Param token header string true "认证token"
// @Param id query int true "地址ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /DeleteMyDeliveryAddress [delete]
func (c *User2Controller) DeleteMyDeliveryAddress() {
c.callDeleteMyDeliveryAddress(func(params *tUser2DeleteMyDeliveryAddressParams) (retVal interface{}, errCode string, err error) {
err = cms.DeleteMyDeliveryAddress(params.Ctx, params.Id)
return retVal, "", err
})
}
// @Title 用户自己修改配送地址
// @Description 用户自己修改配送地址
// @Param token header string true "认证token"
// @Param id formData int true "地址ID"
// @Param consigneeName formData string false "收货人"
// @Param consigneeMobile formData string false "收货人手机"
// @Param address formData string false "地址(区县以下,门牌号以上的地址信息)"
// @Param detailAddress formData string false "门牌号"
// @Param lng formData float64 false "经度"
// @Param lat formData float64 false "纬度"
// @Param tag formData string false "标签"
// @Param remark formData string false "备注"
// @Param isDefault formData int false "是否是默认01"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateMyDeliveryAddress [put]
func (c *User2Controller) UpdateMyDeliveryAddress() {
c.callUpdateMyDeliveryAddress(func(params *tUser2UpdateMyDeliveryAddressParams) (retVal interface{}, errCode string, err error) {
err = cms.UpdateMyDeliveryAddress(params.Ctx, params.Id, params.MapData)
return retVal, "", err
})
}
// @Title 用户查询自己的配送地址
// @Description 用户查询自己的配送地址
// @Param token header string true "认证token"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /QueryMyDeliveryAddress [get]
func (c *User2Controller) QueryMyDeliveryAddress() {
c.callQueryMyDeliveryAddress(func(params *tUser2QueryMyDeliveryAddressParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.QueryMyDeliveryAddress(params.Ctx)
return retVal, "", err
})
}
// @Title 得到用户指定门店的购物车信息
// @Description 得到用户指定门店的购物车信息
// @Param token header string true "认证token"
// @Param storeIDs query string true "门店ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /LoadMyCart [get]
func (c *User2Controller) LoadMyCart() {
c.callLoadMyCart(func(params *tUser2LoadMyCartParams) (retVal interface{}, errCode string, err error) {
_, userID := params.Ctx.GetMobileAndUserID()
var storeIDs []int
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil {
retVal, err = cms.LoadUserCart(params.Ctx, userID, storeIDs)
}
return retVal, "", err
})
}
// @Title 存储用户指定门店的购物车信息
// @Description 存储用户指定门店的购物车信息
// @Param token header string true "认证token"
// @Param storeID formData int true "门店ID"
// @Param payload formData string false "完整的购物车商品列表"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /SaveMyCart [post]
func (c *User2Controller) SaveMyCart() {
c.callSaveMyCart(func(params *tUser2SaveMyCartParams) (retVal interface{}, errCode string, err error) {
var cartItems []*model.UserCartItem
_, userID := params.Ctx.GetMobileAndUserID()
if err = jxutils.Strings2Objs(params.Payload, &cartItems); err == nil {
err = cms.SaveUserCart(params.Ctx, userID, params.StoreID, cartItems)
}
return retVal, "", err
})
}
// @Title 得到用户自己的信息
// @Description 得到用户自己的信息
// @Param token header string true "认证token"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetSelfInfo [get]
func (c *User2Controller) GetSelfInfo() {
c.callGetSelfInfo(func(params *tUser2GetSelfInfoParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetSelfInfo(params.Ctx)
return retVal, "", err
})
}
// @Title 根据小程序jsCode修改用户信息
// @Description 根据小程序jsCode修改用户信息
// @Param token header string true "认证token"
// @Param data formData string true "加密数据"
// @Param iv formData string true "iv"
// @Param jsCode formData string false "小程序jsCode"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateUserByMiniInfo [put]
func (c *Auth2Controller) UpdateUserByMiniInfo() {
c.callUpdateUserByMiniInfo(func(params *tAuth2UpdateUserByMiniInfoParams) (retVal interface{}, errCode string, err error) {
authInfo, err := params.Ctx.GetV2AuthInfo()
if err == nil {
decryptedDataBase64, err2 := weixin.AutherObjMini.DecryptData(authInfo, GetComposedCode(&c.Controller, params.JsCode), params.Data, params.Iv)
if err = err2; err == nil {
var userInfo *weixinapi.MiniUserInfo
if err = utils.UnmarshalUseNumber([]byte(decryptedDataBase64), &userInfo); err == nil {
retVal = userInfo
if user := params.Ctx.GetFullUser(); user != nil {
if userInfo.AvatarURL != "" {
user.Avatar = userInfo.AvatarURL
}
if userInfo.PurePhoneNumber != "" {
user.Mobile = utils.String2Pointer(userInfo.PurePhoneNumber)
}
_, err = dao.UpdateEntity(dao.GetDB(), user)
if err != nil && dao.IsDuplicateError(err) {
if mobileAuth, err2 := auth2.LoginInternal(params.Ctx.Context, auth2.AuthTypeMobile, userInfo.PurePhoneNumber, auth2.UserIDMobile, auth2.InternalAuthSecret); err2 == nil {
err = jsonerr.New(mobileAuth, model.ErrCodeJsonUserAlreadyExist)
}
} else if err == nil && userInfo.PurePhoneNumber != "" {
if tokenInfo, err := auth2.GetTokenInfo(params.Token); err == nil {
tokenInfo.Mobile = userInfo.PurePhoneNumber
auth2.SetUserInfo(params.Token, tokenInfo, auth2.DefTokenDuration)
}
}
}
}
}
}
return retVal, "", err
})
}
// @Title 查找京东用户
// @Description 查找京东用户
// @Param token header string true "认证token"
// @Param isAsync formData bool false "是否异步操作"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetJdUsers [post]
func (c *User2Controller) GetJdUsers() {
c.callGetJdUsers(func(params *tUser2GetJdUsersParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetJdUsers(params.Ctx, params.IsAsync, params.IsContinueWhenError)
return retVal, "", err
})
}
// @Title 更新用户分成比例
// @Description 更新用户分成比例
// @Param token header string true "认证token"
// @Param userID formData string true "用户userID"
// @Param dividePercentage formData int fasle "用户分成比例"
// @Param isReceiver formData bool true "是否加入分账接收方,默认是"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateUserWxNoAndPercent [put]
func (c *User2Controller) UpdateUserWxNoAndPercent() {
c.callUpdateUserWxNoAndPercent(func(params *tUser2UpdateUserWxNoAndPercentParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.UpdateUserWxNoAndPercent(&model.User{
UserID: params.UserID,
DividePercentage: params.DividePercentage,
}, params.IsReceiver)
return retVal, "", err
})
}
// @Title 禁用用户(删除离职用户信息)
// @Description 禁用用户(删除离职用户信息)
// @Param token header string true "认证token"
// @Param userID query string true "用户userID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /DeleteUserInfo [delete]
func (c *User2Controller) DeleteUserInfo() {
c.callDeleteUserInfo(func(params *tUser2DeleteUserInfoParams) (retVal interface{}, errCode string, err error) {
err = cms.DeleteUserInfo(params.Ctx, params.UserID)
return retVal, "", err
})
}
// @Title 得到用户自己的门店列表(商城用)
// @Description 得到用户自己的门店列表(商城用)
// @Param token header string false "认证token"
// @Param mobile query string true "电话"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetMyJxStoreList [get]
func (c *User2Controller) GetMyJxStoreList() {
c.callGetMyJxStoreList(func(params *tUser2GetMyJxStoreListParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetMyJxStoreList(params.Ctx, params.Mobile)
return retVal, "", err
})
}
// @Title 插入用户协议表
// @Description 插入用户协议表
// @Param token header string false "认证token"
// @Param payload formData string true "格式数据UserAgreement"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CreateUserAgreement [post]
func (c *User2Controller) CreateUserAgreement() {
c.callCreateUserAgreement(func(params *tUser2CreateUserAgreementParams) (retVal interface{}, errCode string, err error) {
var userAgrs []*model.UserAgreement
if err = jxutils.Strings2Objs(params.Payload, &userAgrs); err == nil {
cms.CreateUserAgreement(params.Ctx, userAgrs)
}
return retVal, "", err
})
}
// @Title 查询用户协议表
// @Description 查询用户协议表
// @Param token header string false "认证token"
// @Param name query string false "名字"
// @Param idNumber query string false "身份证号"
// @Param bankNumber query string false "银行卡号"
// @Param mobile query string false "电话"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetUserAgreement [get]
func (c *User2Controller) GetUserAgreement() {
c.callGetUserAgreement(func(params *tUser2GetUserAgreementParams) (retVal interface{}, errCode string, err error) {
cms.GetUserAgreement(params.Ctx, params.Name, params.IdNumber, params.BankNumber, params.Mobile)
return retVal, "", err
})
}
// @Title 查询京西商城用户信息
// @Description 查询京西商城用户信息
// @Param token header string true "认证token"
// @Param keyword query string false "关键字"
// @Param fromTime query string false "开始时间"
// @Param toTime query string false "结束时间"
// @Param vendorIDs query string false "平台号"
// @Param offset query int false "结果起始序号以0开始缺省为0"
// @Param pageSize query int false "结果页大小缺省为50-1表示全部"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetJxShopUsers [get]
func (c *User2Controller) GetJxShopUsers() {
c.callGetJxShopUsers(func(params *tUser2GetJxShopUsersParams) (retVal interface{}, errCode string, err error) {
var vendorIDs []int
if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDs); err == nil {
retVal, err = localjx.GetJxShopUsers(params.Ctx, params.Keyword, params.FromTime, params.ToTime, vendorIDs, params.Offset, params.PageSize)
}
return retVal, "", err
})
}

View File

@@ -239,10 +239,10 @@ func (c *User2Controller) GetSelfInfo() {
// @Title 根据小程序jsCode修改用户信息 // @Title 根据小程序jsCode修改用户信息
// @Description 根据小程序jsCode修改用户信息 // @Description 根据小程序jsCode修改用户信息
// @Param token header string true "认证token" // @Param token header string true "认证token"
// @Param data query string true "加密数据" // @Param data formData string true "加密数据"
// @Param iv query string true "iv" // @Param iv formData string true "iv"
// @Param jsCode query string false "小程序jsCode" // @Param jsCode formData string false "小程序jsCode"
// @Success 200 {object} controllers.CallResult // @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult
// @router /UpdateUserByMiniInfo [put] // @router /UpdateUserByMiniInfo [put]