Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
promotion-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
promotion-service
Commits
bccdcdc4
提交
bccdcdc4
authored
4月 09, 2024
作者:
李秋林
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
微信促销员注册、查询
上级
cd58cc54
显示空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
309 行增加
和
53 行删除
+309
-53
WeChatUserCoreController.java
...promotion/controller/wechat/WeChatUserCoreController.java
+1
-6
WeChatUserQueryController.java
...romotion/controller/wechat/WeChatUserQueryController.java
+7
-3
TemporaryInfoDao.java
...angxiaolu/promotion/domain/user/dao/TemporaryInfoDao.java
+21
-0
WxTemporaryInfoDao.java
...gxiaolu/promotion/domain/user/dao/WxTemporaryInfoDao.java
+0
-10
TemporaryInfoDaoImpl.java
.../promotion/domain/user/dao/impl/TemporaryInfoDaoImpl.java
+50
-0
WxTemporaryInfoDaoImpl.java
...romotion/domain/user/dao/impl/WxTemporaryInfoDaoImpl.java
+0
-18
TemporaryInfoMapper.java
...olu/promotion/domain/user/mapper/TemporaryInfoMapper.java
+22
-0
TemporaryInfoDO.java
.../promotion/domain/user/mapper/entity/TemporaryInfoDO.java
+89
-0
TemporaryWrapper.java
...iaolu/promotion/domain/user/wrapper/TemporaryWrapper.java
+23
-0
WxTemporaryInfoDto.java
...angxiaolu/promotion/pojo/user/dto/WxTemporaryInfoDto.java
+1
-1
WxJsUserInfoVo.java
...com/wangxiaolu/promotion/pojo/user/vo/WxJsUserInfoVo.java
+1
-1
WeChatUserCoreService.java
...iaolu/promotion/service/wechat/WeChatUserCoreService.java
+1
-1
WeChatUserQueryService.java
...aolu/promotion/service/wechat/WeChatUserQueryService.java
+12
-0
WeChatUserCoreServiceImpl.java
...motion/service/wechat/impl/WeChatUserCoreServiceImpl.java
+7
-7
WeChatUserQueryServiceImpl.java
...otion/service/wechat/impl/WeChatUserQueryServiceImpl.java
+24
-0
TemporaryInfoMapper.xml
src/main/resources/mapper/TemporaryInfoMapper.xml
+30
-0
WeChatUserCoreControllerTest.java
...otion/controller/wechat/WeChatUserCoreControllerTest.java
+20
-6
没有找到文件。
src/main/java/com/wangxiaolu/promotion/controller/wechat/WeChatUserCoreController.java
浏览文件 @
bccdcdc4
package
com
.
wangxiaolu
.
promotion
.
controller
.
wechat
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.pojo.user.vo.WxJsUserInfoVo
;
import
com.wangxiaolu.promotion.service.wechat.WeChatUserCoreService
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -29,11 +28,7 @@ public class WeChatUserCoreController {
*/
@PostMapping
(
"/temporary/enroll"
)
public
boolean
enrollUserInfo
(
@RequestBody
@Validated
WxJsUserInfoVo
wxJsUserInfoVo
)
{
System
.
out
.
println
(
"=============== controller-WxJsUserInfoVo ==============="
);
System
.
out
.
println
(
JSONObject
.
toJSONString
(
wxJsUserInfoVo
));
weChatUserCoreService
.
saveWxUserInfoTemporary
(
wxJsUserInfoVo
);
return
true
;
return
weChatUserCoreService
.
saveWxUserInfoTemporary
(
wxJsUserInfoVo
);
}
}
src/main/java/com/wangxiaolu/promotion/controller/wechat/WeChatUserQueryController.java
浏览文件 @
bccdcdc4
package
com
.
wangxiaolu
.
promotion
.
controller
.
wechat
;
import
com.wangxiaolu.promotion.service.wechat.WeChatUserQueryService
;
import
com.wangxiaolu.promotion.utils.WxMaUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -18,7 +19,10 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping
(
"/user/wechat/query"
)
public
class
WeChatUserQueryController
{
@Autowired
WxMaUtils
wxMaUtils
;
private
WxMaUtils
wxMaUtils
;
@Autowired
private
WeChatUserQueryService
weChatUserQueryService
;
/**
* 接收wx临时登录凭证code,查询openid是否已注册
...
...
@@ -30,8 +34,8 @@ public class WeChatUserQueryController {
return
null
;
}
String
userOpenId
=
wxMaUtils
.
getWxOpenId
(
jsCode
);
System
.
out
.
println
(
"根据userOpenId查询用户是否存在:"
+
userOpenId
)
;
return
true
;
// String userOpenId = "openid111"
;
return
weChatUserQueryService
.
queryTemporaryByOpenId
(
userOpenId
)
;
}
...
...
src/main/java/com/wangxiaolu/promotion/domain/user/dao/TemporaryInfoDao.java
0 → 100644
浏览文件 @
bccdcdc4
package
com
.
wangxiaolu
.
promotion
.
domain
.
user
.
dao
;
import
com.wangxiaolu.promotion.pojo.user.dto.WxTemporaryInfoDto
;
/**
* @author : liqiulin
* @date : 2024-04-08 16
* @describe :促销员-信息
*/
public
interface
TemporaryInfoDao
{
/**
* 微信-小程序注册的促销员信息
*/
int
saveWxTemporaryInfo
(
WxTemporaryInfoDto
temporaryDto
);
/**
* 根据OpenId查询人员是否已注册
*/
Boolean
existTemporaryByOpenId
(
String
openId
);
}
src/main/java/com/wangxiaolu/promotion/domain/user/dao/WxTemporaryInfoDao.java
deleted
100644 → 0
浏览文件 @
cd58cc54
package
com
.
wangxiaolu
.
promotion
.
domain
.
user
.
dao
;
/**
* @author : liqiulin
* @date : 2024-04-08 16
* @describe :微信-促销员-信息
*/
public
interface
WxTemporaryInfoDao
{
void
saveTemporaryInfo
();
}
src/main/java/com/wangxiaolu/promotion/domain/user/dao/impl/TemporaryInfoDaoImpl.java
0 → 100644
浏览文件 @
bccdcdc4
package
com
.
wangxiaolu
.
promotion
.
domain
.
user
.
dao
.
impl
;
import
com.alibaba.druid.util.StringUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.wangxiaolu.promotion.domain.user.dao.TemporaryInfoDao
;
import
com.wangxiaolu.promotion.domain.user.mapper.TemporaryInfoMapper
;
import
com.wangxiaolu.promotion.domain.user.mapper.entity.TemporaryInfoDO
;
import
com.wangxiaolu.promotion.domain.user.wrapper.TemporaryWrapper
;
import
com.wangxiaolu.promotion.pojo.user.dto.WxTemporaryInfoDto
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* @author : liqiulin
* @date : 2024-04-08 16
* @describe :促销员-信息
*/
@Service
public
class
TemporaryInfoDaoImpl
implements
TemporaryInfoDao
{
@Autowired
TemporaryInfoMapper
temporaryInfoMapper
;
/**
* 微信-小程序注册的促销员信息
*/
@Override
public
int
saveWxTemporaryInfo
(
WxTemporaryInfoDto
temporaryDto
)
{
TemporaryInfoDO
entity
=
new
TemporaryInfoDO
();
BeanUtils
.
copyProperties
(
temporaryDto
,
entity
);
return
temporaryInfoMapper
.
insert
(
entity
);
}
@Override
public
Boolean
existTemporaryByOpenId
(
String
openId
)
{
TemporaryWrapper
tw
=
new
TemporaryWrapper
().
setOpenId
(
openId
);
LambdaQueryWrapper
qw
=
buildQueryList
(
tw
);
Integer
count
=
temporaryInfoMapper
.
selectCount
(
qw
);
return
count
>
0
;
}
private
LambdaQueryWrapper
buildQueryList
(
TemporaryWrapper
tw
){
LambdaQueryWrapper
<
TemporaryInfoDO
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
if
(!
StringUtils
.
isEmpty
(
tw
.
getOpenId
())){
queryWrapper
.
eq
(
TemporaryInfoDO:
:
getOpenId
,
tw
.
getOpenId
());
}
return
queryWrapper
;
}
}
src/main/java/com/wangxiaolu/promotion/domain/user/dao/impl/WxTemporaryInfoDaoImpl.java
deleted
100644 → 0
浏览文件 @
cd58cc54
package
com
.
wangxiaolu
.
promotion
.
domain
.
user
.
dao
.
impl
;
import
com.wangxiaolu.promotion.domain.user.dao.WxTemporaryInfoDao
;
import
org.springframework.stereotype.Service
;
/**
* @author : liqiulin
* @date : 2024-04-08 16
* @describe :
*/
@Service
public
class
WxTemporaryInfoDaoImpl
implements
WxTemporaryInfoDao
{
@Override
public
void
saveTemporaryInfo
()
{
}
}
src/main/java/com/wangxiaolu/promotion/domain/user/mapper/TemporaryInfoMapper.java
0 → 100644
浏览文件 @
bccdcdc4
package
com
.
wangxiaolu
.
promotion
.
domain
.
user
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.wangxiaolu.promotion.domain.user.mapper.entity.TemporaryInfoDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Repository
;
/**
* @author a02200059
* @description 针对表【temporary_info】的数据库操作Mapper
* @createDate 2024-04-09 18:34:54
* @Entity com.wangxiaolu.promotion.domain.user.mapper.entity.TemporaryInfo
*/
@Mapper
@Repository
public
interface
TemporaryInfoMapper
extends
BaseMapper
<
TemporaryInfoDO
>
{
}
src/main/java/com/wangxiaolu/promotion/domain/user/mapper/entity/TemporaryInfoDO.java
0 → 100644
浏览文件 @
bccdcdc4
package
com
.
wangxiaolu
.
promotion
.
domain
.
user
.
mapper
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
*
* @TableName temporary_info
*/
@Data
@TableName
(
value
=
"temporary_info"
)
public
class
TemporaryInfoDO
implements
Serializable
{
/**
* 主键id
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Integer
id
;
/**
* 姓名
*/
private
String
name
;
/**
* 手机号
*/
private
String
phone
;
/**
* 身份证号码
*/
private
String
idenNumber
;
/**
* 微信openId
*/
private
String
openId
;
/**
* 头像url
*/
private
String
avatarUrl
;
/**
* 头像云存储id
*/
private
String
avatarUrlFieldId
;
/**
* 身份证正面url
*/
private
String
idenFrontPhotoUrl
;
/**
* 身份证正面云存储id
*/
private
String
idenFrontPhotoFieldId
;
/**
* 身份证反面url
*/
private
String
idenReversePhotoUrl
;
/**
* 身份证反面云存储id
*/
private
String
idenReversePhotoFieldId
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 修改时间
*/
private
Date
modifyTime
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/wangxiaolu/promotion/domain/user/wrapper/TemporaryWrapper.java
0 → 100644
浏览文件 @
bccdcdc4
package
com
.
wangxiaolu
.
promotion
.
domain
.
user
.
wrapper
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
/**
* @author : liqiulin
* @date : 2024-04-09 18
* @describe :
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors
(
chain
=
true
)
public
class
TemporaryWrapper
{
/**
* openId
*/
String
openId
;
}
src/main/java/com/wangxiaolu/promotion/pojo/user/dto/WxTemporaryInfoDto.java
浏览文件 @
bccdcdc4
...
...
@@ -45,7 +45,7 @@ public class WxTemporaryInfoDto {
/**
* 身份证号
*/
String
idenNmber
;
String
idenN
u
mber
;
/**
* 身份证正面照
...
...
src/main/java/com/wangxiaolu/promotion/pojo/user/vo/WxJsUserInfoVo.java
浏览文件 @
bccdcdc4
...
...
@@ -67,7 +67,7 @@ public class WxJsUserInfoVo {
* 身份证号
*/
@NotBlank
(
message
=
"身份证号不可为空"
)
String
idenNmber
;
String
idenN
u
mber
;
/**
* 身份证正面照
...
...
src/main/java/com/wangxiaolu/promotion/service/wechat/WeChatUserCoreService.java
浏览文件 @
bccdcdc4
...
...
@@ -12,5 +12,5 @@ public interface WeChatUserCoreService {
/**
* 保存促销员用户信息
*/
void
saveWxUserInfoTemporary
(
WxJsUserInfoVo
wxJsUserInfoVo
);
boolean
saveWxUserInfoTemporary
(
WxJsUserInfoVo
wxJsUserInfoVo
);
}
src/main/java/com/wangxiaolu/promotion/service/wechat/WeChatUserQueryService.java
0 → 100644
浏览文件 @
bccdcdc4
package
com
.
wangxiaolu
.
promotion
.
service
.
wechat
;
import
org.springframework.stereotype.Service
;
/**
* @author : liqiulin
* @date : 2024-04-09 18
* @describe :微信人员信息查询
*/
public
interface
WeChatUserQueryService
{
Boolean
queryTemporaryByOpenId
(
String
userOpenId
);
}
src/main/java/com/wangxiaolu/promotion/service/wechat/impl/WeChatUserCoreServiceImpl.java
浏览文件 @
bccdcdc4
package
com
.
wangxiaolu
.
promotion
.
service
.
wechat
.
impl
;
import
com.
alibaba.fastjson.JSONObject
;
import
com.
wangxiaolu.promotion.domain.user.dao.TemporaryInfoDao
;
import
com.wangxiaolu.promotion.pojo.user.dto.WxTemporaryInfoDto
;
import
com.wangxiaolu.promotion.pojo.user.vo.WxJsUserInfoVo
;
import
com.wangxiaolu.promotion.service.wechat.WeChatUserCoreService
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
...
...
@@ -14,18 +15,17 @@ import org.springframework.stereotype.Service;
*/
@Service
public
class
WeChatUserCoreServiceImpl
implements
WeChatUserCoreService
{
@Autowired
TemporaryInfoDao
temporaryInfoDao
;
/**
* 保存促销员用户信息
*/
@Override
public
void
saveWxUserInfoTemporary
(
WxJsUserInfoVo
wxJsUserInfoVo
)
{
public
boolean
saveWxUserInfoTemporary
(
WxJsUserInfoVo
wxJsUserInfoVo
)
{
WxTemporaryInfoDto
temporaryDto
=
new
WxTemporaryInfoDto
();
BeanUtils
.
copyProperties
(
wxJsUserInfoVo
,
temporaryDto
);
System
.
out
.
println
(
"=============== impl-WxTemporaryInfoDto ==============="
);
System
.
out
.
println
(
JSONObject
.
toJSONString
(
temporaryDto
));
int
saveId
=
temporaryInfoDao
.
saveWxTemporaryInfo
(
temporaryDto
);
return
saveId
>
0
;
}
}
src/main/java/com/wangxiaolu/promotion/service/wechat/impl/WeChatUserQueryServiceImpl.java
0 → 100644
浏览文件 @
bccdcdc4
package
com
.
wangxiaolu
.
promotion
.
service
.
wechat
.
impl
;
import
com.wangxiaolu.promotion.domain.user.dao.TemporaryInfoDao
;
import
com.wangxiaolu.promotion.service.wechat.WeChatUserQueryService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* @author : liqiulin
* @date : 2024-04-09 18
* @describe :微信人员信息查询
*/
@Service
public
class
WeChatUserQueryServiceImpl
implements
WeChatUserQueryService
{
@Autowired
TemporaryInfoDao
temporaryInfoDao
;
@Override
public
Boolean
queryTemporaryByOpenId
(
String
userOpenId
)
{
Boolean
exist
=
temporaryInfoDao
.
existTemporaryByOpenId
(
userOpenId
);
return
exist
;
}
}
src/main/resources/mapper/TemporaryInfoMapper.xml
0 → 100644
浏览文件 @
bccdcdc4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.wangxiaolu.promotion.domain.user.mapper.TemporaryInfoMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.wangxiaolu.promotion.domain.user.mapper.entity.TemporaryInfoDO"
>
<id
property=
"id"
column=
"id"
jdbcType=
"INTEGER"
/>
<result
property=
"name"
column=
"name"
jdbcType=
"VARCHAR"
/>
<result
property=
"phone"
column=
"phone"
jdbcType=
"CHAR"
/>
<result
property=
"idenNumber"
column=
"iden_number"
jdbcType=
"CHAR"
/>
<result
property=
"openId"
column=
"open_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"avatarUrl"
column=
"avatar_url"
jdbcType=
"VARCHAR"
/>
<result
property=
"avatarUrlFieldId"
column=
"avatar_url_field_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"idenFrontPhotoUrl"
column=
"iden_front_photo_url"
jdbcType=
"VARCHAR"
/>
<result
property=
"idenFrontPhotoFieldId"
column=
"iden_front_photo_field_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"idenReversePhotoUrl"
column=
"iden_reverse_photo_url"
jdbcType=
"VARCHAR"
/>
<result
property=
"idenReversePhotoFieldId"
column=
"iden_reverse_photo_field_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"modifyTime"
column=
"modify_time"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,name,phone,
iden_number,open_id,avatar_url,
avatar_url_field_id,iden_front_photo_url,iden_front_photo_field_id,
iden_reverse_photo_url,iden_reverse_photo_field_id,create_time,
modify_time
</sql>
</mapper>
src/test/java/com/wangxiaolu/promotion/controller/wechat/WeChatUserCoreControllerTest.java
浏览文件 @
bccdcdc4
package
com
.
wangxiaolu
.
promotion
.
controller
.
wechat
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wangxiaolu.promotion.pojo.user.vo.WxJsUserInfoVo
;
import
org.junit.jupiter.api.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -20,20 +21,32 @@ class WeChatUserCoreControllerTest {
@Autowired
WeChatUserCoreController
weChatUserCoreController
;
@Autowired
WeChatUserQueryController
weChatUserQueryController
;
@Test
void
enrollUserInfo
()
{
WxJsUserInfoVo
vo
=
new
WxJsUserInfoVo
()
.
setJsCode
(
"js传过来的临时登录code"
)
.
setEncryptedData
(
"用户信息的加密文字"
)
.
setIv
(
"标识iv"
)
.
setOpenId
(
"openid111"
)
.
setAvatarUrl
(
"头像"
)
.
setAvatarUrl
(
"头像
Url
"
)
.
setName
(
"姓名"
)
.
setPhone
(
"手机号"
)
.
setIdenNmber
(
"身份证号"
)
.
setAddress
(
"地址111"
)
.
setAvatarUrlFieldId
(
"avatarUrlFieldId"
)
.
setIdenNumber
(
"身份证号"
)
.
setIdenFrontPhotoUrl
(
"身份证正面照"
)
.
setIdenFrontPhotoFieldId
(
"身份证正面照Id"
)
.
setIdenReversePhotoUrl
(
"身份证反面照"
)
.
setIdenReversePhotoFieldId
(
"身份证反面照Id"
)
.
setPhoneCode
(
"手机验证码"
)
;
System
.
out
.
println
(
JSONObject
.
toJSONString
(
vo
));
weChatUserCoreController
.
enrollUserInfo
(
vo
);
}
@Test
void
getOpenIdByWxcode
()
{
Boolean
openIdByWxcode
=
weChatUserQueryController
.
getOpenIdByWxcode
(
"111"
);
System
.
out
.
println
(
openIdByWxcode
);
}
}
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论