修改上线提醒功能

This commit is contained in:
yangjun 2024-07-01 22:20:17 +08:00
parent c69e8c1b7b
commit c6eafec0f8
4 changed files with 201 additions and 6 deletions

View File

@ -674,7 +674,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
if (userByPhone == null) { if (userByPhone == null) {
return Result.error("手机号未注册"); return Result.error("手机号未注册");
} }
}else if("gzg".equals(state) || "fh".equals(state) || "touSu".equals(state) || "send".equals(state) || "end".equals(state)){ }else if("gzg".equals(state) || "fh".equals(state) || "touSu".equals(state) || "send".equals(state) || "end".equals(state)|| "qtsx".equals(state)){
//不做校验手机号 //不做校验手机号
}else{ }else{
UserEntity userByPhone = queryByPhone(phone); UserEntity userByPhone = queryByPhone(phone);
@ -814,9 +814,12 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
case "fh": case "fh":
req.setTemplateId(commonInfoService.findOne(404).getValue()); req.setTemplateId(commonInfoService.findOne(404).getValue());
break; break;
case "touSu": case "qtsx":
req.setTemplateId(commonInfoService.findOne(405).getValue()); req.setTemplateId(commonInfoService.findOne(405).getValue());
break; break;
case "touSu":
req.setTemplateId(commonInfoService.findOne(453).getValue());
break;
default: default:
req.setTemplateId(commonInfoService.findOne(399).getValue()); req.setTemplateId(commonInfoService.findOne(399).getValue());
break; break;
@ -902,6 +905,9 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
case "touSu": case "touSu":
value = "" + name.getValue() + "】您好,客户对您进行了投诉,平台对您的信誉分进行了扣除,请规范您的服务!"; value = "" + name.getValue() + "】您好,客户对您进行了投诉,平台对您的信誉分进行了扣除,请规范您的服务!";
break; break;
case "qtsx":
value = "" + name.getValue() + "】您好,有客户请您上线!";
break;
default: default:
value = "" + name.getValue() + "】验证码: " + code + "此验证码可用于登录或注册10分钟内有效如非您本人操作可忽略本条消息"; value = "" + name.getValue() + "】验证码: " + code + "此验证码可用于登录或注册10分钟内有效如非您本人操作可忽略本条消息";
break; break;

View File

@ -272,7 +272,187 @@ public class ArtificerServiceImpl extends ServiceImpl<ArtificerDao, Artificer> i
collectArtificer.setArtificerId(artificerId); collectArtificer.setArtificerId(artificerId);
collectArtificerService.insertCollect(collectArtificer); collectArtificerService.insertCollect(collectArtificer);
} }
return baseMapper.selectArtificerById(userId,artificerId,longitude,latitude); Artificer artificer = baseMapper.selectArtificerById(userId,artificerId,longitude,latitude);
String value = commonInfoService.findOne(392).getValue();
if("30".equals(value)){
SimpleDateFormat sdfHour=new SimpleDateFormat("HH");
SimpleDateFormat sdfMinute=new SimpleDateFormat("mm");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat md = new SimpleDateFormat("MM-dd");
Date dateTime = new Date();
Calendar calendar=Calendar.getInstance();
String hour = sdfHour.format(dateTime);
String minute = sdfMinute.format(dateTime);
int minuteInt = Integer.parseInt(minute);
int hourInt = Integer.parseInt(hour);
StringBuilder stringBuilders=new StringBuilder();
if(minuteInt>=30){
if(hourInt==23){
hourInt=0;
minuteInt=30;
}else{
minuteInt=30;
hourInt=hourInt+1;
}
}else{
hourInt=hourInt+1;
minuteInt=0;
}
if(hourInt<10){
stringBuilders.append("0").append(hourInt);
}else{
stringBuilders.append(hourInt);
}
stringBuilders.append(":");
if(minuteInt<10){
stringBuilders.append("0").append(minuteInt);
}else{
stringBuilders.append(minuteInt);
}
calendar=Calendar.getInstance();
String date = simpleDateFormat.format(dateTime);
String oldDate = simpleDateFormat.format(dateTime);
hour = sdfHour.format(dateTime);
minute = sdfMinute.format(dateTime);
minuteInt = Integer.parseInt(minute);
hourInt = Integer.parseInt(hour);
if(minuteInt>=30){
if(hourInt==23){
hourInt=0;
minuteInt=30;
calendar.add(Calendar.DAY_OF_MONTH,1);
date = simpleDateFormat.format(calendar.getTime());
}else{
minuteInt=30;
hourInt=hourInt+1;
}
}else{
hourInt=hourInt+1;
minuteInt=0;
}
while (true){
StringBuilder stringBuilder=new StringBuilder();
if(hourInt<10){
stringBuilder.append("0").append(hourInt);
}else{
stringBuilder.append(hourInt);
}
stringBuilder.append(":");
if(minuteInt<10){
stringBuilder.append("0").append(minuteInt);
}else{
stringBuilder.append(minuteInt);
}
ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper<ArtificerTime>().eq("artificer_id", artificer.getArtificerId()).eq("artificer_date", date).eq("artificer_time", stringBuilder.toString()));
if(artificerTime==null){
if(oldDate.equals(date)){
artificer.setTime(stringBuilder.toString());
}else{
artificer.setTime(md.format(calendar.getTime())+" "+stringBuilder.toString());
}
if(artificer.getStatus()!=null && artificer.getStatus()==2){
artificer.setState(3);
}else{
if(stringBuilder.toString().equals(stringBuilders.toString())){
artificer.setState(1);
}else{
artificer.setState(2);
}
}
break;
}
if(minuteInt==30){
if(hourInt==23){
hourInt=0;
minuteInt=0;
calendar.add(Calendar.DAY_OF_MONTH,1);
date = simpleDateFormat.format(calendar.getTime());
}else{
minuteInt=0;
hourInt=hourInt+1;
}
}else{
minuteInt=30;
}
}
//2.服务开始前及结束后预留出行时间
//精油往后延30 分钟中医往后延60 分钟
if(artificer.getClassifyId()==95){
String time = artificer.getTime();
//在精油的基础上加30 分钟就是中医~~
DateTime dateTime1 = DateUtil.offsetMinute(DateUtil.parse(time), 30);
artificer.setTime(DateUtil.format(dateTime1,"HH:mm"));
}
}else{
SimpleDateFormat sdf=new SimpleDateFormat("HH");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat md = new SimpleDateFormat("MM-dd");
Date dateTime = new Date();
String date = simpleDateFormat.format(dateTime);
String oldDate = simpleDateFormat.format(dateTime);
String time = sdf.format(dateTime);
String times="";
if("23".equals(time)){
time="00";
times=time+":30";
}else{
time=String.valueOf(Integer.parseInt(time)+1);
times=time+":30";
}
String nowTimes=times;
Calendar calendar=Calendar.getInstance();
date = simpleDateFormat.format(dateTime);
oldDate = simpleDateFormat.format(dateTime);
time = sdf.format(dateTime);
times="";
if("23".equals(time)){
time="00";
times=time+":30";
calendar.add(Calendar.DAY_OF_MONTH,1);
date = simpleDateFormat.format(calendar.getTime());
}else{
time=String.valueOf(Integer.parseInt(time)+1);
times=time+":30";
}
while (true){
ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper<ArtificerTime>().eq("artificer_id", artificer.getArtificerId()).eq("artificer_date", date).eq("artificer_time", times));
if(artificerTime==null){
if(oldDate.equals(date)){
times=time+":00";
artificer.setTime(times);
}else{
times=time+":00";
artificer.setTime(md.format(calendar.getTime())+" "+times);
}
if(artificer.getStatus()!=null && artificer.getStatus()==2){
artificer.setState(3);
}else{
if(times.equals(nowTimes)){
artificer.setState(1);
}else{
artificer.setState(2);
}
}
break;
}
if("23".equals(time)){
time="00";
times=time+":30";
calendar.add(Calendar.DAY_OF_MONTH,1);
date = simpleDateFormat.format(calendar.getTime());
}else{
time=String.valueOf(Integer.parseInt(time)+1);
times=time+":30";
}
}
}
return artificer;
} }
@Override @Override

View File

@ -12,6 +12,7 @@ import com.sqx.modules.message.entity.MessageInfo;
import com.sqx.modules.message.service.MessageService; import com.sqx.modules.message.service.MessageService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -116,9 +117,10 @@ public class AppMessageController {
@Login @Login
@PostMapping("/insertUpMessage") @PostMapping("/insertUpMessage")
@ApiOperation("通知技师上线") @ApiOperation("通知技师上线")
public Result insertUpMessage(@RequestBody MessageInfo messageInfo){ public Result insertUpMessage(MessageInfo messageInfo){
UserEntity userEntity = userService.queryByUserId(Long.valueOf(messageInfo.getByUserId())); UserEntity userEntity = userService.queryByUserId(Long.valueOf(messageInfo.getByUserId()));
Artificer artificer = artificerService.getById(Long.valueOf(messageInfo.getUserId())); Artificer artificer = artificerService.getById(Long.valueOf(messageInfo.getUserId()));
UserEntity artificerUser = userService.queryByUserId(artificer.getUserId());
String content = userEntity.getUserName()+"邀请您上线!"; String content = userEntity.getUserName()+"邀请您上线!";
messageInfo.setContent(content); messageInfo.setContent(content);
messageInfo.setIsSee("0"); messageInfo.setIsSee("0");
@ -127,6 +129,13 @@ public class AppMessageController {
messageInfo.setByUserName(userEntity.getUserName()); messageInfo.setByUserName(userEntity.getUserName());
messageInfo.setUserName(artificer.getArtificerName()); messageInfo.setUserName(artificer.getArtificerName());
messageService.saveBody(messageInfo); messageService.saveBody(messageInfo);
if (StringUtils.isNotEmpty(artificerUser.getPhone())) {
userService.sendMsg(userEntity.getPhone(), "qtsx");
}
return Result.success(); return Result.success();
} }

View File

@ -217,7 +217,7 @@ public class AllTaskServiceImpl implements AllTaskSercice {
/** /**
* 计算技师在线时长每10分钟计算一积分 * 计算技师在线时长每10分钟计算一积分
*/ */
// @Scheduled(cron = "0 * * * * ?") @Scheduled(cron = "0 * * * * ?")
public void upJishiZxsc() throws ParseException { public void upJishiZxsc() throws ParseException {
System.out.println("----------------计算技师在线时长每10分钟计算一积分-------------"); System.out.println("----------------计算技师在线时长每10分钟计算一积分-------------");
CommonInfo commonInfo = commonInfoDao.findOne(100000); CommonInfo commonInfo = commonInfoDao.findOne(100000);
@ -270,7 +270,7 @@ public class AllTaskServiceImpl implements AllTaskSercice {
System.out.println("----------------每日积分汇总 定时任务-------------"); System.out.println("----------------每日积分汇总 定时任务-------------");
//当前时间减一天 //当前时间减一天
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
// calendar.add(Calendar.DAY_OF_YEAR, -1);//上一天 calendar.add(Calendar.DAY_OF_YEAR, -1);//上一天
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = sdf.format(calendar.getTime()); String date = sdf.format(calendar.getTime());