|
@@ -15,10 +15,12 @@ import com.caimei365.user.model.po.OperationPo;
|
|
|
import com.caimei365.user.model.po.SuperVipPo;
|
|
|
import com.caimei365.user.model.vo.*;
|
|
|
import com.caimei365.user.service.LoginService;
|
|
|
+import com.caimei365.user.service.RemoteCallService;
|
|
|
import com.caimei365.user.utils.JwtUtil;
|
|
|
import com.caimei365.user.utils.Md5Util;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
+import lombok.SneakyThrows;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
@@ -30,6 +32,9 @@ import javax.annotation.Resource;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.Executors;
|
|
|
+import java.util.concurrent.ScheduledExecutorService;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
|
* Description
|
|
@@ -61,6 +66,10 @@ public class LoginServiceImpl implements LoginService {
|
|
|
private SellerMapper sellerMapper;
|
|
|
@Resource
|
|
|
private MessageCenterMapper messageCenterMapper;
|
|
|
+ @Resource
|
|
|
+ private RemoteCallService remoteCallService;
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 小程序邀请码过期天数
|
|
|
*/
|
|
@@ -109,16 +118,9 @@ public class LoginServiceImpl implements LoginService {
|
|
|
if(baseUser.getUserId()!=null){
|
|
|
Integer shopID=messageCenterMapper.shopID(baseUser.getUserId());
|
|
|
Integer newReceiptType= messageCenterMapper.newReceiptType(shopID);
|
|
|
- if(shopID==null){
|
|
|
- savedCount= messageCenterMapper.Count(1,clubId);
|
|
|
- System.out.println(savedCount);
|
|
|
- }else {
|
|
|
- savedCount= messageCenterMapper.Count(2,shopID);
|
|
|
- }
|
|
|
- }
|
|
|
Timerw(baseUser.getUserId());
|
|
|
Timesjf(baseUser.getUserId());
|
|
|
-
|
|
|
+ }
|
|
|
|
|
|
// 比对密码
|
|
|
String md5Password = Md5Util.md5(password);
|
|
@@ -189,12 +191,6 @@ public class LoginServiceImpl implements LoginService {
|
|
|
if(userID!=null) {
|
|
|
Integer shopID = messageCenterMapper.shopID(userID);
|
|
|
Integer newReceiptType = messageCenterMapper.newReceiptType(shopID);
|
|
|
- if (shopID == null) {
|
|
|
- savedCount = messageCenterMapper.Count(1, clubId);
|
|
|
- System.out.println(savedCount);
|
|
|
- } else {
|
|
|
- savedCount = messageCenterMapper.Count(2, shopID);
|
|
|
- }
|
|
|
|
|
|
Timerw(userID);
|
|
|
Timesjf(userID);
|
|
@@ -271,6 +267,7 @@ if(userID!=null) {
|
|
|
@Override
|
|
|
public Integer updateMessageAsRead(Integer messageType,Integer commonId){
|
|
|
|
|
|
+
|
|
|
return messageCenterMapper.updateMessageAsRead(1,messageType,commonId);
|
|
|
}
|
|
|
|
|
@@ -363,127 +360,200 @@ if(userID!=null) {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 每天下午3点判断
|
|
|
+ * 当天天下午3点推送
|
|
|
*/
|
|
|
- @Scheduled(cron = "0 0 15 * * ?")
|
|
|
private Void Timesjf(Integer userId) throws ParseException {
|
|
|
- Integer shopID=messageCenterMapper.shopID(userId);
|
|
|
- if(shopID!=null){
|
|
|
- String receiptDate= messageCenterMapper.receiptDate(shopID);
|
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
-
|
|
|
- Integer clubId=messageCenterMapper.clubIdCule(userId);
|
|
|
- if(clubId!=null){
|
|
|
- Date d=new Date();
|
|
|
- //1.日期格式
|
|
|
- SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
|
|
|
- Date time = sdf.parse(receiptDate);
|
|
|
- calendar.setTime(time);
|
|
|
- calendar.add(Calendar.YEAR, 1);
|
|
|
- String dateStrings= sdf.format(calendar.getTime());
|
|
|
- //2.到期时间
|
|
|
- Date da1=sdf.parse(dateStrings);
|
|
|
- //到期时间-当前时间=还剩多少天
|
|
|
- Long s=(da1.getTime()-d.getTime())/24/60/60/1000;
|
|
|
- //3.输出间隔天数 getTime获取的是毫秒
|
|
|
- log.info("输出间隔天数----------->",s);
|
|
|
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- String current = dateFormat.format(new Date());
|
|
|
- MessageCenter messageCenter=new MessageCenter();
|
|
|
- //推送信息中心-上架费服务通知
|
|
|
- if(s==30){
|
|
|
- messageCenter.setShopId(shopID);
|
|
|
- messageCenter.setClubId(null);
|
|
|
- messageCenter.setUserType(2);
|
|
|
- messageCenter.setMessageType(3);
|
|
|
- messageCenter.setShopTieredType(1);
|
|
|
- messageCenter.setContent(s+"日后");
|
|
|
- messageCenter.setTime(current);
|
|
|
- messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
- }
|
|
|
- if(s==7){
|
|
|
- messageCenter.setShopId(shopID);
|
|
|
- messageCenter.setClubId(null);
|
|
|
- messageCenter.setUserType(2);
|
|
|
- messageCenter.setMessageType(3);
|
|
|
- messageCenter.setShopTieredType(1);
|
|
|
- messageCenter.setContent(s+"日后");
|
|
|
- messageCenter.setTime(current);
|
|
|
- messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
- }
|
|
|
- if(s==1){
|
|
|
- messageCenter.setShopId(shopID);
|
|
|
- messageCenter.setClubId(null);
|
|
|
- messageCenter.setUserType(2);
|
|
|
- messageCenter.setMessageType(3);
|
|
|
- messageCenter.setShopTieredType(1);
|
|
|
- messageCenter.setContent("今日");
|
|
|
- messageCenter.setTime(current);
|
|
|
- messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
- }
|
|
|
- if(s<=0){
|
|
|
- messageCenter.setShopId(shopID);
|
|
|
- messageCenter.setClubId(null);
|
|
|
- messageCenter.setUserType(2);
|
|
|
- messageCenter.setMessageType(3);
|
|
|
- messageCenter.setShopTieredType(1);
|
|
|
- messageCenter.setContent("已过期");
|
|
|
- messageCenter.setTime(current);
|
|
|
- messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
+ //1.获取下午3点的时间
|
|
|
+ SimpleDateFormat dnf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
|
|
+ Calendar time = Calendar.getInstance();
|
|
|
+ time.set(Calendar.HOUR_OF_DAY, 15);
|
|
|
+ time.set(Calendar.MINUTE, 00);
|
|
|
+ time.set(Calendar.SECOND, 00);
|
|
|
+
|
|
|
+ String times = dnf.format(time.getTime());
|
|
|
+ System.out.println(times);
|
|
|
+ //2.某天的日期
|
|
|
+ Date date=dnf.parse(times);
|
|
|
+ //与当前时间的毫秒数相减得到相差的毫秒用于定时
|
|
|
+ Long h=(date.getTime()-date.getTime());
|
|
|
+ //这里如果当前时间大于下午三点会出现负数所以就不推送
|
|
|
+ if(h>0) {
|
|
|
+ ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
|
|
|
+ executorService.schedule(new Runnable() {
|
|
|
+ @SneakyThrows
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ Integer shopID = messageCenterMapper.shopID(userId);
|
|
|
+ if (shopID != null) {
|
|
|
+ String receiptDate = messageCenterMapper.receiptDate(shopID);
|
|
|
+ Double receiptAmount=messageCenterMapper.receiptAmount(shopID);
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+
|
|
|
+ Integer clubId = messageCenterMapper.clubIdCule(userId);
|
|
|
+ if (clubId != null) {
|
|
|
+ Date d = new Date();
|
|
|
+ //1.日期格式
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
|
|
|
+ Date time = sdf.parse(receiptDate);
|
|
|
+ calendar.setTime(time);
|
|
|
+ calendar.add(Calendar.YEAR, 1);
|
|
|
+ String dateStrings = sdf.format(calendar.getTime());
|
|
|
+ //2.到期时间
|
|
|
+ Date da1 = sdf.parse(dateStrings);
|
|
|
+ //到期时间-当前时间=还剩多少天
|
|
|
+ Long s = (da1.getTime() - d.getTime()) / 24 / 60 / 60 / 1000;
|
|
|
+ //3.输出间隔天数 getTime获取的是毫秒
|
|
|
+ log.info("输出间隔天数----------->", s);
|
|
|
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String current = dateFormat.format(new Date());
|
|
|
+ MessageCenter messageCenter = new MessageCenter();
|
|
|
+ //推送信息中心-上架费服务通知
|
|
|
+ if (s == 30) {
|
|
|
+ messageCenter.setShopId(shopID);
|
|
|
+ messageCenter.setClubId(null);
|
|
|
+ messageCenter.setUserType(2);
|
|
|
+ messageCenter.setMessageType(3);
|
|
|
+ messageCenter.setShopTieredType(1);
|
|
|
+ messageCenter.setContent(s + "日后");
|
|
|
+ messageCenter.setTime(current);
|
|
|
+ messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
+ String mobile = messageCenterMapper.contractMobile(clubId);
|
|
|
+ String content = "【采美365】您的供应商账号上架费将于30日后到期,到期后将无法发布和编辑商品,同时也会影响到其他采美提供的支持服务。请联系采美工作人员进行续费,联系电话0755-22907771 或15338851365";
|
|
|
+ remoteCallService.remoteSendSms(0, 1, mobile, content);
|
|
|
+ }
|
|
|
+ if (s == 7) {
|
|
|
+ messageCenter.setShopId(shopID);
|
|
|
+ messageCenter.setClubId(null);
|
|
|
+ messageCenter.setUserType(2);
|
|
|
+ messageCenter.setMessageType(3);
|
|
|
+ messageCenter.setShopTieredType(1);
|
|
|
+ messageCenter.setContent(s + "日后");
|
|
|
+ messageCenter.setTime(current);
|
|
|
+ messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
+ String mobile = messageCenterMapper.contractMobile(clubId);
|
|
|
+ String content = "【采美365】您的供应商账号上架费将于7日后到期,到期后将无法发布和编辑商品,同时也会影响到其他采美提供的支持服务。请联系采美工作人员进行续费,联系电话0755-22907771 或15338851365";
|
|
|
+ remoteCallService.remoteSendSms(0, 1, mobile, content);
|
|
|
+ }
|
|
|
+ if (s == 1) {
|
|
|
+ messageCenter.setShopId(shopID);
|
|
|
+ messageCenter.setClubId(null);
|
|
|
+ messageCenter.setUserType(2);
|
|
|
+ messageCenter.setMessageType(3);
|
|
|
+ messageCenter.setShopTieredType(1);
|
|
|
+ messageCenter.setContent("今日");
|
|
|
+ messageCenter.setTime(current);
|
|
|
+ messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
+ String mobile = messageCenterMapper.contractMobile(clubId);
|
|
|
+ String content = "【采美365】您的供应商账号上架费将于今日后到期,到期后将无法发布和编辑商品,同时也会影响到其他采美提供的支持服务。请联系采美工作人员进行续费,联系电话0755-22907771 或15338851365";
|
|
|
+ remoteCallService.remoteSendSms(0, 1, mobile, content);
|
|
|
+ }
|
|
|
+ if (s <= 0) {
|
|
|
+ messageCenter.setShopId(shopID);
|
|
|
+ messageCenter.setClubId(null);
|
|
|
+ messageCenter.setUserType(2);
|
|
|
+ messageCenter.setMessageType(3);
|
|
|
+ messageCenter.setShopTieredType(1);
|
|
|
+ messageCenter.setContent("已过期");
|
|
|
+ messageCenter.setTime(current);
|
|
|
+ messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ log.info("***********上架费过期微信公众号推送************");
|
|
|
+ String accessToken = weChatService.getAccessToken();
|
|
|
+ String openid = messageCenterMapper.getOpenidListByPermission(messageCenterMapper.FromUnionId(userId));
|
|
|
+ String date=s.toString();
|
|
|
+ String remarkText = "如在使用中有任何疑问,请在小程序内联系在线客服";
|
|
|
+ // 跳转到【小程序付款-选择支付方式页面】
|
|
|
+ String pagePath = "https://www.caimei365.com/";
|
|
|
+ // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接
|
|
|
+ log.error("获取openid>>>>>" + openid);
|
|
|
+ weChatService.sendTemplate(accessToken,openid,date,receiptDate,dateStrings,receiptAmount,remarkText, pagePath);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("【上架费过期通知】获取微信公众号access_token异常!", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- }
|
|
|
+ }, h, TimeUnit.MILLISECONDS);
|
|
|
}
|
|
|
-
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
- * 每天下午3点判断
|
|
|
+ * 当天天下午3点推送超级会员过期条件
|
|
|
*/
|
|
|
- @Scheduled(cron = "0 0 15 * * ?")
|
|
|
private Void Timerw(Integer userId) throws ParseException {
|
|
|
- SuperVipPo superVip = vipMapper.findSuperVip(userId);
|
|
|
- Integer clubId=messageCenterMapper.clubIdCule(userId);
|
|
|
- if(clubId!=null){
|
|
|
- if(superVip!=null){
|
|
|
- Date d=new Date();
|
|
|
- //1.日期格式
|
|
|
- SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
|
|
|
- String endTime = sdf.format(superVip.getEndTime());
|
|
|
- //2.某天的日期
|
|
|
- Date da1=sdf.parse(endTime);
|
|
|
- Long s=(d.getTime()-da1.getTime())/24/60/60/1000;
|
|
|
- //3.输出间隔天数 getTime获取的是毫秒
|
|
|
- log.info("输出间隔天数----------->",s);
|
|
|
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- String current = dateFormat.format(new Date());
|
|
|
- MessageCenter messageCenter=new MessageCenter();
|
|
|
- //推送信息中心-账户通知
|
|
|
- if(s==7){
|
|
|
- messageCenter.setShopId(null);
|
|
|
- messageCenter.setClubId(clubId);
|
|
|
- messageCenter.setUserType(1);
|
|
|
- messageCenter.setMessageType(2);
|
|
|
- messageCenter.setAccountType(3);
|
|
|
- messageCenter.setContent(s+"日后");
|
|
|
- messageCenter.setTime(current);
|
|
|
- messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
- }
|
|
|
- if(s==1){
|
|
|
- messageCenter.setShopId(null);
|
|
|
- messageCenter.setClubId(clubId);
|
|
|
- messageCenter.setUserType(1);
|
|
|
- messageCenter.setMessageType(2);
|
|
|
- messageCenter.setAccountType(3);
|
|
|
- messageCenter.setContent("今日后");
|
|
|
- messageCenter.setTime(current);
|
|
|
- messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
+ //1.获取下午3点的时间
|
|
|
+ SimpleDateFormat dnf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
|
|
+ Calendar time = Calendar.getInstance();
|
|
|
+ time.set(Calendar.HOUR_OF_DAY, 15);
|
|
|
+ time.set(Calendar.MINUTE, 00);
|
|
|
+ time.set(Calendar.SECOND, 00);
|
|
|
+
|
|
|
+ String times = dnf.format(time.getTime());
|
|
|
+ System.out.println(times);
|
|
|
+ //2.某天的日期
|
|
|
+ Date date=dnf.parse(times);
|
|
|
+ //与当前时间的毫秒数相减得到相差的毫秒用于定时
|
|
|
+ Long h=(date.getTime()-date.getTime());
|
|
|
+ //这里如果当前时间大于下午三点会出现负数所以就不推送
|
|
|
+ if(h>0){
|
|
|
+ ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
|
|
|
+ executorService.schedule(new Runnable() {
|
|
|
+ @SneakyThrows
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ SuperVipPo superVip = vipMapper.findSuperVip(userId);
|
|
|
+ Integer clubId = messageCenterMapper.clubIdCule(userId);
|
|
|
+ if (clubId != null) {
|
|
|
+ if (superVip != null) {
|
|
|
+ Date d = new Date();
|
|
|
+ //1.日期格式
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
|
|
|
+ String endTime = sdf.format(superVip.getEndTime());
|
|
|
+ //2.某天的日期
|
|
|
+ Date da1 = sdf.parse(endTime);
|
|
|
+ Long s = (d.getTime() - da1.getTime()) / 24 / 60 / 60 / 1000;
|
|
|
+ //3.输出间隔天数 getTime获取的是毫秒
|
|
|
+ log.info("输出间隔天数----------->", s);
|
|
|
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String current = dateFormat.format(new Date());
|
|
|
+ MessageCenter messageCenter = new MessageCenter();
|
|
|
+ //推送信息中心-账户通知
|
|
|
+ if (s == 7) {
|
|
|
+ messageCenter.setShopId(null);
|
|
|
+ messageCenter.setClubId(clubId);
|
|
|
+ messageCenter.setUserType(1);
|
|
|
+ messageCenter.setMessageType(2);
|
|
|
+ messageCenter.setAccountType(3);
|
|
|
+ messageCenter.setContent(s + "日后");
|
|
|
+ messageCenter.setTime(current);
|
|
|
+ messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
+ String mobile = messageCenterMapper.contractMobile(clubId);
|
|
|
+ String content = "【采美365】您的超级会员将于7日后到期,到期后将无法享受专属会员权益,快戳采美网站链接www.caimei365.com 或微信搜索“采美采购商城”小程序登录采美平台续费吧。关注公众号“采美网”可获取更多优惠和精彩资讯。";
|
|
|
+ remoteCallService.remoteSendSms(0, 1, mobile, content);
|
|
|
+
|
|
|
+ }
|
|
|
+ if (s == 1) {
|
|
|
+ messageCenter.setShopId(null);
|
|
|
+ messageCenter.setClubId(clubId);
|
|
|
+ messageCenter.setUserType(1);
|
|
|
+ messageCenter.setMessageType(2);
|
|
|
+ messageCenter.setAccountType(3);
|
|
|
+ messageCenter.setContent("今日后");
|
|
|
+ messageCenter.setTime(current);
|
|
|
+ messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
+ String mobile = messageCenterMapper.contractMobile(clubId);
|
|
|
+ String content = "【采美365】您的超级会员将于今日到期,到期后将无法享受专属会员权益,快戳采美网站链接www.caimei365.com 或微信搜索“采美采购商城”小程序登录采美平台续费吧。关注公众号“采美网”可获取更多优惠和精彩资讯。";
|
|
|
+ remoteCallService.remoteSendSms(0, 1, mobile, content);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ }, h, TimeUnit.MILLISECONDS);
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
@@ -912,6 +982,29 @@ if(userID!=null) {
|
|
|
messageCenter.setContent(nickName);
|
|
|
messageCenter.setTime(current);
|
|
|
messageCenterMapper.addMessageCenter(messageCenter);
|
|
|
+ //发短信
|
|
|
+ String message = "【采美365】恭喜您成功成为运营人员,您可通过微信直接登录采美商城进行采购。";
|
|
|
+ String mobile = messageCenterMapper.contractMobile(operation.getClubId());
|
|
|
+ if (mobile != null && mobile != "") {
|
|
|
+ remoteCallService.remoteSendSms(2, 3, mobile, message);
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ log.info("***********机构通过邀请码登入微信公众号推送************");
|
|
|
+ String accessToken = weChatService.getAccessToken();
|
|
|
+ String openid = messageCenterMapper.getOpenidListByPermission(unionId);
|
|
|
+ String time=current;
|
|
|
+ String remarkText = "绑定成功后,您可通过微信直接访问采美商城进行采购。";
|
|
|
+ // 跳转到【小程序付款-选择支付方式页面】
|
|
|
+ String pagePath = "https://www.caimei365.com/";
|
|
|
+ // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接
|
|
|
+ log.error("获取openid>>>>>" + openid);
|
|
|
+ weChatService.sendTemplateMessg(accessToken,openid,nickName,time,remarkText, pagePath);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("【机构通过邀请码登入通知】获取微信公众号access_token异常!", e);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
} else {
|
|
|
// 供应商Id
|