From 657eb1c98044e475dcb4ef9c76c01663e0bc3a80 Mon Sep 17 00:00:00 2001 From: sin <2943460818@qq.com> Date: Thu, 7 Mar 2019 21:56:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20dic=20=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=EF=BC=8Cselect=20=E5=92=8C=20value=20text?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin-web/mock/admin.js | 21 +++++++++ admin-web/mock/mock-comment.js | 13 ++++++ .../Dictionary/DictionarySelect.d.ts | 13 ++++++ .../components/Dictionary/DictionarySelect.js | 20 +++++++++ .../components/Dictionary/DictionarySelect.md | 24 ++++++++++ .../src/models/dictionary/dictionarySelect.js | 40 +++++++++++++++++ admin-web/src/pages/Admin/RoleList.js | 1 + .../pages/Dictionary/DictionaryValueSelect.js | 26 +++++++++++ .../pages/Dictionary/DictionaryValueText.js | 26 +++++++++++ admin-web/src/pages/Home/Home.js | 5 +++ admin-web/src/services/dictionary.js | 14 ++++++ .../config/GlobalExceptionHandler.class | Bin 0 -> 4797 bytes .../framework/constant/SysErrorCodeEnum.class | Bin 0 -> 1774 bytes .../common/framework/dataobject/BaseDO.class | Bin 0 -> 1391 bytes .../exception/ServiceException.class | Bin 0 -> 661 bytes .../framework/util/CollectionUtil.class | Bin 0 -> 1002 bytes .../common/framework/util/ExceptionUtil.class | Bin 0 -> 1741 bytes .../common/framework/util/HttpUtil.class | Bin 0 -> 1080 bytes .../framework/util/ServiceExceptionUtil.class | Bin 0 -> 3917 bytes .../common/framework/vo/CommonResult.class | Bin 0 -> 3246 bytes .../common/framework/vo/RestResult.class | Bin 0 -> 1628 bytes .../user/service/api/MobileCodeService.class | Bin 0 -> 459 bytes .../mall/user/service/api/OAuth2Service.class | Bin 0 -> 718 bytes .../mall/user/service/api/UserService.class | Bin 0 -> 375 bytes .../service/api/bo/OAuth2AccessTokenBO.class | Bin 0 -> 1294 bytes .../api/bo/OAuth2AuthenticationBO.class | Bin 0 -> 722 bytes .../mall/user/service/api/bo/UserBO.class | Bin 0 -> 941 bytes .../api/constant/ThirdPlatformConstant.class | Bin 0 -> 447 bytes .../api/constant/UserErrorCodeEnum.class | Bin 0 -> 3213 bytes .../classes/cn/iocoder/mall/user/a.class | Bin 0 -> 787 bytes .../user/config/DatabaseConfiguration.class | Bin 0 -> 641 bytes .../ServiceExceptionConfiguration.class | Bin 0 -> 1328 bytes .../mall/user/convert/OAuth2Convert.class | Bin 0 -> 1716 bytes .../mall/user/convert/OAuth2ConvertImpl.class | Bin 0 -> 1772 bytes .../mall/user/convert/UserConvert.class | Bin 0 -> 660 bytes .../mall/user/convert/UserConvertImpl.class | Bin 0 -> 986 bytes .../mall/user/dao/MobileCodeMapper.class | Bin 0 -> 479 bytes .../user/dao/OAuth2AccessTokenMapper.class | Bin 0 -> 476 bytes .../user/dao/OAuth2RefreshTokenMapper.class | Bin 0 -> 356 bytes .../cn/iocoder/mall/user/dao/UserMapper.class | Bin 0 -> 422 bytes .../mall/user/dao/UserRegisterMapper.class | Bin 0 -> 338 bytes .../mall/user/dataobject/MobileCodeDO.class | Bin 0 -> 2512 bytes .../user/dataobject/OAuth2AccessTokenDO.class | Bin 0 -> 2057 bytes .../dataobject/OAuth2RefreshTokenDO.class | Bin 0 -> 1846 bytes .../iocoder/mall/user/dataobject/UserDO.class | Bin 0 -> 1235 bytes .../mall/user/dataobject/UserLoginLogDO.class | Bin 0 -> 331 bytes .../mall/user/dataobject/UserRegisterDO.class | Bin 0 -> 968 bytes .../user/dataobject/UserThirdAuthDO.class | Bin 0 -> 601 bytes .../user/service/MobileCodeServiceImpl.class | Bin 0 -> 4783 bytes .../mall/user/service/OAuth2ServiceImpl.class | Bin 0 -> 7282 bytes .../mall/user/service/UserServiceImpl.class | Bin 0 -> 3474 bytes .../classes/config/application.properties | 8 ++++ .../target/classes/config/application.yaml | 32 ++++++++++++++ .../classes/mapper/MobileCodeMapper.xml | 35 +++++++++++++++ .../mapper/OAuth2AccessTokenMapper.xml | 22 ++++++++++ .../mapper/OAuth2RefreshTokenMapper.xml | 13 ++++++ .../target/classes/mapper/UserMapper.xml | 20 +++++++++ .../classes/mapper/UserRegisterMapper.xml | 13 ++++++ .../target/classes/mybatis-config.xml | 19 ++++++++ .../mall/user/convert/OAuth2ConvertImpl.java | 41 ++++++++++++++++++ .../mall/user/convert/UserConvertImpl.java | 26 +++++++++++ 61 files changed, 432 insertions(+) create mode 100644 admin-web/mock/mock-comment.js create mode 100644 admin-web/src/components/Dictionary/DictionarySelect.d.ts create mode 100644 admin-web/src/components/Dictionary/DictionarySelect.js create mode 100644 admin-web/src/components/Dictionary/DictionarySelect.md create mode 100644 admin-web/src/models/dictionary/dictionarySelect.js create mode 100644 admin-web/src/pages/Dictionary/DictionaryValueSelect.js create mode 100644 admin-web/src/pages/Dictionary/DictionaryValueText.js create mode 100644 admin-web/src/services/dictionary.js create mode 100644 common/common-framework/target/classes/cn/iocoder/common/framework/config/GlobalExceptionHandler.class create mode 100644 common/common-framework/target/classes/cn/iocoder/common/framework/constant/SysErrorCodeEnum.class create mode 100644 common/common-framework/target/classes/cn/iocoder/common/framework/dataobject/BaseDO.class create mode 100644 common/common-framework/target/classes/cn/iocoder/common/framework/exception/ServiceException.class create mode 100644 common/common-framework/target/classes/cn/iocoder/common/framework/util/CollectionUtil.class create mode 100644 common/common-framework/target/classes/cn/iocoder/common/framework/util/ExceptionUtil.class create mode 100644 common/common-framework/target/classes/cn/iocoder/common/framework/util/HttpUtil.class create mode 100644 common/common-framework/target/classes/cn/iocoder/common/framework/util/ServiceExceptionUtil.class create mode 100644 common/common-framework/target/classes/cn/iocoder/common/framework/vo/CommonResult.class create mode 100644 common/common-framework/target/classes/cn/iocoder/common/framework/vo/RestResult.class create mode 100644 user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/MobileCodeService.class create mode 100644 user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/OAuth2Service.class create mode 100644 user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/UserService.class create mode 100644 user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/bo/OAuth2AccessTokenBO.class create mode 100644 user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/bo/OAuth2AuthenticationBO.class create mode 100644 user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/bo/UserBO.class create mode 100644 user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/constant/ThirdPlatformConstant.class create mode 100644 user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/constant/UserErrorCodeEnum.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/a.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/config/DatabaseConfiguration.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/config/ServiceExceptionConfiguration.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/convert/OAuth2Convert.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/convert/OAuth2ConvertImpl.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/convert/UserConvert.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/convert/UserConvertImpl.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dao/MobileCodeMapper.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dao/OAuth2AccessTokenMapper.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dao/OAuth2RefreshTokenMapper.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dao/UserMapper.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dao/UserRegisterMapper.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dataobject/MobileCodeDO.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dataobject/OAuth2AccessTokenDO.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dataobject/OAuth2RefreshTokenDO.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dataobject/UserDO.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dataobject/UserLoginLogDO.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dataobject/UserRegisterDO.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/dataobject/UserThirdAuthDO.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/service/MobileCodeServiceImpl.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/service/OAuth2ServiceImpl.class create mode 100644 user/user-service-impl/target/classes/cn/iocoder/mall/user/service/UserServiceImpl.class create mode 100644 user/user-service-impl/target/classes/config/application.properties create mode 100644 user/user-service-impl/target/classes/config/application.yaml create mode 100644 user/user-service-impl/target/classes/mapper/MobileCodeMapper.xml create mode 100644 user/user-service-impl/target/classes/mapper/OAuth2AccessTokenMapper.xml create mode 100644 user/user-service-impl/target/classes/mapper/OAuth2RefreshTokenMapper.xml create mode 100644 user/user-service-impl/target/classes/mapper/UserMapper.xml create mode 100644 user/user-service-impl/target/classes/mapper/UserRegisterMapper.xml create mode 100644 user/user-service-impl/target/classes/mybatis-config.xml create mode 100644 user/user-service-impl/target/generated-sources/annotations/cn/iocoder/mall/user/convert/OAuth2ConvertImpl.java create mode 100644 user/user-service-impl/target/generated-sources/annotations/cn/iocoder/mall/user/convert/UserConvertImpl.java diff --git a/admin-web/mock/admin.js b/admin-web/mock/admin.js index 60c11d9c5..4a9df2b0e 100644 --- a/admin-web/mock/admin.js +++ b/admin-web/mock/admin.js @@ -1,4 +1,6 @@ /* eslint-disable */ +import mockjs from 'mockjs'; +import { resultBody } from './mock-comment'; import adminMenu from './geographic/admin-menu.json'; import adminMenuAll from './geographic/admin-menu-all.json'; import adminUrls from './geographic/admin-urls'; @@ -25,9 +27,28 @@ function getQueryRole(req, res) { return res.json(roleQuery); } +function getDictionaryKeys(req, res) { + const values = mockjs.mock({ + 'list|5': [{ 'value|+1': 0, text: '@city' }], + }); + + return res.json(resultBody(values)); +} + +function getDictionaryText(req, res) { + const values = mockjs.mock({ + text: '@city', + }); + + return res.json(resultBody(values)); +} + export default { 'GET /admin-api/admins/resource/admin_menu_tree': getAdminMenuAll, 'GET /admin-api/admins/resource/admin_url_list': getAdminUrls, 'GET /admin-api/admins/resource/tree': getResourceTree, 'GET /admin-api/admins/role/page': getQueryRole, + 'GET /admin-api/admins/admin/page': getQueryRole, + 'GET /admin-api/admins/dictionary/getList': getDictionaryKeys, + 'GET /admin-api/admins/dictionary/queryText': getDictionaryText, }; diff --git a/admin-web/mock/mock-comment.js b/admin-web/mock/mock-comment.js new file mode 100644 index 000000000..c7131bcb4 --- /dev/null +++ b/admin-web/mock/mock-comment.js @@ -0,0 +1,13 @@ +// 常用,公共 mock + +export function resultBody(result, code, message) { + return { + code: code || 0, + message: message || '', + ...(result || null), + }; +} + +export default { + resultBody, +}; diff --git a/admin-web/src/components/Dictionary/DictionarySelect.d.ts b/admin-web/src/components/Dictionary/DictionarySelect.d.ts new file mode 100644 index 000000000..40dbda604 --- /dev/null +++ b/admin-web/src/components/Dictionary/DictionarySelect.d.ts @@ -0,0 +1,13 @@ +import * as React from 'react'; +import { Select } from 'antd'; + +export interface DictionaryObject { + text?: string; + value?: string | number | boolean; +} + +export interface IDictionarySelectProps extends Select { + list?: DictionaryObject[]; +} + +export default class DictionarySelectD extends React.Component {} diff --git a/admin-web/src/components/Dictionary/DictionarySelect.js b/admin-web/src/components/Dictionary/DictionarySelect.js new file mode 100644 index 000000000..29211d229 --- /dev/null +++ b/admin-web/src/components/Dictionary/DictionarySelect.js @@ -0,0 +1,20 @@ +import React, { PureComponent } from 'react'; +import { Select } from 'antd'; + +export default class DictionarySelect extends PureComponent { + renderOptions() { + const { list } = this.props; + return list.map(item => { + return ( + + {item.text} + + ); + }); + } + + render() { + const options = this.renderOptions(); + return ; + } +} diff --git a/admin-web/src/components/Dictionary/DictionarySelect.md b/admin-web/src/components/Dictionary/DictionarySelect.md new file mode 100644 index 000000000..447bab237 --- /dev/null +++ b/admin-web/src/components/Dictionary/DictionarySelect.md @@ -0,0 +1,24 @@ +--- +title: DictionarySelect +subtitle: 描述列表 +--- + +次组件跟使用 Antd extends Select,使用方法跟 Select 一样 + +## API + +### DescriptionList + +| 参数 | 说明 | 类型 | 默认值 | +|----------|------------------------------------------|-------------|-------| +| list | 数据列表 | DictionObject[] | [] | + +### DictionObject + +| 参数 | 说明 | 类型 | 默认值 | +|----------|------------------------------------------|-------------|-------| +| text | 显示的文字 | string | - | +| value | 选择后的值 | string number boolean | - | + + + diff --git a/admin-web/src/models/dictionary/dictionarySelect.js b/admin-web/src/models/dictionary/dictionarySelect.js new file mode 100644 index 000000000..6843328d3 --- /dev/null +++ b/admin-web/src/models/dictionary/dictionarySelect.js @@ -0,0 +1,40 @@ +import { queryKey, queryText } from '../../services/dictionary'; + +export default { + namespace: 'dictionarySelect', + + state: { + list: [], + text: '', + }, + + effects: { + *query({ payload }, { call, put }) { + const response = yield call(queryKey, payload); + yield put({ + type: 'querySuccess', + payload: { + list: response.list, + }, + }); + }, + *queryText({ payload }, { call, put }) { + const response = yield call(queryText, payload); + yield put({ + type: 'querySuccess', + payload: { + text: response.text, + }, + }); + }, + }, + + reducers: { + querySuccess(state, { payload }) { + return { + ...state, + ...payload, + }; + }, + }, +}; diff --git a/admin-web/src/pages/Admin/RoleList.js b/admin-web/src/pages/Admin/RoleList.js index d1435d01f..a746f2249 100644 --- a/admin-web/src/pages/Admin/RoleList.js +++ b/admin-web/src/pages/Admin/RoleList.js @@ -87,6 +87,7 @@ class RoleList extends PureComponent { }; handleAdd = ({ fields, modalType, initValues }) => { + console.log('add ->>>', fields); const { dispatch, data } = this.props; const queryParams = { pageNo: data.pageNo, diff --git a/admin-web/src/pages/Dictionary/DictionaryValueSelect.js b/admin-web/src/pages/Dictionary/DictionaryValueSelect.js new file mode 100644 index 000000000..214d78731 --- /dev/null +++ b/admin-web/src/pages/Dictionary/DictionaryValueSelect.js @@ -0,0 +1,26 @@ +import React, { PureComponent } from 'react'; +import { connect } from 'dva'; +import DictionarySelect from '../../components/Dictionary/DictionarySelect'; + +@connect(({ dictionarySelect, loading }) => ({ + data: dictionarySelect, + loading: loading.models.dictionarySelect, +})) +class DictionaryValueSelect extends PureComponent { + componentDidMount() { + const { dataKey, dispatch } = this.props; + dispatch({ + type: 'dictionarySelect/query', + payload: { + dataKey, + }, + }); + } + + render() { + const { data } = this.props; + return ; + } +} + +export default DictionaryValueSelect; diff --git a/admin-web/src/pages/Dictionary/DictionaryValueText.js b/admin-web/src/pages/Dictionary/DictionaryValueText.js new file mode 100644 index 000000000..901a234ea --- /dev/null +++ b/admin-web/src/pages/Dictionary/DictionaryValueText.js @@ -0,0 +1,26 @@ +import React, { PureComponent } from 'react'; +import { connect } from 'dva'; + +@connect(({ dictionarySelect, loading }) => ({ + data: dictionarySelect, + loading: loading.models.dictionarySelect, +})) +class DictionaryValueText extends PureComponent { + componentDidMount() { + const { dataKey, dispatch } = this.props; + dispatch({ + type: 'dictionarySelect/queryText', + payload: { + dataKey, + value: 1, + }, + }); + } + + render() { + const { data } = this.props; + return {data.text}; + } +} + +export default DictionaryValueText; diff --git a/admin-web/src/pages/Home/Home.js b/admin-web/src/pages/Home/Home.js index 7e1096aa2..949a63ab3 100644 --- a/admin-web/src/pages/Home/Home.js +++ b/admin-web/src/pages/Home/Home.js @@ -2,6 +2,8 @@ import React, { Component } from 'react'; import { Button } from 'antd'; import AuthorityControl from '../../components/AuthorityControl'; import UrlsContext from '../../layouts/UrlsContext'; +import DictionaryValueSelect from '../Dictionary/DictionaryValueSelect'; +import DictionaryValueText from '../Dictionary/DictionaryValueText'; export default class Home extends Component { state = {}; @@ -22,6 +24,9 @@ export default class Home extends Component {

home...

+ + + ); } diff --git a/admin-web/src/services/dictionary.js b/admin-web/src/services/dictionary.js new file mode 100644 index 000000000..51c2c0d00 --- /dev/null +++ b/admin-web/src/services/dictionary.js @@ -0,0 +1,14 @@ +import { stringify } from '@/utils/request.qs'; +import request from '@/utils/request'; + +export async function queryKey(params) { + return request(`/admin-api/admins/dictionary/getList?${stringify(params)}`, { + method: 'GET', + }); +} + +export async function queryText(params) { + return request(`/admin-api/admins/dictionary/queryText?${stringify(params)}`, { + method: 'GET', + }); +} diff --git a/common/common-framework/target/classes/cn/iocoder/common/framework/config/GlobalExceptionHandler.class b/common/common-framework/target/classes/cn/iocoder/common/framework/config/GlobalExceptionHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..6ddcea436ee3d76e0f737c19abe1792d6347d6a0 GIT binary patch literal 4797 zcmbVP>vt4q8UMYxO_&VL5+E3}vwp}Qd!tHsIgn`FrB%rZM0 zh_`CBXfM`V)uPtBSp5R>A<)+2IezH}kAH?9>nHz#9*@6wW_Po>?b!e)?`@vvd7tO^ z+}{2B|K9s6fMfWRjsy6#jxmg@VM50wE@*hR8A%iu#Ws>Y--6HK^V{$OF6$h= zpu@t9A|dk&imwrAHDq*1%<9;WIklQsD_ad$G%P4~rx{rtu3~ZFsgqnYuC~C(goeC^ zK%nWA?b^Z90`*wJ zOS`7+rOE1>X)l}gTyxg9vhteeFYv&fwdc%pjyGdD!`IU?7ucSA-f}aJ^b-Pm^3q?l z({k-6fj7Fwu2_rKbyHC|GBD?ZAZMQEkctkH@@hfmgX;Io(v_y-s=O%CT~+Z#&m0Pk zNy>b|38-qlFRuzbR-;w|b@IBvlT|ONqMbl&Tn6)A=7Ocb45Ux2JCX%Au(NX7&f9dv zfa`jJr2yr(6Jwq~XXbOh?ar;>e@)JqGq#&Ctun1ii*jUSniye3KZsp1>0c?5R*d%HzU)I<;%>}yzgC8IkO&%8(YF6y2+Qbj!XyU z#VQwU84N*lj#QXa(z^Eza5~>dG+~6{SM{5%xpr^copO$BB zRl4_XTzU_y1lvmPGyekLb6B+pGOCUy415v?=|lt9aNWQXzNq0#2EL51u&OKR8(_dM zy8hwqTmOFl#(&IJH zF}%d-8!>#-z{|Ly;adj2jaM|hYTz}zt`zx>hBpj+7vD4Ref+?{50zGL8u$@@Y@iF> z27ZFK3>?KV0|OWoI8(J~j@$V>Q+sv8DHr5&m>9T;*9Ans1{(4+95nFr@Icq_w!p~; zZjc0G1oE6jZs`fB3jru|N!Z%aj0K%0|6^di{Z)m@PuBW@t)!b+!;qFfSpts;tw zBCBCfHFei?S@sj@`<^c_RhdVn3oCReir;Dv-(4xTB!d~ZCp2|khhbaYQL?HK*bW~N zK|;qb@JoSJq9WfgdDR2#R|4Io+Eu;7gxTI?rPZ^DZ-w>Bm6}Qs{!oY6f}2)7KWvGG zZ0LyXVVIOur0Zrqf7nXT3mhm4-Go(@o8#3y6qX{(4b0S1epvZNMZ~aM$O`P69vB-r zGcYwWIdM5T{OrZy)YRn*1IdB$%frd!WK!UXs*j&dB{OLF9vva}E5Tn30a_M5I3{P= zIJ!nQj>;x0my>RW0lywl_JtLpQ2>-M7HAH<=t$sjHB3S*%h`XCfx(*12wMBZ6u45U zK~0UddPHxY-UMy`#z9)xN?u}E_w^n91Ht6+le)6r324j5@_MOy0p{q z4u21gdEP=HCt!@YuJnf-E1#Dv0{^JQttc;QOi}C4cSekfb-`76vWjtPDJLK7V{~P8 z-pVL1UOQwtPRb5sLc<>g9$AOaM)okrtJAS-@8|DY^{)v+y$CoS;?CqOI5)=cLHwDE zI&>C^fE{>*Ya=4Sqj-!vq1rR*L*`LZ*DH$NWz_Mn{yrM+a9=5-J(O`EqASW!GUMn8 zG#oisjcZAvoyu0ueO=`f?l=~3sK0-{xGasQ%!|6)n`uTZdPbFv^A8tkC-sY?V zWwiHi*mD!+U3_efU$|F(Y3txX<37IP9Paks#lsPOxM(fRb}cZ_rK?#&h>Bc2mFq4InBLF%IB#4 JXK)Fh{Xc`FdKmx! literal 0 HcmV?d00001 diff --git a/common/common-framework/target/classes/cn/iocoder/common/framework/constant/SysErrorCodeEnum.class b/common/common-framework/target/classes/cn/iocoder/common/framework/constant/SysErrorCodeEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..919e684f9a78a91a7fd3b05e1acee8419fe6f7f5 GIT binary patch literal 1774 zcmbVN-EY%Y6#w1CiCx!)*0hCwv2H6P2^$$31xCBltPL!Xv=Em{)h1PLYJyo}3&#QN zZQ^knLX)<)Nn5o&u`eiNR16T${0VzrTJ4{hc8;BjLd#1c-FtM-Jzu}yxz~C2-@_*W zj$)<_5>BcZ!?=uL86T?X#RPAs_+*l|jDo$<>(hTH6nvzTKE=jq1$}HxD#)^aT0uYS zDFtU(|5!#&pv_n?7PH0TY*FBNzT~8Bx8yEcUb^H~tFDv2Y^`^)#>(r}b0t1DdVdQ4cEEcmDE@q9n#q*hBrm&fJ|9mE&o6gMTW@mPGkhr9P zpnl}4RjZk0()9cl^O~8im`*uu_@3>QsgOKExu}A`iBDSYHh#^l)UBGp$wadCEE3}v z*qyf>Yo=aZvb;HSsX`VxNI!c?;9O!mhGffa>v^|iR_0C5<~q${l0)+m=qyZ`ZkHE#pZO8T}1d=;+k<0DS*}Q<{U$!Y$9kFPzBVq22P;tFw+c7JAW$dzJ`gM=$ z_9kADNG@A`NKiD9q`9i37dA)Rok(skFQANsMji2sn=wn+?Xj}hb<=@+1{j+v+{nsBi zR({ja&xgC7KM&?cAXcil4uN}--PxrpR>>yyrsft;vjcp&o*10s_cJJ1>=0nUS z=O>TQH>8(7QSr$>MgWkct^-L8(uvLl1d=!aI{TSljzAk;#~ToMlQfq6Q&%DWMC2)= zcSsW$p*UYv6wCIv1F)NLLmLB@ zf}&j#-suDm(;6W6AzEo#5xh(N9l?9FGYe^wj4GD;1M)9{!*c@m1@%Hev1UDi_vznZ zd$95{8-qIpD;UMGX7E)4#=pW}kQVf|sIKbm51`#cM_||`>AUsLz|a*K^q9U!?+y$- x@y8SsT}6knAg!XySct9C+qwtA?1du?*;9$Nb{e%tT`L4Wq~JJCkY5BJ{15Zppl|>H literal 0 HcmV?d00001 diff --git a/common/common-framework/target/classes/cn/iocoder/common/framework/dataobject/BaseDO.class b/common/common-framework/target/classes/cn/iocoder/common/framework/dataobject/BaseDO.class new file mode 100644 index 0000000000000000000000000000000000000000..b8d9be7b44209d041510c52e4e83e519bd0e315c GIT binary patch literal 1391 zcmb7?+iuf95QhKF$%*5TLusI#1GMBoW1vVNQGuWiQl-!!HB{mXInFk9actx`<+VV7 zKwR(uJQQNqan9~Vd@-{#JLCCwX8!*B{RhBf?8r!AD}^NP2~ifJBBP3$INcXwTS8re z%8=F?%|^SSeR$tEWLRsS>SwxY>2^=uw>{qD?lT5?9COej!*IFo@wVCL47pMK&@(Mn zBd-V^e(Fx{r7pL)$GZ%PUDGzb=M2$u<%l7+=X5DQ+ca%{Fzk1@+txc4c?wO((5)lg zHH95GW8R55U{ITet(uNOsjg}`{k~(X$FAPzpB?w3N>z2IbIJ`*eWee$)*_fpk9&JF zyoGXQnK(0;4|-W%jH#?#IQNEoCrwmRIU9$q&iKPefK6kY0LjbaTFHRrv(3D4A&?*PWwfQ;d&@kbo$rP zi>jeeH^QN!OHg%!QqO@BU7kQ?eW;tb71F8LBGgVOR0+4~;Y*#0EkQjYsHf*ZiIGpB qas-vcoyqKLbS1uQ>=)wSkcj$95?jC^wqP`g40SwDp1b6UVDmrjnfqP< literal 0 HcmV?d00001 diff --git a/common/common-framework/target/classes/cn/iocoder/common/framework/exception/ServiceException.class b/common/common-framework/target/classes/cn/iocoder/common/framework/exception/ServiceException.class new file mode 100644 index 0000000000000000000000000000000000000000..ff0b54cc4c909d2102c7ddbb8c33b494f5d0ef38 GIT binary patch literal 661 zcmbVK%T5A85Ug1qD-ZFB4^DbfK;vGFF~N8-nwX$bG2Dk`Tt?YlGYslyX`(Ul;0O3o z#-0I%7*AfdyK8!?s(be1^X(nLHcD9}QOqEL1s97hmKc(L+!hRT^=p2|y)KUe?>N#T z5UR$I-jk8k`wZpsALnCGLn|2twMvr+4=mwST}I-xAGU|xYd%dhER9X7l+>fd2~b3>+!$}jAj@b zVwgS=x)Zn0xM9;mk(e6@Juq1;SH^}I&7Ez;edUWIX?z!di*6a2JX|d2kwThb=YQrI zN+ZJ;{YcAjG#TlR@BC-MSf$rX(reN}jXGrxDW~e%+n4p-eZoYz5H(ua8*`_Rg z3-)M@F0LbsGIE5i4BC;$Bvo|L(lVPBFhz9JlxG}*4S`XfA#G;WJc_0@Regr@NQpzd UAX^69u>AQ!!;qhTHQP1+1@FI^D*ylh literal 0 HcmV?d00001 diff --git a/common/common-framework/target/classes/cn/iocoder/common/framework/util/CollectionUtil.class b/common/common-framework/target/classes/cn/iocoder/common/framework/util/CollectionUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..d6caf6babf74ebba5b4b2565b2e80c497bfbbd68 GIT binary patch literal 1002 zcmb7CO>fgc5PcgvapO27ZJ?!m7g|UH)F5#pQ3R?$MM?oFArkboaZR(S+OY5DPeKYg+&HnoR?FWE+ST|wdat>FpV&JNYYgjd* zVa>pG12-5lb>WMs!Jw5Z9R__v?zjwvrtsaTqe0gV+Pv#gWT7b??sa$|ls^sXQBQ;n zcbkrH3+Yg5U^{X!kiPvo-~;!q4EF3%Bs_aVdY61zT+Mghror{2E*cf&?mA&<1J zQ>a1dW=oC&$9*i6?4`rPtt+K0%pq%_Y@vV(!~9IWO&<2>0tTuUZsL{#-e#~*I30#! zTrwdM!|7R<8KwBu(3mFpc+d}nfR9PK3=f+kB*oYMr?`UAwg34HI#@x59!V3CJxTQBHNk(kjE+VvZPp%P%8P!G`Up$39I@QDTenj^bgRr zk94dhO63xzN|?t2otJ23pyjm(qz&0=8U$_ca0ZK%tU7GQbcw@vXfLZ@pzkC7iQ>u9 jg+yr!OE^pC%d{rERpcCb(*{dqo~M<<1tNbjwl4hvO!ekC literal 0 HcmV?d00001 diff --git a/common/common-framework/target/classes/cn/iocoder/common/framework/util/ExceptionUtil.class b/common/common-framework/target/classes/cn/iocoder/common/framework/util/ExceptionUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..1e4f270e0bb69919983f60bb128d8f51c4a6fdc6 GIT binary patch literal 1741 zcmbu9$xho)6o&ts0f!Kp0A*?!%aqx4P&ZUnCDcll0#sty8|MOs#74#mtoj(0cmlR` zL#r+-*mTi1s#Kx=Hi=`VNNr`wcRc5O|2fD0dHL--fERckM;tQ>X5;9@TpS^!6=dRw zBC8;$Ag`dHpeWGs$}kP*wLmzX*${{M&Z@NQ zhA#ahft7S=SF3AkMKiZsCJULi{$gLeE1svhjrL6>rAqnr8UiFf_$$6g@A@8 z$NT%PQ+Lw2=^>Z}pPM)5@9^AKA&XbLodE?Z8%$uF+>4fZ;MkgBIva*n@dO2=X#bE? zw=0g+x>hmDo;$T&2#SiYS~Xjj?+mYX{oro%6hDXU$e+n=LAswHM+bC*5N8n?FmZV?z@b??ZK zz+gHP=p)~PrRb%}jdsQ)e@b!wr+^5ATME9rxl%a_j?wHFh|ipa@PO|QZ?h9g&fTlL zfE0Q-cCsRUyyY5~8pb`@3xtl*l|4u3E5fJZl!sx@(F2aI3xx(r?`b;h!9(=(Y{0uK zk{IM9D!6+UWT+A3gkywz#q1d(rQ8Lg$C%2UBf6A7L&tLA2b9POBH_XXl#j=V70#gq z3C0*37@~k-ay+7l$Ba3GIgBEY2~T2{5#0S@o`-lk!1;(rUL?<`3x*8FxW|HU)rasU z#uSVznBe=3_(j*(_$TqC!T*UiE`K_}KYEQnN%YtidF(d%G-J=u{VWOR7(LBeX1K}+ e$oqZrluw@a$)^J3F^J!oC36s0V2XetO#cBb55n01 literal 0 HcmV?d00001 diff --git a/common/common-framework/target/classes/cn/iocoder/common/framework/util/HttpUtil.class b/common/common-framework/target/classes/cn/iocoder/common/framework/util/HttpUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..28657f652fe97198131e0a8d0238de5634c2b4fc GIT binary patch literal 1080 zcma)5TTc@~6#i!0vb}7fR#4H3Rk`$ntQWimH9->tNfBd_2cMj7hjyUdt+P`k{tlmf z@+aU6ULO1b{w88Pv(+f1ChR6>=A84*cWyI3et!E7U=jDzNaIox#SAXvN*Y%&oy1HU zvzRlYWJK9U#YUB3@G{JukcJ`4`??({ z`HpKD_@*?Iz%k;4^qXRjfvwVky5`=_8t+AA+n8s_tqJ02KIf)PEff`!t_OYPiKo)E zEBmM51;gzi1BZ;u{|2^k&A|d(8`mA&z)dRVvEWLmB1Ld;3yThJOr zzxAv)wuPsUmB>-|bMQaLqoF)=;_&s9u1M`)<^%XG-wdxndKOn*O ztNFwMMjjTdkC9f$*{=^^A0W9;_!vx#DcB^_#F!y&hj>RZNfD<=E0Shn7YFf{Q}`_3={wW literal 0 HcmV?d00001 diff --git a/common/common-framework/target/classes/cn/iocoder/common/framework/util/ServiceExceptionUtil.class b/common/common-framework/target/classes/cn/iocoder/common/framework/util/ServiceExceptionUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..47cd5ff1de53e147a220fefaf1a9a7a9a1f43c6a GIT binary patch literal 3917 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 Umx8ZBMi8#^0<$!Sy$-tkAK?g)G5`Po literal 0 HcmV?d00001 diff --git a/common/common-framework/target/classes/cn/iocoder/common/framework/vo/RestResult.class b/common/common-framework/target/classes/cn/iocoder/common/framework/vo/RestResult.class new file mode 100644 index 0000000000000000000000000000000000000000..59aef019e76b83e391fb974306e00c1ca1069b7a GIT binary patch literal 1628 zcmb7^?N8HC7{$-sTen#R22AC}7kpt`CsjoFpurCs6OthY42fS%$|$3-tw~q#-_k^a z(ZoN%KgxKXw%fWn68W%u+k2m$^SjS!_xsO}UjSCIo<|ObhH4%O7)WmwL`#1pxC zn#GESX9}shdtfU})sC$*%WPWhhPm1H?S}2WP|#X-r(-p^Ux@AR`kvEna65Hi`PSgx z_WrS5_qmsO>9iexLm^oz@3HiCU^8BG+V;EC*1qk1u=bmQuv@p9dzRFTMc4?+mj`4Pnz&JYHielWYTOfVT zQ)H_f+Vp@qySy{j8Sd zRnswnNrm!%C#)lnYdUm{X;{_q9BVqRV_X3YrT_AV{tA=*rKmqV)0x#gwYLuyilxm_ zEyg{58aaMJNzSz6RYDwtnP!}GVuwkN1>TvQNq}_a0_tl}HpMX$EG99{YdtK$42rzV z;RbF}R384sImvnYClVhokldyi3R$X+QKdi~(Y+f!8(~r< z09CBhaf>wx%(5yc=MV_7p2K`(ZE;R;Z6UI*8OiU+(A^+{W)!kyF!~Hdq***m?KvKP zo)inbx*c$c6NMxT&ROn>y9(UXipvtv0*i+`_6@1NL)fv!Kyk2R3U_$cuwxq$cBaB6 zrTYDre>vb0DVJhQnW*QIhlJT6k~r;-Od(lBH?^(&PG)HlZ*Nm{|%}~AavwM07?j3NCaKECBpZRO4TK7%h4Bf LFc5mDt#-cv?P!Tw literal 0 HcmV?d00001 diff --git a/user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/OAuth2Service.class b/user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/OAuth2Service.class new file mode 100644 index 0000000000000000000000000000000000000000..13b7313305daf7cdc8facd104e2ef7aaa1fe4fdc GIT binary patch literal 718 zcmb_a!A`?440T4g(hbJgSHNYF5Vs+ufy8O3i1GtjX4-6Rg3`1c`2#+P10TRgA>3|2 z5xY!quoC;(*7LL9-d|n;;1q^F4173b(2vngq{KYGGfUJAqNC|Tl!B*1$2@XY>3IA* zay*rqDH%NOaJHpCvnzfoQX8$MNZtwN+pqt2gPTGhm*o3Ck;U^!tpur@5%(_axKwh z1G{Yn>4~Q3Pk-&W)pRr>YNw=d%IMDlBU4z3SM^4QD;c7dHlyku7>pVl->lz{D%$z? z9fh+6O4nh)phfow(DE4UfJa`Nyr2agdVI3o3WR{*F7(!Lo59`}v`;5< zbpepto{Wb6(K``{k&I+ObybP&{ain*L@^(+N%JOYa$}A@X|qj^s zr{n^ojfPsugvuqSPAXcj`^o?S literal 0 HcmV?d00001 diff --git a/user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/bo/OAuth2AuthenticationBO.class b/user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/bo/OAuth2AuthenticationBO.class new file mode 100644 index 0000000000000000000000000000000000000000..d8c2be88cb331727f7671908191c55dcca266652 GIT binary patch literal 722 zcmbtSO>Y`85Pe=gHc*lRY0{=S^#(+$r7EWewQ4K%v<;PLxSPcSqh(z!UJm(HiPR`k z4*3E7QBj`(DGK7$96a-8?6>n~X8%6i-2*tqaTP@zR#3p}5N|>pg?KAa$jwNg9!=Fk z$wZ}N8QFAvCQ$C0)VNQ4(P|F_ir?%=3%ra>s?YP;P-nl?Fkz+{*;pk5l^GwelSMZ% zbAfIYr_$J%)J)D)lE{2c#IrE5mg={WLo0hL4X&u zGPlU(ATK*#=R104JVR-m0= literal 0 HcmV?d00001 diff --git a/user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/bo/UserBO.class b/user/user-service-api/target/classes/cn/iocoder/mall/user/service/api/bo/UserBO.class new file mode 100644 index 0000000000000000000000000000000000000000..123b76e5a17e209ee1ad88fc7492a9603e56ad94 GIT binary patch literal 941 zcmb7?$xg#C5Qcwu3oU_`Quh7U7KAU{K!8BvR2GTl?xa?0lqM)mc`lGZNE~6F6skD7qkI+ZlD=BIV#pi@O-d~`lrK+u9Y=;2!imL!E4(WaD(xqW znW(M03>yvC=PGbX8uE_tJl^ZljQ(5YN-k~`cLIJ%{=umRYRTwQ!Nmf^*>Vf2N9Bte?k<_gI?&$BXa|z zaSt~29oZ;g)J6`LjS=J->VIz{-E;q%Pn~P&Mp&cAkfj%rqK`H;GuoHNESRoE)+UeB z$nW-4G8Uin&gE{ib&d0yIe{H|M6yU zJ*vPVG|o+8iVK2!coY%5emd2J&d?x27SdW#<{a@`8l{DNF+#0;h{?=k(|aq6r!-sqxH}_+4{4bxeQT;^`+ruQ%;i$H z5TZ%A{O3kOx0)ubOrFIko@-U$01h9KuYx^z@WIEaDPUgv#q0dThS6kgafPTE@Q>d> buXRhCwZUodzzx<`9sB5@%S6~@btq>j4{VVwzABY$rtoOqGU5P2Wwui{qCr;=hvO zuQ~iu?B;k?@{=3^$$L0XNq(9mDEW4dGm^i?5t4id$Lo@xVAAj*@ERa@pJ$?D3fqLv6Ux zZuI!WhQ}L=+Z|de3kO5qCF!lP>tCKvx2v=@9eJHylJyx3g~P^RgkhWAVvG(NhBs~+ zL2o?Z8TAFCf%yI?^}rX2#fK>YuP4UPW?!OwBcV`y$YauW4%vGK=3{VYb;qpqWO9OGpsRbOdpYDdGBo*9nPhNs z{7^C%u@0q4ajGDpml*bUEzhTWg((PsHesbltXxV)tAuo9tZ|C02a@?C*~7zDj%Yra zqeScaQ<+qL7ejZIv-o^f&No86$sbA4T32V1Zd+%0?}jqT<_@PaR+^#SOpRr%{A7;e zws!rWjhti2e7Q_DUES1a7xBQuX0Pq)ULKx-_b1YoGt(kEO~~dYuYdoFD!7X#%4KFJ zbBW|oO17(Y+52Uy96}9o`Br~X!w0y=(6@s3m4+m)YdDGzH5|nA8eYKn7_`##&G{?W z7caiOFf${q-`DUg_R&NYXHL$)cVh1IbER7!%wN5&!LQ_nPd+S8&5~Ta^;U8EhK7KY zp&=--W#RVy#ml$n?p>QdbJpe*T4pTH78dTGDotO}FkH=8y!LVF(rFF*u}?!-daN&< zdA&4!m!i{|OLuM*PoAB>c%yWBR)Z<+8@{yD-t+gSmbyfwi&(sQc46j3Ij@HaM3-7@ z2OC*tnfu~C#nfF}^(npJ@rZmK) z*Lu5!+~@9|Uwr?<{P|NFo|E>*uU1>9EW$Da@4joM<@-$F8?U!pXZB0z{ z*@m|ACbLg_mC_+ihenL^k2rBfi^i403i*5Lh8Cg>bgQ|utMskLTZ~r z>YPIAkV0yMLMpmKDzQQ;s6r~ALMo6#Dg>QC$ca@*LksBb@>&qDLp>}U0z-n>CPMjf z6~I2jst2g~h#13R`mR$pPX0-}gjLGFmr$;72}jT8sC@v3^k22ae~c8Z?1dvTHd6G| zG8{QBUFp7{Ms4;yVJ(?N&l8W#qOPaoQ#gCt9G`-JOlo;kK?Mam=`fqI8jqtHTOb2G zN^513X_f55bjzAd*r9?pJ20*T8F~(q`wR4B=~;!B>3lyxj=p6T+=Mc#+MZ9~{G)RC zssKGIUOA!KN<4-MFtCXGkYVl3+Eu}oI zlyB>r_>SmPO21N`(Hq1r@m-}1D8-{Uirr#RDPE-*dXpFudz7+Q*T10J)D+NQ#vBDS zo3YvgTFh8o0c~c?SwM#w;{`ls#&nW46Oh(LK;n}G^#yDrpb76KSY5!=1X=<81PuiY z5HuFxC1@&OuXzVdPG9*74AH!S=B}9rdJ`J31C8*a2~p^DC7SUgn!wl4f@!qkHrnt2 f?f45eU=EMqujpVL8(BLz4P1Hben>0i`2G055?WyJ literal 0 HcmV?d00001 diff --git a/user/user-service-impl/target/classes/cn/iocoder/mall/user/a.class b/user/user-service-impl/target/classes/cn/iocoder/mall/user/a.class new file mode 100644 index 0000000000000000000000000000000000000000..d7e0c50e0f15fdf902b0ba1a1a85fc291ce829e2 GIT binary patch literal 787 zcmZuu%We}f6g}=tGRZI@B_*Y#yvj2vrK1XVt=J$TAre|CRamfcrdBd#9+l&O_$M~7 z0K@|Jd=%n%(kMl(CHp>n@9{a;fBydb1>hOBeN=GMhlg7g+^*sdHY&L5;~wsNc;Mlo zKzT3DV)I>C|tqut^?sYgUux!_u0xu?uHKRS?F zrphSILU&@MF37$T5YqBGhbvI)8yUUt$&-SoherZ_KcDJIy^O7xvfQ>^0jlr=G_gvo z9S`jQ9c=P?r&t~y2iU?B(!W?A87>~*A0Dg7P|6~8IM(^c+4#;B_CHOGN~u9#3-Z{w584O5MSsl zA>dgqk{)XGgINJCqt2*`Wn5vEZGJj${(+^pi)NqKV1di_vj7dOFn^W1#Q&kG+7T1O zVkK;HXj={EwY&EfZlm-K<@L|Kxx4lIl!s;E6f9fh39@mBRw8hXwobc7-1)<{@)|S1 Rb#Cg~_s}BJI-@1r_y;_#mTUk3 literal 0 HcmV?d00001 diff --git a/user/user-service-impl/target/classes/cn/iocoder/mall/user/config/DatabaseConfiguration.class b/user/user-service-impl/target/classes/cn/iocoder/mall/user/config/DatabaseConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..5bece263d44bfc84f81cd330ed042fdd6e00be37 GIT binary patch literal 641 zcmb7CO-~d-5Pi*l>9PteB3~zN%3(T2!bM|Z7L12Q6CiugQ%%#1jWgYw?jBfvmM0Sq z{s4cJp?b1WVz@AqRM)Gney^&!fB(7p1z-;weYCLF!}A{21-fsIHSwK5>&457KzroQ zw7}BXSpBK4a_vtkFF7(CJ4NM$yh(T-Y{zdV2)rIED~(fp)XR#>Qr3Yz zDdr?WDj-!%7Xz|5~0ov#Y zyn67gnJ~>!mShY0Ils^4-PD#$F|F1ppQpv2aVss hW5#KJv9SX@;dPrypYpoIIm=%m0#-0&fAtHV-2x*QwXpyI literal 0 HcmV?d00001 diff --git a/user/user-service-impl/target/classes/cn/iocoder/mall/user/config/ServiceExceptionConfiguration.class b/user/user-service-impl/target/classes/cn/iocoder/mall/user/config/ServiceExceptionConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..57c195e487be1b23337e8b45cddc8620d8dd3f8b GIT binary patch literal 1328 zcmbtUTTc@~6#k|cR_Y>hRg{b1tu4w5f{7wTLTW-%B%#t5o~FxC2lmp;&Q^Tz&0pe+ z&%P+}fgj-C@K5-Jo>{6OG{#7io|!pw&i9?$?AOCD2LNU}$k4d-&%;61b@FUFw?QD>?q*SO(@TDO33AL-Dxx2f{8%d}Z?lKIm$AOl< zsLDuE4og80>Ldtaoi2x}?nDhGgZj4OzIYv~UBjToo_0i25KYO*vW&C{gd&P;lY23h zX0ferEe!Q3fTc#mlWsz}F8J1)1dxDol`vMWcrHz$C;nQmsU6&dm9< z*fu(mvyit@K+(n|?pe5RV+xLq2bi`nW8)!a86N+4Lm4ic5FL*Pb!V-%BV0`t+B|1B z=iA2fZ^J+{o-~TO{48HMZzNV-=%Y764`zj-=Q!IH8kV|H3|7Low#_h@Un!K&SeTX* zOl#&D`tv7^D%uPo+030t+6{d_44mW9jJ5R6Jgp5<(o1f{RP%hk4e<$8i>6S;I4t^9 zm|qIaObE$~baH5Av}TK+!9FI}Hpz}enL`)t?IQzRLN}eL_vD;PoZr%#C0%hJsq*B( zLV9sz_&r7^M`oU6hBBX!-bb=#_tEh#%|872W*E|h2=pRDasYi8q)*iV4eQl}ZICeg wh@+=vQEc({k#!eRhv>A>&)9d2krU{W8bJRmn_wpCf1@k>Rl@&O5HbJ^Nk&Ue<` zp4I*XehvsJ3Vc9(=9lm*5YL@WZ3~N5s>Dfmdow#T`^+;l`^R6u{s!P9v{zuGYGVuA zHm=}(8&~0$xW#ATPa7ZLLmSs{-KOmg3m@CKiBFd4^Qnc;1eUzkey7%|?+ILK_@S#K zKRQ&g+m}J$rV0Q2C>*NTxb0eMde`bBX-8mvywQnjzORy`6Me5jfk9<{m_un~bnry^ z|3sSd+HLPt=X(*rQ2WZ21MMC}V+>QC_u52qvZ+ijI(#T&*;huziNNcT%+O9*?zRQa zew~I!_mvk8b)pXfRSUz&NTZ{WKBpT|+-2f}#Kb9KHsxTT!*0S8N<$f>O5oId6Iv`L zQ5yR+Dd1=bpo zFM~%i)|ot37EMnR`i=SQy?}G(GXX@p6v^>(HUyIYp^P&}=9OH!rTR#~ z-p^^huX6@wTJY)f&V$Z^T2VdYz z3!Z}q_)1{wHqN*oI_y;zzEW-E z!Be9HcUKz4ek;#v1T4CZ?8)4N89e*X5~KP8t9}~CEOKVn)IpGS&L~a}yD3eNy!Yi( zHhjhNsvcb?S$UyRT@~}Bd>Gn~$$iBeL(2n-oj8Od7Mn&l0^feRw^PNy2MtLddAhJB#d6yvEyB;LWTR_*X2F zf2^W_HA*F3M_ktVo}tkjd^f&@xQkOXIGxbzOoFr2zLmS2quqBXaSyn#wfzf30oz9? z9AV)YMYWDn{|EkA$5=YT@{hDC;B9`(Sm1X9ON_h8^_^VGqu_iFi}8qLlP67J5$OfI z`){Nx6Qp3si?~EZ2JIr(>~YrYW32oR`)4>mQ5HFf#eBESc<)hHz~wycOj`l|25DK* AzyJUM literal 0 HcmV?d00001 diff --git a/user/user-service-impl/target/classes/cn/iocoder/mall/user/convert/OAuth2ConvertImpl.class b/user/user-service-impl/target/classes/cn/iocoder/mall/user/convert/OAuth2ConvertImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..36184ba00e2b446d8c3b9a4a23cb5fe30d4e6d25 GIT binary patch literal 1772 zcmchXSx?(Q5Xb+U!=}Ly3KSZ8aF+xqrcg>bREa~CkP=cA3hLv=*(Qd>j%GLCv$`R6>(zp=_IaT~E4^7$ zF(TLj5%f9W|+@vhN_zyrCMs0S1M}VCQCDo6Ja@OexvS`7q*(SoocPJ#?bFO z_stDW6Slo?9t(q^mJXLHa)+CRBcYwE1+upDYnkvYf;iDNq4Jup7EGTbkhz&Bl0K8W zc!A~ZJi}7B;w>Dmnzz}2+9s*3gsa_&uWQfY+HsE8{GRvZgi|()AGpPW-Tdr<66sDVpzS0U>muDw^&iI3fjV4sLZuDg`vmYlv?3N zNzHo~fMNRX8Vrk}!8e~{hImOhJ4L#t=}h(#V9&91qeQ#twuKWo;taX;)v$lLlu4@p zQGBt4UG`swB$aGkktpVqPLRDVkXh41lqlZw?gr63=e@w%{^c4*q0oa%J)qY&N+TUN z`aYzYN+Y8&K79uEjf@C-=_`4QUFaiQX$GJlk7!1R7=sk$CV!{LnR|2IRxpQ;Ldu%0r|L%8t=YBE@b}8^mLbV92XB(p2=Tkv92KRJEH{ zhVXYCcu!oT`JU9(YuV20DW<1Bg@dFu{xv%s3U9B$%lH WNa_M4bpg^z(WBRbjFDml<9`9QLE+v2 literal 0 HcmV?d00001 diff --git a/user/user-service-impl/target/classes/cn/iocoder/mall/user/convert/UserConvert.class b/user/user-service-impl/target/classes/cn/iocoder/mall/user/convert/UserConvert.class new file mode 100644 index 0000000000000000000000000000000000000000..0e8c9aaab5d423323a7f37c83fa49f6196377e5a GIT binary patch literal 660 zcma)4%SyvQ6g{`vmqxAc_fDa@FdKIjL92pLTk*AVHBHAllFpRLB;aR>8*w47{V4G! z6;$ZLKr;8-+&L%bWIjG$-vI1ly@>fSEMTz=!cq~-gwkpA^6H>jKPGH90_`gkn2xl5 zPlTZ#M_dI)C(=6qnn8U~*9gV$HsPi^d|yX6VcHKe7;HUi)wYHYGH;>+>5IPd+a}XF zY_UY;OuBp1ITu#+q?0xx6w)s`Y7tg1V(nBu$4P(1(p&vOL zv;LXr_m%EOOqx$b7)$oO7lcYHw@(+G8_)lgbC<6c|ZE5W>ku}c%%K%S@+ zRDPwf^B@vISQsKEElXAZ8)p$K9#*mDA&&xUq`ZD8bk}cX`4QIt`neN@m~Vzr4zn3q+MNTw0Ip-MQ~&?~ literal 0 HcmV?d00001 diff --git a/user/user-service-impl/target/classes/cn/iocoder/mall/user/convert/UserConvertImpl.class b/user/user-service-impl/target/classes/cn/iocoder/mall/user/convert/UserConvertImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..1a3e01dbf8282431ba6980ff4e696690d170b31b GIT binary patch literal 986 zcmb7DO>fgc6r9b6O^n-y5&|t>EiEN!qx!vLzd8+y_o%19@5zFCP+^h{vC>jjPu zJwhXAB7NVP&zN~(uuxI#d}48wU)^eM%U~6^{D?*A~bzhs1PlrnNMPrT4Wbr@1Zlo{CSx(FYmHiHcQ3i>yI7 zk398OCtf!Gab*8gE~JebEP>rZD+^y~;+c&tY}oN%J6t-TOnm}!=;$G-x?{2lbm#Tv}(!rRcs?9E2-n6cE+-UOHgu#zq;1>UY5+hyZ zdYhHQC>X1|7ZBglW1FjyZrWI4Zf6Zx#tJK%ggYcjz*ELD1b$(p#22dThDMv@DV4y(9Jp=F9RaE~I*lt&nZ@T&ar L7zEMDYu5e(Ly7;s literal 0 HcmV?d00001 diff --git a/user/user-service-impl/target/classes/cn/iocoder/mall/user/dao/MobileCodeMapper.class b/user/user-service-impl/target/classes/cn/iocoder/mall/user/dao/MobileCodeMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..5e5dc2fa75ce501786076f3f2457a702fa1b5627 GIT binary patch literal 479 zcmb7B%T59@6g}ms_`(<${sF|qhQu8!(YP9dk%WC2u2`JuowOaz{F)0tz>hLsV1bEo z;im0jL?xFz6+z)0R_Skk`4%GF?hVFHAH%Ur`$MnCCX5 zTWPqP4Er;M?wH~;FCL6HIYsh8_K}M=R`Mtd86}0YK$%P@Cd9$0+U`&o^^%o&H99kH zsi)Cfw;cBW$3QUh4I_olluMt|z0gxQ-|-xqq9A{@MpC$VEQMQ6GaKwYqZ{WqnrPVx z?aPGyQio#A<7uttjs1%bqKP6yK}H{BEIPJaDrg7Hr1!DhH4IY)!*0AX z??z|FE%cPVb&G!QU%M4VTwzpGTT?20g3mTX1y={8Ba`RoZ>q%#E+>W1ZE$9Too6_3 zj@YmzC*apH`GpR7h4ohH*^*!DAgYkK%u!D;r(l_U*;jD;hh=o=)h~gVwHH6$+1gZ~ opeDZpP^&9Ag1W>Fi5g-ffTSWg-ltBgchK6Mr*I~BQ;O#RKOM%3I8Nb2L1KNxzzQBNXNA|63Mw(^#yF=t+33=+q2(G2*4eb< z`Yy*+z*xW12K{3;xmqYVn(lxWeWX7!RZ1X5k0$QO3E`gv!Kb zCU0i)-kZ1o`uGHJjeZ;5HhKz)b%A_T7!4+=)0R_Slh?V)GQE?HUYlrmwWT!bC&Bl# z@o=fopHh6`^`r47r${~s6S-((sn89S$@yJ5<(17y;bt(|nm3~}<2HH`y>*-M@V{z8 zod5E47QFK*J=CPV%FWai1^KIrUEyNB69+jhZLq71Zk^+3qGc!MMicfM9g0f(x$^wZ z{#6HYP8`dE^qdL~HnK0r3YUK*!F2>bqLRVksaYLRqM*=_e1S$&;RsE^EkP}L0+3M~ U$A{5Lb%#z}PjMzak>xq?4YC(@=Kufz literal 0 HcmV?d00001 diff --git a/user/user-service-impl/target/classes/cn/iocoder/mall/user/dao/UserRegisterMapper.class b/user/user-service-impl/target/classes/cn/iocoder/mall/user/dao/UserRegisterMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..200f969a7d7f27f3e388db2dad7eb40a418a6bc1 GIT binary patch literal 338 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 B;)ehL literal 0 HcmV?d00001 diff --git a/user/user-service-impl/target/classes/cn/iocoder/mall/user/dataobject/UserLoginLogDO.class b/user/user-service-impl/target/classes/cn/iocoder/mall/user/dataobject/UserLoginLogDO.class new file mode 100644 index 0000000000000000000000000000000000000000..03eceb814a34e0cf73d860ddaa0b181bcf7db8a5 GIT binary patch literal 331 zcmb7}3d9g>rZK=JoK})n&2X;=iN13+VaH#f1H)<`q3_I%u^W{AuUxl{T z=E-*5lfTc?J->2+7zttezh=U?3oFNdrzMnaJE-uf`0qkJYhl}TPC}Xt{YaZ4;YzR2ID^QP4<#!n- zGVO&?miBf9{5V(As3YB1WB<_TBs`#%{>q+CwRs~@YPOCA%KKTDfeVpN)u&;-NDHDu6f(nx__toM`cd3?q`|HzG8dw*4TW1YAj=j>A}IW9 z@rXo4@>|OWcT2RK$Rv{M=yFY f6Y2?8WoU(#DX^6O^m0$ z8IwTA)3v8!RLhe>^YlWXWsSbIs*)r_vKe^}=q`B0WO87v35WcK?VT%u#<9y-x0o7B z=jC`nzOM#3SGuXwD!)?RRC!%&gppy7-Bep?oaR<9$12ZdS#Xr8pxoewbdY~J?~jbn zj><4Pxu|Y_=}NEZ)KuonpZGu3B0K1!Cm_G*&3k(PhKo2JTbSbS0@{oX%y2Y?1kH#o z%tmZuE@G#~`5G5$-C~VPwfT-h6%t4Yc1XO4RH#RY%g;3`jF#Gy=Ox znzkuv(|w@}gf^v3o6?n}sW72Qx0JN$zWk2ZXUy|m_(wq@RUkT!?L3}NUuPf-vS$RD= zQ!;ElZ4~vg0wt#4rtymDa5!m{jch?5G)>FV9K$lXzB_K&(~)w?Hq7ZMTPy0PEc)JDj0ZcrLr?ztZfaS@b-pF zx*g7IvsArO1P<8xiHdIKs4jd1>Za=A+`qc!$uJ#BXeH`Zurr=BBZejJ*pZ@EC`2lB zF_PD;NWyiyAxv=gE)UbeiesH(#PZzQDSA^i^c3_pKh{GxGSQHY6-xzfZyzvB!`ZK( zrMqWRL93WWR>TccAFUL#x}DZY00nE~R!%ESYPKO`Z?e@nYPgJO>TCVbhQFSf-qGvG z2qPcY%1%QN1FO|i^tj%H<#={d(2$&n-vS($RQ+;K9%g@?IKW+ZgysFfen zBvBmQCR!aSW7^c5ip>+B`2RaQ;77(!yyjN#7rRLze+ahwt%_R<1K^H@Dgh%;|9o(| zD$m}*W0RJV z?-!s#DXU`V^aH%L6l`gn>*IBw&`Uvg(}XUQ0lMYPmh_0Xg-XM5@;Aa%$ZA72m>zAik~QJ9svT@2dD7o(tmp zDlXy&Dt?F`sra$L zHqG%jNd^_az{_IDD=L18U#a*tURJQmO}&a^6e1(!hKk?dw<_L?S5@4H{XzUr#WlR9 z;`d_7AMm=0KjMOlyT#r=$=qJ){aJc{!Ff{aUj9?@SDaVzH~d}2KSbX@@v4G5n_640 zU6a1N^+k?kZd?sXH^Hx`M=KdibuG|SW4eN#ruHo96oiV8L)l0&h0G&7tWiDpKV>CA!T#OR2E z`Q>u5S-Q>ImInPe0{8G#35!n`n1&3p!m*Np4vL%ev! zaa(6D$Qp}Nx98b>j(F(Qme=|5j~*I}jYo;TpvSt-J9a~TyIVVlEUUmr88!Iu^d?#B zvbAORdFI-4gvR?1m`I8C^$T=*7dNkWzLm5BtJwxWEo)iR-$PZK{Hla2!^!dS=x~}Z zqqhpvqRLJ0%9UJBFY}}Y6{LQWpLt7SzDOC7Xe;YZj7UA;x4Kr*{F-hgl{R)C@zbz@ zc93V(;xX($r7p05P&aZ=$kR6=Wwp~A)Cf^`qd}KtYv0wqJjbQ-_xd8(@SvXVi{6;? z1Z9Q|_yKA52xw^Y6&6wGzOQa3CC4)!u?FMg(ZP|!nepg@u~a(hrh?>C+Txo&X6E&o z#R*YQX$30`)A5LZho7g>L&MSNNG25>9mymH55*D_iOj)?!O?UqeK<45vquIG^M{Ck ziz}N>CNl>HQzUl><5Rz}g$T84jlVAz*tLKdb+eWoI??LCJ=zVENIBTX-++Bk5J4LP zQtjEllRsxW`F$5ZyUWF zVf71Wt)guX?Q;lTn!}246&+QCbc%JJKJ&B)s0{(GuB>9!S()xyFul6BiZ$nCeywkQ z4(l%Q&=!cHI}l=f7s1<&F5_?it3^6FsV{v9j&0x{;{(&Z{GVI-{1H5 zd%rhNJp0hY0G5k0Rm5;p4PJx;DsILtDsIKA<>fVU>^2pz#qIL)x@x>$#T#&kiZ|j- zD&M_X#ZtUQ-rXtZ-=*Mg6_e$=n{iJK?!{YcdAU!%dz+N?_FB9H@2tVQ@NSit_o#R; z?pN_XykErvd_YArKB(eD_^_Pv5jl2H#RE7bA3rKZJ*ePga`+~xGcWIkd|ZxvLN0z--aR4}KdRu9(qL!tr{vwI<>fPS(PQ%Nv-0w|eEeK3K9462)w(9_xIE;of zX-OpIn73bGPR7`kF|vavFn`_2<$H@yrl2-QW4c{?1eUZX(oxfrMrNWZJ(-Nk*HO>j zXm4?DJT;W0qbnwcPb_C!S2G0tTskFX^_fXy19gq+Uw(4^9mlWmteD|~8!JY-LmwJ4 zG6Ktj1@`M!w2Q_JE-PC@%VxUbw)mhg$UAo|dF6{JuxhoLHtn?n6-^7b3WTN40+ZU! zw9%PM^%!wg)9s&k5FC2#xEF2c!o}-GE{H{1fPIYTvEz z)uTy0JrM1-C8=A=M;7`uC9G7+N=J*_-)luTIAdFkY%Xa_@7zF2^UI{uSxF{NB8xd) zATm+ul7X#V0!{vfMQ--%wr=(9HWIc&&(-&t)Vo^`-TdUzQQkXEZ|rBCkMh&%oeI$OIS|nw)MmwQrTgaf^RAKw!q{L!ydHy zH|w&z*+zz3tLZie(z>0?FmSj1?>Tb<(+gDAhso>qTo9M*S%1s6GD$A z&fw;jaP~6~z!`~*q1#4T{S(;cx2@e8yE+8&u1v7Q`ih*{PqO(+grh(}^L8mOC^P-m z`7=>qW0`p+(K?ASemQPN4;X19Llk_;$-2?B&}W}lAURx^>=(nxc3Zhj!nlx|m_S2W z0bU}Dp)6ZL9YmIiW>_|JKkC(Nl9Q#;N=5ag*{ApE(f(W?vmjxmcbNlzN*Cs9=s~ZB zPLOBc)$l!B&WzUZef&Vf5Ah=n7o%Olk2U-RPipunp5(@M^uXOmk397B9rr(VVEE`G zH$Hts{;31EAHC&11wYg9bNqq@LBmlzrQv0`PTpOwVIN+i;c5I*U~yn`;48rXilgCI z__c!HX!tFDr{VYbgN8riPZ~Dk5(R(O@E1Iz;IA6~hQDk02mYzxUmE_6V+#Hw9e7s5 ze@PA@L`V@8nh1-KCMr2sR0%~9)tacGr$Ut@wL%j(cP#4yc&Xv#bWxmwXEaeKFO$S% zfjVa!%h_f!+DeLO*nn1|Ev9IqUQDHtVwxtViv~^15Hr~$j!&_lJgr?CUg2mKjZ`YJ zj#CH4&ytd7YuJKrMa+>JPF2KdnwTr*X<|OEXUiH9fFe%U#2I1%Ted*$g<4w1N~U0O zlkRf%&9P+2dR!t$V3AMhSR0kVS-#nUNhS!TjMhh$3Jm12ih5`sh zT6(!7`y+v=Y|_pCc0FqsCkQBJwk?yf*gLXW+s;JH9O{sZ3+eK2dHJ zJUFiLrj=~%; z`}Mj+3hE`Np*{95A6-O*jq^VEG!PdAn9EZzIq;SlU8 ziCiYb4pdGnd~=x{6o9tNHpjQL5&mkb=4TYyEKV;e80#%7$?q=I>qFEVWTVjMzUET- z;U!Rq7jl6a#k4JHkOi{;hh!~L$)21QGV4}Irj6}y6L@UqNUy}=B7a!jG8fEKUy%>a zo^aD9St08vxg^8|4aEqTux8waOLBU}3oP*P7AG1-GK+{NPR#jJe9&qZ$% z=JWe;46K%@LP+-ayl>-&_FDd5$lpa-Y~%|z<>fCn@deLT-is>!cW`A$p2W(=c-Sc$ zV{3ohn8Ifs=6KyoNm2f@#YbiHFvJ6n=u3H(ih#Mej91N_fNj{$CxIQf9AUXwEJOtq zj^&ykL}=0CJSsXPd4%sobz}sU2RT}`C=X>-xH0@Vrg@Lm^0B^V1Zs0*IFH(4XsasS z+s4W~P8mksswydvq9#3x$$3n1=H*d;2vZxY4r5vfBba`Wio=k`E+LY@N~lK0J9!tPv^{t+bhfzw}i-@Z*u-_j?^J^3=InQ9K&1%Nu)Sd6QUAOJdoxu1k0g; z#CnL&0#_m9B8$iPU%{~*1fpTlVay1jWAWpddIhD|;~x2H zZpo{8dCb2{4xe5eCV-0%SP-5yj1zM9=1sGtK141q^bGGddY~NrZW> zNu!wUK-R%buCs|n$nji7#WBoLkek(jy<8QhV^=%=S8~hafb07;oX*oeuabuMG8|$4 zuQ`GR+lFx_*?3kSXVb$bGHBruG;gDu1Y^;S`Y<>g36Ee&9??z-P~Ji2H;?7C`n;mm=X+LP;99++gI2F(Bvys6xM=k(vI*qV zB$(vzZk$C1M#!BDsK1E+%2A6~dKO1$=YFy>R6tqU8IoTc=#E5p1uc}0)s3JfkJa^S t>euG6uBh0}_NyEvZnoEXN<#9>!Gxsb0;RmtvFHYe?<#G(kd#wNf literal 0 HcmV?d00001 diff --git a/user/user-service-impl/target/classes/cn/iocoder/mall/user/service/UserServiceImpl.class b/user/user-service-impl/target/classes/cn/iocoder/mall/user/service/UserServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..25c03593040ea8467bba2b38041cf4393114c7ac GIT binary patch literal 3474 zcmb7HXe(Xu*jSQV_YL`@sOCV;gYog|kyn#`n=2}<|vKlE?3 zK7Byz^R(akp+Blm&z&U+5Gj7S+uVEZdC$At3zMqJXvpf=8&2jG!h$-t*ok}iu#3%o4Ik;~ z2{(MKMxUtWQ+3a0U0A~B8Y~St4S4~*R+Zk2RjEi%;B-3gn6{gD3(_;oR;gsFuV%q= z&4v25F@eLGn&aDLxoB7ITuDwij_X^#?K)L~D{0p&n$?PDJH=(sD$B>N_sGmi%c+{n zR^E5LRnw{;Fehrh``Gqmfw0}`wu~&=RlmV$WP45~bij_toI(AGb&DA2Aj1@@(FN6yyDIqA(?w4S`vZr&;_TAr=u z(PF#*z@{8$x4&A+8qtg{)r!(rs{-Tw>4(;eWtJ?bXl8vS=-5DOxPs+dZtkJX`+=jT z=M?);2t{uTjKKaG=|6A_cP-^2%1x?z-jkLu!^<-*F5imt5<0Q4R>d}RVeCvQO6@AL z$V~ZpdQPB!=hp1W`d0oC12vNOTFWr=J%$;BjG@>ZWb=(>OF6c?VQCyc0z*4yqk>_t zvLQaKY&o|hTN)=wL(jT3FE4K~Tm=p(-Lqjts!%wqoTemdl};)_r0cI%q!}F{95cl& zn^wurSvkur)N+(Q?>ftNv000Fzk#>WZ{RpiXebzvFb$l>84b$@ig;k)EKCiyfrofx zpoFpp$AF89hA#|wV8EPtNwwG%iw1m{R4jY4}mW|0FQn5{z;O*}qA5rbZ)O=7OC1KLi!# zO(+7VT3)!Zj8c%QEHPszSHt=vaG~X~m}ko>C2(+s9xtS=s^8ckkbU*^W$=`lHjSFS z;+j*zT1HlDC7%&Cwk<&=1LLjgTTWPplAh;!s%R#iT3O)OLN=LMnwgtSrISk&=}dBB z`u+s~%S(TB0 z1@>?}6_o0EzQF?5qPyy;^-8aV?NDEzg{H~s#?w!KuJCgZ-c#XNV0UUZJ3lcyl@u6k z?Xniflz*aSfyJHI+SV5|$3*iB)4>o(6n|+&h`E&|&P&oB*ve`Mow+)_YSik96 zZPXir#UQV$`Ua4pmZHanBHkMRJiE9v)#79P6)>=fll;|p6wE%fA)(4W$0zwabQk-# z*e6u2+_J`(VAEO$=X^2P4)B!8Ua;>NT!;8AfEi?~K!IKiu{FXC7{&-^Ea^Oy2oB$1 zpWs^8;O|HbJx5ytzjB&D1L8yg(Hm}yAb0@haGp>XxVwW-Zh(7{KdIXS+;#TtT$?3s z`_S+jI_?b)tzp;S*#8vT8g@TJ=QHSky+GIfbr}4#=LPn1xNi;n)uF`5a~vRzk#%%G z#X-&vh1A*tYR8}vy&pPf-6VLNHjUD%8zeQ2ivi`qkU^dDY($x?xc58_8pUB;#yjMC zg=lRM#{+vh6M;RWT#Mavm199%GqUd&_HA4n-?>#Y%Btbes$p6+tb`7&IYMs%SFxMV zZx61M{k!CLle5Xdk`v)wbxX!0ONMYD;Gc;3_cZ&XnR`M#?6g<~j1zJ1dx0J*-b?Xc zTf^&h{SPaqN67Sz1RC+w9jJMW{BBdVI}FuS6SuxPx4wW8|ClgD#%W6;rgWKCCuo>z OZv?{X9Npx60{9P)j + + + + + INSERT INTO mobile_code ( + id, mobile, code, today_index, used, + used_uid, used_time, create_time + ) VALUES ( + #{id}, #{mobile}, #{code}, #{todayIndex}, #{used}, + #{usedUid}, #{usedTime}, #{createTime} + ) + + + + UPDATE mobile_code + + used = #{used}, + used_uid = #{usedUid}, + used_time = #{usedTime}, + + WHERE id = #{id} + + + + + \ No newline at end of file diff --git a/user/user-service-impl/target/classes/mapper/OAuth2AccessTokenMapper.xml b/user/user-service-impl/target/classes/mapper/OAuth2AccessTokenMapper.xml new file mode 100644 index 000000000..ee3b4dcaa --- /dev/null +++ b/user/user-service-impl/target/classes/mapper/OAuth2AccessTokenMapper.xml @@ -0,0 +1,22 @@ + + + + + + INSERT INTO oauth2_access_token ( + id, refresh_token, adminId, valid, expires_time, + create_time + ) VALUES ( + #{id}, #{refreshToken}, #{adminId}, #{valid}, #{expiresTime}, + #{createTime} + ) + + + + + \ No newline at end of file diff --git a/user/user-service-impl/target/classes/mapper/OAuth2RefreshTokenMapper.xml b/user/user-service-impl/target/classes/mapper/OAuth2RefreshTokenMapper.xml new file mode 100644 index 000000000..b4646aee4 --- /dev/null +++ b/user/user-service-impl/target/classes/mapper/OAuth2RefreshTokenMapper.xml @@ -0,0 +1,13 @@ + + + + + + INSERT INTO oauth2_refresh_token ( + id, adminId, valid, expires_time, create_time + ) VALUES ( + #{id}, #{adminId}, #{valid}, #{expiresTime}, #{createTime} + ) + + + \ No newline at end of file diff --git a/user/user-service-impl/target/classes/mapper/UserMapper.xml b/user/user-service-impl/target/classes/mapper/UserMapper.xml new file mode 100644 index 000000000..48897afae --- /dev/null +++ b/user/user-service-impl/target/classes/mapper/UserMapper.xml @@ -0,0 +1,20 @@ + + + + + + INSERT INTO users ( + id, mobile, create_time + ) VALUES ( + #{id}, #{mobile}, #{createTime} + ) + + + + + \ No newline at end of file diff --git a/user/user-service-impl/target/classes/mapper/UserRegisterMapper.xml b/user/user-service-impl/target/classes/mapper/UserRegisterMapper.xml new file mode 100644 index 000000000..0db1ebabd --- /dev/null +++ b/user/user-service-impl/target/classes/mapper/UserRegisterMapper.xml @@ -0,0 +1,13 @@ + + + + + + INSERT INTO user_register ( + id, create_time + ) VALUES ( + #{id}, #{createTime} + ) + + + \ No newline at end of file diff --git a/user/user-service-impl/target/classes/mybatis-config.xml b/user/user-service-impl/target/classes/mybatis-config.xml new file mode 100644 index 000000000..7f604cc7e --- /dev/null +++ b/user/user-service-impl/target/classes/mybatis-config.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/user/user-service-impl/target/generated-sources/annotations/cn/iocoder/mall/user/convert/OAuth2ConvertImpl.java b/user/user-service-impl/target/generated-sources/annotations/cn/iocoder/mall/user/convert/OAuth2ConvertImpl.java new file mode 100644 index 000000000..6ad80f039 --- /dev/null +++ b/user/user-service-impl/target/generated-sources/annotations/cn/iocoder/mall/user/convert/OAuth2ConvertImpl.java @@ -0,0 +1,41 @@ +package cn.iocoder.mall.user.convert; + +import cn.iocoder.mall.user.dataobject.OAuth2AccessTokenDO; +import cn.iocoder.mall.user.service.api.bo.OAuth2AccessTokenBO; +import cn.iocoder.mall.user.service.api.bo.OAuth2AuthenticationBO; +import javax.annotation.Generated; + +@Generated( + value = "org.mapstruct.ap.MappingProcessor", + date = "2019-03-05T10:35:05+0800", + comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_181 (Oracle Corporation)" +) +public class OAuth2ConvertImpl implements OAuth2Convert { + + @Override + public OAuth2AccessTokenBO convertToAccessToken(OAuth2AccessTokenDO oauth2AccessTokenDO) { + if ( oauth2AccessTokenDO == null ) { + return null; + } + + OAuth2AccessTokenBO oAuth2AccessTokenBO = new OAuth2AccessTokenBO(); + + oAuth2AccessTokenBO.setAccessToken( oauth2AccessTokenDO.getId() ); + oAuth2AccessTokenBO.setRefreshToken( oauth2AccessTokenDO.getRefreshToken() ); + + return oAuth2AccessTokenBO; + } + + @Override + public OAuth2AuthenticationBO convertToAuthentication(OAuth2AccessTokenDO oauth2AccessTokenDO) { + if ( oauth2AccessTokenDO == null ) { + return null; + } + + OAuth2AuthenticationBO oAuth2AuthenticationBO = new OAuth2AuthenticationBO(); + + oAuth2AuthenticationBO.setUid( oauth2AccessTokenDO.getUid() ); + + return oAuth2AuthenticationBO; + } +} diff --git a/user/user-service-impl/target/generated-sources/annotations/cn/iocoder/mall/user/convert/UserConvertImpl.java b/user/user-service-impl/target/generated-sources/annotations/cn/iocoder/mall/user/convert/UserConvertImpl.java new file mode 100644 index 000000000..fb6885ae6 --- /dev/null +++ b/user/user-service-impl/target/generated-sources/annotations/cn/iocoder/mall/user/convert/UserConvertImpl.java @@ -0,0 +1,26 @@ +package cn.iocoder.mall.user.convert; + +import cn.iocoder.mall.user.dataobject.UserDO; +import cn.iocoder.mall.user.service.api.bo.UserBO; +import javax.annotation.Generated; + +@Generated( + value = "org.mapstruct.ap.MappingProcessor", + date = "2019-03-05T10:35:05+0800", + comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_181 (Oracle Corporation)" +) +public class UserConvertImpl implements UserConvert { + + @Override + public UserBO convert(UserDO userDO) { + if ( userDO == null ) { + return null; + } + + UserBO userBO = new UserBO(); + + userBO.setMobile( userDO.getMobile() ); + + return userBO; + } +}