From f6fd3607f046744e86f391956d91d0f009bb3adb Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 18 八月 2025 22:50:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java | 115 ++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 88 insertions(+), 27 deletions(-)
diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index 2739ae5..2f3578e 100644
--- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -32,6 +32,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
@@ -41,6 +42,7 @@
import java.io.*;
import java.math.BigDecimal;
import java.security.SecureRandom;
+import java.time.LocalDateTime;
import java.util.*;
@@ -147,31 +149,27 @@
String templateCode = "";
switch (type){
case 1:
- templateCode = "SMS_476880205";//身份验证
+ templateCode = "SMS_482775061";//身份验证
break;
case 2:
- templateCode = "SMS_476880205";//登录确认
+ templateCode = "SMS_482775061";//登录确认
break;
case 3:
- templateCode = "SMS_476880205";//用户注册
+ templateCode = "SMS_482775061";//用户注册
break;
case 4:
- templateCode = "SMS_476880205";//修改密码
+ templateCode = "SMS_482775061";//修改密码
break;
}
- String sData = aLiSendSms.sendSms(phone, templateCode, "{\"code\":\"" + authCode + "\"}");
- JSONObject jsonObject = JSON.parseObject(sData);
- String message = jsonObject.getString("Message");
- if(!"OK".equals(message)){
- System.err.println(message);
- return ResultUtil.error(message);
- }
+// String sData = aLiSendSms.sendSms(phone, templateCode, "{\"code\":\"" + authCode + "\"}");
+ SMSUtil.send(phone, "您的验证码:" + authCode + ",您正在进行身份验证,请勿泄露于他人!", "2431012312847");
+// JSONObject jsonObject = JSON.parseObject(sData);
+// String message = jsonObject.getString("Message");
+// if(!"OK".equals(message)){
+// System.err.println(message);
+// return ResultUtil.error(message);
+// }
System.out.println(sms);
-// System.err.println("222222");
-//
-// String s = MsgUtil.Send_Post(phone, authCode);
-// System.err.println(s);
-
return ResultUtil.success();
}
@@ -186,7 +184,7 @@
@Override
public boolean checkCaptcha(String phone, String code) throws Exception {
Object value = redisUtil.getValue(phone);
- if("1234".equals(code)){
+ if("5689".equals(code)){
return true;
}
@@ -253,7 +251,7 @@
inviteMapper.insert(invite);
if (userType==1){
// 只有用户邀请用户会获得优惠券
- List<Map<String, Object>> query = userActivityInviteMapper.query(userInfo.getCompanyId());
+ List<Map<String, Object>> query = userActivityInviteMapper.query(1);
Date date = new Date();
for(Map<String, Object> map : query){
Double lavePrice = Double.valueOf(map.get("lavePrice").toString());
@@ -281,6 +279,14 @@
userCouponRecordService.insert(userCouponRecord);
//修改剩余可发放总金额
lavePrice -= Double.valueOf(String.valueOf(map.get("money")));
+
+ // 订阅通知
+ UserInfo userInfo1 = userInfoMapper.selectById(uid);
+ if(userInfo1.getOpenId()!=null){
+ // 推送订阅消息
+ WxMaSubscribeMessageUtil.push(userInfo1.getAppletsOpenId(),map.get("name").toString(),userCouponRecord.getMoney());
+ }
+
}
UserActivityInvite uai = userActivityInviteMapper.selectById(Integer.valueOf(map.get("id").toString()));
uai.setLavePrice(new BigDecimal(lavePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -409,7 +415,7 @@
}
if(type == 1){//用户分享
UserInfo userInfo = userInfoMapper.selectById(uid);
- List<Map<String, Object>> query = userActivityInviteMapper.query(userInfo.getCompanyId());
+ List<Map<String, Object>> query = userActivityInviteMapper.query(1);
Date date = new Date();
for(Map<String, Object> map : query){
Double lavePrice = Double.valueOf(map.get("lavePrice").toString());
@@ -437,6 +443,15 @@
userCouponRecordService.insert(userCouponRecord);
//修改剩余可发放总金额
lavePrice -= Double.valueOf(String.valueOf(map.get("money")));
+
+ // 订阅通知
+ UserInfo userInfo1 = userInfoMapper.selectById(uid);
+ if(userInfo1.getOpenId()!=null){
+ // 推送订阅消息
+ WxMaSubscribeMessageUtil.push(userInfo1.getAppletsOpenId(),map.get("name").toString(),userCouponRecord.getMoney());
+ }
+
+
}
UserActivityInvite uai = userActivityInviteMapper.selectById(Integer.valueOf(map.get("id").toString()));
uai.setLavePrice(new BigDecimal(lavePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -507,7 +522,8 @@
@Override
public ResultUtil<LoginWarpper> wxLogin(Integer type, String openid, String unionid, String jscode, String registIp,
String registAreaCode, Integer sex, String nickName, String avatar,String loginType,
- Integer uid,Integer userType) throws Exception {
+ Integer uid,Integer userType,String phone) throws Exception {
+ System.err.println("手机号+++++"+phone);
UserInfo userInfo = null;
if(type == 2){//小程序
if(ToolUtil.isEmpty(jscode)){
@@ -520,10 +536,19 @@
System.out.println("unionid===="+unionid);
userInfo = userInfoMapper.queryByOpenid2(openid);
+
}else{//APP
userInfo = userInfoMapper.queryByOpenid(openid);
}
+ if (StringUtils.hasLength(phone)){
+ UserInfo userInfo1 = userInfoMapper.queryByPhone(phone);
+ if (null != userInfo1){
+ userInfo = userInfo1;
+ userInfo.setAppletsOpenId(openid);
+ }
+ }
if(null == userInfo){
+
// 如果为空 需要生成小程序二维码并携带用户id
userInfo = new UserInfo();
userInfo.setPassWord(ShiroKit.md5("", salt));
@@ -558,7 +583,7 @@
inviteMapper.insert(invite);
if (userType==1){
// 只有用户邀请用户会获得优惠券
- List<Map<String, Object>> query = userActivityInviteMapper.query(userInfo.getCompanyId());
+ List<Map<String, Object>> query = userActivityInviteMapper.query(1);
Date date = new Date();
for(Map<String, Object> map : query){
Double lavePrice = Double.valueOf(map.get("lavePrice").toString());
@@ -584,6 +609,16 @@
userCouponRecord.setCompanyId(userInfo.getCompanyId());
userCouponRecord.setUserId(uid);
userCouponRecordService.insert(userCouponRecord);
+
+
+ // 订阅通知
+ UserInfo userInfo1 = userInfoMapper.selectById(uid);
+ if(userInfo1.getOpenId()!=null){
+ // 推送订阅消息
+ WxMaSubscribeMessageUtil.push(userInfo1.getAppletsOpenId(),map.get("name").toString(),userCouponRecord.getMoney());
+ }
+
+
//修改剩余可发放总金额
lavePrice -= Double.valueOf(String.valueOf(map.get("money")));
}
@@ -652,8 +687,8 @@
// 用户id 用于分享
param.put("scene", "uid="+userInfo.getId()+"userType=1");
- param.put("env_version", "trial");// 体验版
-// param.put("env_version", "release");// 正式版
+// param.put("env_version", "trial");// 体验版
+ param.put("env_version", "release");// 正式版
param.put("width", 200); //二维码尺寸
param.put("is_hyaline", true); // 是否需要透明底色, is_hyaline 为true时,生成透明底色的小程序码 参数仅对小程序码生效
param.put("auto_color", true); // 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 参数仅对小程序码生效
@@ -739,6 +774,7 @@
}
+
/**
* 设置手机号码操作
* @param uid
@@ -818,6 +854,18 @@
this.updateById(userInfo);
smsrecordService.saveData(2, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
+ List<Invite> invites = inviteMapper.selectList(null);
+ List<UserInfo> userInfos = this.selectList(null);
+ List<Integer> integers = new ArrayList<>();
+ for (Invite invite : invites) {
+ UserInfo userInfo2 = userInfos.stream().filter(e -> e.getId().equals(invite.getUserId())).findFirst().orElse(null);
+ if (userInfo2==null){
+ integers.add(invite.getId());
+ }
+ }
+ if (!integers.isEmpty()){
+ inviteMapper.deleteBatchIds(integers);
+ }
return ResultUtil.success(new LoginWarpper());
}
@@ -1155,7 +1203,7 @@
* @throws Exception
*/
public synchronized void addCoupon(Integer userId, Double money, Integer companyId, Integer paymentRecordId) throws Exception{
- List<Map<String, Object>> query = userActivityBalanceService.query(money, companyId);
+ List<Map<String, Object>> query = userActivityBalanceService.query(money, 1);
List<UserCouponRecord> list = new ArrayList<>();
for(Map<String, Object> map : query){
//添加通用优惠券
@@ -1295,7 +1343,7 @@
* @return
*/
public String getDefaultName(){
- int num = this.selectCount(new EntityWrapper<UserInfo>().ne("flag", 3)) + 1000001;
+ int num = this.selectCount(new EntityWrapper<UserInfo>()) + 1000001;
return "XN" + String.valueOf(num).substring(1);
}
@@ -1336,7 +1384,7 @@
*/
private synchronized void addCoupon(UserInfo userInfo) throws Exception{
//添加优惠券
- List<Map<String, Object>> list = userActivityRegisteredService.query(userInfo.getCompanyId());
+ List<Map<String, Object>> list = userActivityRegisteredService.query(1);
int num = 0;
for(Map<String, Object> map : list){
if(null != map){
@@ -1368,6 +1416,13 @@
//修改剩余可发放总金额
lavePrice -= Double.valueOf(String.valueOf(map.get("money")));
num++;
+
+
+ // 订阅通知
+ if(userInfo.getOpenId()!=null){
+ // 推送订阅消息
+ WxMaSubscribeMessageUtil.push(userInfo.getAppletsOpenId(),map.get("name").toString(),userCouponRecord.getMoney());
+ }
}
UserActivityRegistered uar = userActivityRegisteredService.selectById(Integer.valueOf(map.get("id").toString()));
uar.setLavePrice(new BigDecimal(lavePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -1384,7 +1439,7 @@
*/
private synchronized void addInviteCoupon(UserInfo userInfo) throws Exception{
//添加优惠券
- List<Map<String, Object>> list = userActivityInviteMapper.query(userInfo.getCompanyId());
+ List<Map<String, Object>> list = userActivityInviteMapper.query(1);
int num = 0;
for(Map<String, Object> map : list){
if(null != map){
@@ -1416,6 +1471,12 @@
//修改剩余可发放总金额
lavePrice -= Double.valueOf(String.valueOf(map.get("money")));
num++;
+
+ // 订阅通知
+ if(userInfo.getOpenId()!=null){
+ // 推送订阅消息
+ WxMaSubscribeMessageUtil.push(userInfo.getAppletsOpenId(),map.get("name").toString(),userCouponRecord.getMoney());
+ }
}
UserActivityRegistered uar = userActivityRegisteredService.selectById(Integer.valueOf(map.get("id").toString()));
uar.setLavePrice(new BigDecimal(lavePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
--
Gitblit v1.7.1