Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
peizhen-java
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PeiZhen-Java
peizhen-java
Commits
4599979f
Commit
4599979f
authored
Sep 13, 2023
by
zhengyunfei
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
e4f9dc0c
6234ca3c
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
98 additions
and
11 deletions
+98
-11
pz-admin/src/main/resources/application.yml
+1
-1
pz-common/pom.xml
+6
-0
pz-common/src/main/java/com/pz/common/core/domain/entity/SysUser.java
+5
-0
pz-common/src/main/java/com/pz/common/response/WxAuthResponse.java
+17
-0
pz-merchant/src/main/java/com/pz/merchant/controller/applet/WechatLoginController.java
+29
-0
pz-system/src/main/java/com/pz/system/domain/vo/StoreGoodsVo.java
+7
-1
pz-system/src/main/java/com/pz/system/service/SysLoginService.java
+10
-5
pz-system/src/main/java/com/pz/system/service/impl/StoreGoodsServiceImpl.java
+23
-4
No files found.
pz-admin/src/main/resources/application.yml
View file @
4599979f
...
@@ -246,7 +246,7 @@ xss:
...
@@ -246,7 +246,7 @@ xss:
# 过滤开关
# 过滤开关
enabled
:
true
enabled
:
true
# 排除链接(多个用逗号分隔)
# 排除链接(多个用逗号分隔)
excludes
:
/system/notice,/system/hospital
excludes
:
/system/notice,/system/hospital
,/system/goods
# 匹配链接
# 匹配链接
urlPatterns
:
/system/*,/monitor/*,/tool/*
urlPatterns
:
/system/*,/monitor/*,/tool/*
...
...
pz-common/pom.xml
View file @
4599979f
...
@@ -52,6 +52,12 @@
...
@@ -52,6 +52,12 @@
<artifactId>
commons-lang3
</artifactId>
<artifactId>
commons-lang3
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
2.0.39
</version>
</dependency>
<!-- JSON工具类 -->
<!-- JSON工具类 -->
<dependency>
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
<groupId>
com.fasterxml.jackson.core
</groupId>
...
...
pz-common/src/main/java/com/pz/common/core/domain/entity/SysUser.java
View file @
4599979f
...
@@ -42,6 +42,11 @@ public class SysUser extends BaseEntity {
...
@@ -42,6 +42,11 @@ public class SysUser extends BaseEntity {
private
String
openId
;
private
String
openId
;
/**
/**
* 微信公众号openid
*/
private
String
wxOpenid
;
/**
* 部门ID
* 部门ID
*/
*/
private
Long
deptId
;
private
Long
deptId
;
...
...
pz-common/src/main/java/com/pz/common/response/WxAuthResponse.java
0 → 100644
View file @
4599979f
package
com
.
pz
.
common
.
response
;
import
lombok.Data
;
@Data
public
class
WxAuthResponse
{
private
String
access_token
;
private
String
openid
;
private
String
expires_in
;
private
String
refresh_token
;
private
String
scope
;
}
pz-merchant/src/main/java/com/pz/merchant/controller/applet/WechatLoginController.java
View file @
4599979f
...
@@ -6,20 +6,28 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
...
@@ -6,20 +6,28 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import
cn.dev33.satoken.annotation.SaIgnore
;
import
cn.dev33.satoken.annotation.SaIgnore
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.dev33.satoken.util.SaResult
;
import
cn.dev33.satoken.util.SaResult
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pz.common.constant.Constants
;
import
com.pz.common.constant.Constants
;
import
com.pz.common.core.controller.BaseController
;
import
com.pz.common.core.controller.BaseController
;
import
com.pz.common.core.domain.R
;
import
com.pz.common.core.domain.R
;
import
com.pz.common.core.domain.entity.SysUser
;
import
com.pz.common.exception.ServiceException
;
import
com.pz.common.exception.ServiceException
;
import
com.pz.common.response.WxAuthResponse
;
import
com.pz.common.utils.StringUtils
;
import
com.pz.common.utils.StringUtils
;
import
com.pz.common.config.WechatConfiguration
;
import
com.pz.common.config.WechatConfiguration
;
import
com.pz.merchant.domain.WechatUserInfo
;
import
com.pz.merchant.domain.WechatUserInfo
;
import
com.pz.merchant.domain.bo.WechatLoginBo
;
import
com.pz.merchant.domain.bo.WechatLoginBo
;
import
com.pz.system.mapper.SysUserMapper
;
import
com.pz.system.service.ISysUserService
;
import
com.pz.system.service.SysLoginService
;
import
com.pz.system.service.SysLoginService
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.client.RestTemplate
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.HashMap
;
import
java.util.HashMap
;
/**
/**
...
@@ -38,6 +46,8 @@ public class WechatLoginController extends BaseController {
...
@@ -38,6 +46,8 @@ public class WechatLoginController extends BaseController {
private
final
SysLoginService
loginService
;
private
final
SysLoginService
loginService
;
private
final
SysUserMapper
sysUserMapper
;
/**
/**
* 登录
* 登录
*
*
...
@@ -71,6 +81,25 @@ public class WechatLoginController extends BaseController {
...
@@ -71,6 +81,25 @@ public class WechatLoginController extends BaseController {
}
}
/**
/**
* 解析公众号openid重定向
*/
@SaIgnore
@GetMapping
(
"wxopenid"
)
public
void
wxopenid
(
String
userId
,
String
code
,
String
state
,
HttpServletResponse
response
)
throws
IOException
{
String
url
=
"https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx6cc2fd1bca9472ae&secret=2edf95828b1a19fc5149f6650cde71f1&code="
+
code
+
"&grant_type=authorization_code"
;
RestTemplate
restTemplate
=
new
RestTemplate
();
String
result
=
restTemplate
.
getForObject
(
url
,
String
.
class
);
WxAuthResponse
authResponse
=
JSONObject
.
parseObject
(
result
,
WxAuthResponse
.
class
);
String
mpOpenId
=
authResponse
.
getOpenid
();
SysUser
sysUser
=
new
SysUser
();
sysUser
.
setUserId
(
Long
.
valueOf
(
userId
));
sysUser
.
setWxOpenid
(
mpOpenId
);
sysUserMapper
.
updateById
(
sysUser
);
response
.
sendRedirect
(
"https://peizheng.shanpeikj.com/wx/index.html"
);
}
/**
* 注销
* 注销
*/
*/
@GetMapping
(
"logout"
)
@GetMapping
(
"logout"
)
...
...
pz-system/src/main/java/com/pz/system/domain/vo/StoreGoodsVo.java
View file @
4599979f
...
@@ -4,7 +4,9 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
...
@@ -4,7 +4,9 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.pz.common.annotation.ExcelDictFormat
;
import
com.pz.common.annotation.ExcelDictFormat
;
import
com.pz.common.convert.ExcelDictConvert
;
import
com.pz.common.convert.ExcelDictConvert
;
import
com.pz.common.core.domain.BaseEntity
;
import
com.pz.system.domain.Carousel
;
import
com.pz.system.domain.Carousel
;
import
com.pz.system.domain.StoreGoodsTag
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
@@ -18,7 +20,7 @@ import java.util.List;
...
@@ -18,7 +20,7 @@ import java.util.List;
*/
*/
@Data
@Data
@ExcelIgnoreUnannotated
@ExcelIgnoreUnannotated
public
class
StoreGoodsVo
{
public
class
StoreGoodsVo
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
...
@@ -109,4 +111,8 @@ public class StoreGoodsVo {
...
@@ -109,4 +111,8 @@ public class StoreGoodsVo {
private
List
<
Carousel
>
carousel
;
private
List
<
Carousel
>
carousel
;
private
List
<
Integer
>
ids
;
private
List
<
Integer
>
ids
;
private
List
<
StoreGoodsTagVo
>
list
;
private
String
typeName
;
}
}
pz-system/src/main/java/com/pz/system/service/SysLoginService.java
View file @
4599979f
package
com
.
pz
.
system
.
service
;
package
com
.
pz
.
system
.
service
;
import
cn.dev33.satoken.annotation.SaIgnore
;
import
cn.dev33.satoken.exception.NotLoginException
;
import
cn.dev33.satoken.exception.NotLoginException
;
import
cn.dev33.satoken.secure.BCrypt
;
import
cn.dev33.satoken.secure.BCrypt
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.pz.common.constant.CacheConstants
;
import
com.pz.common.constant.CacheConstants
;
...
@@ -23,10 +25,8 @@ import com.pz.common.exception.user.CaptchaException;
...
@@ -23,10 +25,8 @@ import com.pz.common.exception.user.CaptchaException;
import
com.pz.common.exception.user.CaptchaExpireException
;
import
com.pz.common.exception.user.CaptchaExpireException
;
import
com.pz.common.exception.user.UserException
;
import
com.pz.common.exception.user.UserException
;
import
com.pz.common.helper.LoginHelper
;
import
com.pz.common.helper.LoginHelper
;
import
com.pz.common.utils.DateUtils
;
import
com.pz.common.response.WxAuthResponse
;
import
com.pz.common.utils.MessageUtils
;
import
com.pz.common.utils.*
;
import
com.pz.common.utils.ServletUtils
;
import
com.pz.common.utils.StringUtils
;
import
com.pz.common.utils.redis.RedisUtils
;
import
com.pz.common.utils.redis.RedisUtils
;
import
com.pz.common.utils.spring.SpringUtils
;
import
com.pz.common.utils.spring.SpringUtils
;
import
com.pz.merchant.domain.WechatUserInfo
;
import
com.pz.merchant.domain.WechatUserInfo
;
...
@@ -36,7 +36,11 @@ import lombok.RequiredArgsConstructor;
...
@@ -36,7 +36,11 @@ import lombok.RequiredArgsConstructor;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.client.RestTemplate
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.time.Duration
;
import
java.time.Duration
;
import
java.util.List
;
import
java.util.List
;
import
java.util.function.Supplier
;
import
java.util.function.Supplier
;
...
@@ -151,7 +155,7 @@ public class SysLoginService {
...
@@ -151,7 +155,7 @@ public class SysLoginService {
public
String
xccLogin
(
WechatUserInfo
loginBo
)
{
public
String
xccLogin
(
WechatUserInfo
loginBo
)
{
SysUser
user
=
loadUserByOpenid
(
loginBo
.
getOpenId
());
SysUser
user
=
loadUserByOpenid
(
loginBo
.
getOpenId
());
if
(
user
==
null
)
{
if
(
user
==
null
)
{
SysUser
userByPhone
=
userMapper
.
selectOne
(
Wrappers
.<
SysUser
>
lambdaQuery
().
eq
(
SysUser:
:
getPhonenumber
,
loginBo
.
getMobilePhone
()));
SysUser
userByPhone
=
userMapper
.
selectOne
(
Wrappers
.<
SysUser
>
lambdaQuery
().
eq
(
SysUser:
:
getPhonenumber
,
loginBo
.
getMobilePhone
()));
// 若该手机号已经被注册,则直接绑定OpenID
// 若该手机号已经被注册,则直接绑定OpenID
if
(
userByPhone
!=
null
)
{
if
(
userByPhone
!=
null
)
{
userByPhone
.
setOpenId
(
loginBo
.
getOpenId
());
userByPhone
.
setOpenId
(
loginBo
.
getOpenId
());
...
@@ -189,6 +193,7 @@ public class SysLoginService {
...
@@ -189,6 +193,7 @@ public class SysLoginService {
return
StpUtil
.
getTokenValue
();
return
StpUtil
.
getTokenValue
();
}
}
/**
/**
* 退出登录
* 退出登录
*/
*/
...
...
pz-system/src/main/java/com/pz/system/service/impl/StoreGoodsServiceImpl.java
View file @
4599979f
...
@@ -11,8 +11,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...
@@ -11,8 +11,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.pz.common.utils.JsonUtils
;
import
com.pz.common.utils.JsonUtils
;
import
com.pz.system.domain.StoreApply
;
import
com.pz.system.domain.StoreApply
;
import
com.pz.system.domain.StoreGoodsTag
;
import
com.pz.system.domain.vo.StoreApplyVo
;
import
com.pz.system.domain.vo.StoreApplyVo
;
import
com.pz.system.mapper.StoreApplyMapper
;
import
com.pz.system.mapper.StoreApplyMapper
;
import
com.pz.system.mapper.StoreGoodsCategoryMapper
;
import
com.pz.system.mapper.StoreGoodsTagMapper
;
import
com.pz.system.mapper.StoreGoodsTagMapper
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -43,12 +45,20 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
...
@@ -43,12 +45,20 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
private
final
StoreGoodsTagMapper
goodsTagMapper
;
private
final
StoreGoodsTagMapper
goodsTagMapper
;
private
final
StoreGoodsCategoryMapper
storeGoodsCategoryMapper
;
/**
/**
* 查询商品
* 查询商品
*/
*/
@Override
@Override
public
StoreGoodsVo
queryById
(
Integer
id
)
{
public
StoreGoodsVo
queryById
(
Integer
id
)
{
return
baseMapper
.
selectVoById
(
id
);
StoreGoodsVo
storeGoodsVo
=
baseMapper
.
selectVoById
(
id
);
if
(
StringUtils
.
isNotBlank
(
storeGoodsVo
.
getTags
()))
{
List
<
Integer
>
ids
=
JsonUtils
.
parseArray
(
storeGoodsVo
.
getTags
(),
Integer
.
class
);
//查询商品标签
storeGoodsVo
.
setList
(
goodsTagMapper
.
selectVoList
(
new
LambdaQueryWrapper
<
StoreGoodsTag
>().
in
(
StoreGoodsTag:
:
getId
,
ids
)));
}
return
storeGoodsVo
;
}
}
/**
/**
...
@@ -75,8 +85,14 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
...
@@ -75,8 +85,14 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
storeGoodsVos
.
forEach
(
storeGoodsVo
->
{
storeGoodsVos
.
forEach
(
storeGoodsVo
->
{
if
(
StringUtils
.
isNotBlank
(
storeGoodsVo
.
getTags
()))
{
if
(
StringUtils
.
isNotBlank
(
storeGoodsVo
.
getTags
()))
{
List
<
Integer
>
ids
=
JsonUtils
.
parseArray
(
storeGoodsVo
.
getTags
(),
Integer
.
class
);
List
<
Integer
>
ids
=
JsonUtils
.
parseArray
(
storeGoodsVo
.
getTags
(),
Integer
.
class
);
//查询商品标签
storeGoodsVo
.
setIds
(
ids
);
storeGoodsVo
.
setList
(
goodsTagMapper
.
selectVoList
(
new
LambdaQueryWrapper
<
StoreGoodsTag
>().
in
(
StoreGoodsTag:
:
getId
,
ids
)));
}
if
(
null
!=
storeGoodsVo
.
getCategoryId
())
{
Optional
.
ofNullable
(
storeGoodsCategoryMapper
.
selectVoById
(
storeGoodsVo
.
getCategoryId
()))
.
ifPresent
(
storeGoodsCategoryVo
->
{
storeGoodsVo
.
setTypeName
(
storeGoodsCategoryVo
.
getTitle
());
});
}
}
});
});
});
});
...
@@ -162,7 +178,10 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
...
@@ -162,7 +178,10 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
@Override
@Override
public
Boolean
updateByBo
(
StoreGoodsBo
bo
)
{
public
Boolean
updateByBo
(
StoreGoodsBo
bo
)
{
StoreGoods
update
=
BeanUtil
.
toBean
(
bo
,
StoreGoods
.
class
);
StoreGoods
update
=
BeanUtil
.
toBean
(
bo
,
StoreGoods
.
class
);
validEntityBeforeSave
(
update
);
if
(
CollectionUtils
.
isNotEmpty
(
bo
.
getTagIds
()))
{
String
tags
=
JsonUtils
.
toJsonString
(
bo
.
getTagIds
());
update
.
setTags
(
tags
);
}
return
baseMapper
.
updateById
(
update
)
>
0
;
return
baseMapper
.
updateById
(
update
)
>
0
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment