Browse Source

定时任务

wangzongkui 6 months ago
parent
commit
e781438377

+ 2 - 2
renren-admin/src/main/java/io/renren/modules/job/config/ScheduleConfig.java

@@ -54,12 +54,12 @@ public class ScheduleConfig {
 
         factory.setSchedulerName("RenrenScheduler");
         //延时启动
-        factory.setStartupDelay(30);
+        //factory.setStartupDelay(30);
         factory.setApplicationContextSchedulerContextKey("applicationContextKey");
         //可选,QuartzScheduler 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
         factory.setOverwriteExistingJobs(true);
         //设置自动启动,默认为true
-        factory.setAutoStartup(false);
+        factory.setAutoStartup(true);
 
         return factory;
     }

+ 2 - 0
renren-admin/src/main/java/io/renren/modules/job/controller/ScheduleJobController.java

@@ -16,6 +16,7 @@
 		import io.renren.modules.job.service.ScheduleJobService;
 		import org.apache.shiro.authz.annotation.RequiresPermissions;
 		import org.springframework.beans.factory.annotation.Autowired;
+		import org.springframework.context.annotation.Lazy;
 		import org.springframework.web.bind.annotation.*;
 
 		import java.util.Map;
@@ -29,6 +30,7 @@
 @RequestMapping("/sys/schedule")
 public class ScheduleJobController {
 	@Autowired
+	@Lazy
 	private ScheduleJobService scheduleJobService;
 
 	/**

+ 2 - 2
renren-admin/src/main/java/io/renren/modules/job/service/impl/ScheduleJobServiceImpl.java

@@ -30,7 +30,7 @@ public class ScheduleJobServiceImpl extends ServiceImpl<ScheduleJobDao, Schedule
 	 */
 	@PostConstruct
 	public void init(){
-		/*List<ScheduleJobEntity> scheduleJobList = this.list();
+		List<ScheduleJobEntity> scheduleJobList = this.list();
 		for(ScheduleJobEntity scheduleJob : scheduleJobList){
 			CronTrigger cronTrigger = ScheduleUtils.getCronTrigger(scheduler, scheduleJob.getJobId());
 			//如果不存在,则创建
@@ -39,7 +39,7 @@ public class ScheduleJobServiceImpl extends ServiceImpl<ScheduleJobDao, Schedule
 			}else {
 				ScheduleUtils.updateScheduleJob(scheduler, scheduleJob);
 			}
-		}*/
+		}
 	}
 
 	@Override

+ 1 - 0
renren-admin/src/main/java/io/renren/modules/job/task/TestTask.java

@@ -25,6 +25,7 @@ public class TestTask implements ITask {
 
 	@Override
 	public void run(String params){
+		logger.info("TestTask定时任务正在执行,参数为:{}");
 		logger.debug("TestTask定时任务正在执行,参数为:{}", params);
 	}
 }

+ 10 - 12
renren-admin/src/main/java/io/renren/modules/job/task/WaTask.java

@@ -8,12 +8,8 @@
 
 package io.renren.modules.job.task;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import io.renren.modules.qmgj.entity.ActivityEntity;
-import io.renren.modules.qmgj.entity.WorkEntity;
 import io.renren.modules.qmgj.service.ActivityService;
 import io.renren.modules.qmgj.service.WorkService;
-import org.apache.commons.lang3.time.DateFormatUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,14 +36,16 @@ public class WaTask implements ITask {
 	@Override
 	public void run(String params){
 		Date date = new Date();
-		String now = DateFormatUtils.format(date,"yyyy-MM-dd");
-		WorkEntity work = new WorkEntity();
-		work.setIsPublish("0");
-		workService.update(work, new QueryWrapper<WorkEntity>().le("workdate_end", now));
-		String now2 = DateFormatUtils.format(date,"yyyy-MM-dd HH:mm");
-		ActivityEntity activity = new ActivityEntity();
-		activity.setIsPublish("0");
-		activityService.update(activity,new QueryWrapper<ActivityEntity>().le("end_time",now2));
+//		WorkEntity work = new WorkEntity();
+//		work.setIsPublish("0");
+//		workService.update(work, new QueryWrapper<WorkEntity>().le("workdate_end", now));
+		workService.endPublishAndSendPoint();
+
+
+//		ActivityEntity activity = new ActivityEntity();
+//		activity.setIsPublish("0");
+//		activityService.update(activity,new QueryWrapper<ActivityEntity>().le("end_time",now2));
+		activityService.endPublishAndSendPoint();
 		System.out.println("--------数据刷新任务结束----------");
 	}
 }

+ 11 - 3
renren-admin/src/main/java/io/renren/modules/job/utils/ScheduleJob.java

@@ -8,15 +8,20 @@
 
 package io.renren.modules.job.utils;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import io.renren.common.utils.SpringContextUtils;
 import io.renren.modules.job.entity.ScheduleJobEntity;
 import io.renren.modules.job.entity.ScheduleJobLogEntity;
 import io.renren.modules.job.service.ScheduleJobLogService;
+import io.renren.modules.job.service.ScheduleJobService;
 import org.apache.commons.lang.StringUtils;
+import org.quartz.JobDataMap;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.quartz.QuartzJobBean;
 
 import java.lang.reflect.Method;
@@ -29,13 +34,16 @@ import java.util.Date;
  * @author Mark sunlightcs@gmail.com
  */
 public class ScheduleJob extends QuartzJobBean {
+	@Autowired
+	private ScheduleJobService scheduleJobService;
 	private Logger logger = LoggerFactory.getLogger(getClass());
 
     @Override
     protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
-        ScheduleJobEntity scheduleJob = (ScheduleJobEntity) context.getMergedJobDataMap()
-        		.get(ScheduleJobEntity.JOB_PARAM_KEY);
-        
+		JobDataMap dataMap =  context.getMergedJobDataMap();
+		//JobDataMap dataMap = context.getJobDetail().getJobDataMap();
+		String scheduleJobStr = dataMap.get(ScheduleJobEntity.JOB_PARAM_KEY).toString();
+		ScheduleJobEntity scheduleJob = ScheduleJobEntityParser.parse(scheduleJobStr);
         //获取spring bean
         ScheduleJobLogService scheduleJobLogService = (ScheduleJobLogService) SpringContextUtils.getBean("scheduleJobLogService");
         

+ 85 - 0
renren-admin/src/main/java/io/renren/modules/job/utils/ScheduleJobEntityParser.java

@@ -0,0 +1,85 @@
+package io.renren.modules.job.utils;
+
+import io.renren.modules.job.entity.ScheduleJobEntity;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class ScheduleJobEntityParser {
+    /**
+     * 专门解析ScheduleJobEntity的toString格式
+     */
+    public static ScheduleJobEntity parse(String toString) {
+        if (toString == null || !toString.startsWith("ScheduleJobEntity(")) {
+            return null;
+        }
+
+        ScheduleJobEntity entity = new ScheduleJobEntity();
+
+        try {
+            // 提取括号内的内容
+            int start = toString.indexOf('(') + 1;
+            int end = toString.lastIndexOf(')');
+            String content = toString.substring(start, end);
+
+            // 解析各个字段
+            parseField(content, "jobId", entity);
+            parseField(content, "beanName", entity);
+            parseField(content, "params", entity);
+            parseField(content, "cronExpression", entity);
+            parseField(content, "status", entity);
+            parseField(content, "remark", entity);
+            parseField(content, "createTime", entity);
+
+        } catch (Exception e) {
+            throw new RuntimeException("解析ScheduleJobEntity失败", e);
+        }
+
+        return entity;
+    }
+
+    private static void parseField(String content, String fieldName, ScheduleJobEntity entity) {
+        Pattern pattern = Pattern.compile(fieldName + "=([^,]+)");
+        Matcher matcher = pattern.matcher(content);
+
+        if (matcher.find()) {
+            String valueStr = matcher.group(1).trim();
+            setEntityField(entity, fieldName, valueStr);
+        }
+    }
+
+    private static void setEntityField(ScheduleJobEntity entity, String fieldName, String valueStr) {
+        try {
+            if ("null".equals(valueStr)) {
+                return; // 保持null值
+            }
+
+            switch (fieldName) {
+                case "jobId":
+                    entity.setJobId(Long.parseLong(valueStr));
+                    break;
+                case "beanName":
+                    entity.setBeanName(valueStr);
+                    break;
+                case "params":
+                    entity.setParams(valueStr);
+                    break;
+                case "cronExpression":
+                    entity.setCronExpression(valueStr);
+                    break;
+                case "status":
+                    entity.setStatus(Integer.parseInt(valueStr));
+                    break;
+                case "remark":
+                    entity.setRemark(valueStr);
+                    break;
+                case "createTime":
+                    // 根据需要解析日期
+                    // entity.setCreateTime(parseDate(valueStr));
+                    break;
+            }
+        } catch (Exception e) {
+            System.err.println("设置字段 " + fieldName + " 失败: " + e.getMessage());
+        }
+    }
+}

+ 3 - 3
renren-admin/src/main/java/io/renren/modules/listener/ActListener.java

@@ -71,7 +71,7 @@ public class ActListener {
                 }
                 Date date = DateUtils.stringToDate(activityEntity.getEndTime(), "yyyy-MM-dd HH:mm");
                 if (date.compareTo(DateUtil.date()) < 0) {
-                    TaskManage taskManage = taskManageService.getById(TaskType.WORK_ACTIVITY.getCode(), false);
+                    TaskManage taskManage = taskManageService.getById(TaskType.ACTIVITY.getCode(), false);
                     if (ObjectUtil.isNotNull(taskManage)) {
                         log.info("报名活动信息Id:{}", id);
                         // 增加积分记录
@@ -86,14 +86,14 @@ public class ActListener {
                         Integer totalScore = scoreStuService.getTotalScore(activityStuEntity.getStuId());
                         scoreStu.setSurplusScore(totalScore + taskScore);
                         scoreStu.setScoreValue(taskScore);
-                        scoreStu.setScoreEvent(TaskType.WORK_ACTIVITY.getInfo());
+                        scoreStu.setScoreEvent(TaskType.ACTIVITY.getInfo());
                         scoreStu.setCreateTime(new Date());
                         scoreStuService.save(scoreStu);
                     }
+                    channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
                 } else {
                     log.info("报名活动信息Id:{}已被取消", id);
                 }
-                channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
             } else {
                 log.info("报名活动信息Id:{}不存在", id);
                 channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);

+ 2 - 4
renren-admin/src/main/java/io/renren/modules/listener/WorkScoreListener.java

@@ -5,7 +5,6 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.rabbitmq.client.Channel;
-import io.renren.common.canstant.QueueConstant;
 import io.renren.modules.qmgj.dao.WorkDao;
 import io.renren.modules.qmgj.dao.WorkStuDao;
 import io.renren.modules.qmgj.entity.WorkEntity;
@@ -18,7 +17,6 @@ import io.renren.modules.qmjz.service.ScoreStuService;
 import io.renren.modules.qmjz.service.TaskManageService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.core.Message;
-import org.springframework.amqp.rabbit.annotation.RabbitListener;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
@@ -38,7 +36,7 @@ public class WorkScoreListener {
     @Resource
     private ScoreStuService scoreStuService;
 
-    @RabbitListener(queues = QueueConstant.WORK_MS_QUEUE)
+   // @RabbitListener(queues = QueueConstant.WORK_SCORE_QUEUE)
     public void handlerDeadMsg(Message message, Channel channel) {
         log.info("------------------------------------兼职消费开始");
         try {
@@ -68,9 +66,9 @@ public class WorkScoreListener {
                     scoreStu.setScoreEvent(TaskType.WORK_ACTIVITY.getInfo());
                     scoreStu.setCreateTime(new Date());
                     scoreStuService.save(scoreStu);
+                    channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
                 }
             }
-            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
             log.info("------------------------------------兼职消费结束");
         } catch (IOException e) {
             e.printStackTrace();

+ 2 - 0
renren-admin/src/main/java/io/renren/modules/qmgj/service/ActivityService.java

@@ -106,5 +106,7 @@ public interface ActivityService extends IService<ActivityEntity> {
     void updatePlatformActivity(ActivityEntity activity);
 
     void verifyExistRepeatActivity(Long stuId, String startTime, String endTime);
+
+    void endPublishAndSendPoint();
 }
 

+ 1 - 0
renren-admin/src/main/java/io/renren/modules/qmgj/service/WorkService.java

@@ -137,5 +137,6 @@ public interface WorkService extends IService<WorkEntity> {
      */
     void verifyExistRepeatWork(Long stuId, String startDate, String endDate, String startTime, String endTime);
 
+    void endPublishAndSendPoint();
 }
 

+ 57 - 6
renren-admin/src/main/java/io/renren/modules/qmgj/service/impl/ActivityServiceImpl.java

@@ -34,6 +34,7 @@ import io.renren.modules.qmgj.wxpayutil.PayCommonUtil;
 import io.renren.modules.qmgj.wxpayutil.StringUtil;
 import io.renren.modules.qmjz.entity.Region;
 import io.renren.modules.qmjz.entity.ScoreStu;
+import io.renren.modules.qmjz.entity.TaskManage;
 import io.renren.modules.qmjz.entity.WxConsumeInfoEntity;
 import io.renren.modules.qmjz.enums.ActivityStatus;
 import io.renren.modules.qmjz.enums.ScoreType;
@@ -41,6 +42,7 @@ import io.renren.modules.qmjz.enums.TaskType;
 import io.renren.modules.qmjz.mapper.ScoreStuMapper;
 import io.renren.modules.qmjz.service.RegionService;
 import io.renren.modules.qmjz.service.ScoreStuService;
+import io.renren.modules.qmjz.service.TaskManageService;
 import io.renren.modules.qmjz.service.WxConsumeInfoService;
 import io.renren.modules.qmjz.utils.BeanCopyUtils;
 import io.renren.modules.qmjz.utils.DateForStr;
@@ -155,6 +157,8 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityDao, ActivityEntity
     private ScoreStuService scoreStuService;
     @Autowired
     private ScoreStuMapper scoreStuMapper;
+    @Autowired
+    private TaskManageService taskManageService;
 
     @Override
     public PageUtils queryPage(Map<String, Object> params) {
@@ -863,12 +867,12 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityDao, ActivityEntity
             }
         }
 
-        Date date = DateUtils.stringToDate(activity.getEndTime(), "yyyy-MM-dd HH:mm");
-        String expirationTime = String.valueOf(date.getTime() - System.currentTimeMillis());
-        rabbitTemplate.convertAndSend(QueueConstant.ACT_MS_QUEUE, activityStu.getId().toString(), message -> {
-            message.getMessageProperties().setExpiration(expirationTime);
-            return message;
-        });
+       // Date date = DateUtils.stringToDate(activity.getEndTime(), "yyyy-MM-dd HH:mm");
+       // String expirationTime = String.valueOf(date.getTime() - System.currentTimeMillis());
+       // rabbitTemplate.convertAndSend(QueueConstant.ACT_MS_QUEUE, activityStu.getId().toString(), message -> {
+       //     message.getMessageProperties().setExpiration(expirationTime);
+       //     return message;
+       // });
 
         //TODO 更新用户活动次数
         memberInfoDao.updateActivityFrequency(activityStu.getStuId(), 1, true);
@@ -2012,6 +2016,53 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityDao, ActivityEntity
         }
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void endPublishAndSendPoint() {
+        String nowTime = DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm");
+        List<ActivityEntity> workEntityList = this.baseMapper.selectList(new LambdaQueryWrapper<ActivityEntity>()
+                .le(ActivityEntity::getEndTime, nowTime)
+                .eq(ActivityEntity::getIsPublish, "1")
+        );
+        if(CollectionUtil.isNotEmpty(workEntityList))
+        {
+            for (ActivityEntity activityEntity : workEntityList) {
+                if (ObjectUtil.isNotNull(activityEntity)) {
+                    //查询当前兼职的参与人员
+                    List<ActivityStuEntity> activityStuList = activityStuDao.selectList(new LambdaQueryWrapper<ActivityStuEntity>()
+                            .eq(ActivityStuEntity::getActivityId, activityEntity.getId()));
+                    if (CollectionUtil.isNotEmpty(activityStuList)){
+                        for (ActivityStuEntity activityStuEntity : activityStuList) {
+                            //送积分
+                            TaskManage taskManage = taskManageService.getById(TaskType.WORK_ACTIVITY.getCode(), false);
+                            // 增加积分记录
+                            ScoreStu scoreStu = new ScoreStu();
+                            scoreStu.setStuId(activityStuEntity.getStuId());
+                            scoreStu.setScoreType(ScoreType.TASK_SCORE.getCode());
+                            scoreStu.setDay(new SimpleDateFormat("yyyyMMdd").format(new Date()));
+                            scoreStu.setBusinessId(activityStuEntity.getActivityId());
+                            scoreStu.setTaskId(taskManage.getId());
+                            // 查询积分值
+                            Integer taskScore = taskManage.getTaskScore();
+                            Integer totalScore = scoreStuService.getTotalScore(activityStuEntity.getStuId());
+                            scoreStu.setSurplusScore(totalScore + taskScore);
+                            scoreStu.setScoreValue(taskScore);
+                            scoreStu.setScoreEvent(TaskType.ACTIVITY.getInfo());
+                            scoreStu.setCreateTime(new Date());
+                            ScoreStu scoreOne = scoreStuService.getOneByStuIdActId(activityStuEntity.getStuId(), activityStuEntity.getActivityId());
+                            if (null == scoreOne){
+                                scoreStuService.save(scoreStu);
+                            }
+                        }
+                    }
+                    baseMapper.update(null, new LambdaUpdateWrapper<ActivityEntity>().set(ActivityEntity::getIsPublish, "0")
+                            .eq(ActivityEntity::getId, activityEntity.getId()));
+
+                }
+            }
+        }
+    }
+
     private void sendActivityEnd(LocalDateTime endTime, JSONObject jsonObject) {
         rabbitTemplate.convertAndSend(QueueConstant.ACTIVITY_ISSUE_POINTS_MS_QUEUE, jsonObject.toString(), message -> {
             MessageProperties messageProperties = message.getMessageProperties();

+ 62 - 8
renren-admin/src/main/java/io/renren/modules/qmgj/service/impl/WorkServiceImpl.java

@@ -28,12 +28,14 @@ import io.renren.modules.qmgj.service.FavoriteInfoService;
 import io.renren.modules.qmgj.service.WorkService;
 import io.renren.modules.qmjz.entity.AppraiseManage;
 import io.renren.modules.qmjz.entity.ScoreStu;
+import io.renren.modules.qmjz.entity.TaskManage;
 import io.renren.modules.qmjz.entity.vo.AppraiseManageVo;
 import io.renren.modules.qmjz.enums.ScoreType;
 import io.renren.modules.qmjz.enums.TaskType;
 import io.renren.modules.qmjz.mapper.AppraiseManageMapper;
 import io.renren.modules.qmjz.mapper.ScoreStuMapper;
 import io.renren.modules.qmjz.service.ScoreStuService;
+import io.renren.modules.qmjz.service.TaskManageService;
 import io.renren.modules.qmjz.utils.BeanCopyUtils;
 import io.renren.modules.qmjz.utils.DateForStr;
 import io.renren.modules.qyh.entity.AuditEntity;
@@ -121,6 +123,9 @@ public class WorkServiceImpl extends ServiceImpl<WorkDao, WorkEntity> implements
     private ScoreStuService scoreStuService;
     @Autowired
     private ScoreStuMapper scoreStuMapper;
+    @Autowired
+    private TaskManageService taskManageService;
+
     public static void main(String[] args) {
         Map params = new HashMap();
         params.put("myDataPermissions", true);
@@ -822,14 +827,14 @@ public class WorkServiceImpl extends ServiceImpl<WorkDao, WorkEntity> implements
                 return R.error(510, "当前报名数据有更新,请重试!");
             }
         }
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("workStuId", workStu.getId());
-        long time = DateUtil.parseDate(work.getRegistrationTime(), "yyyy-MM-dd HH:mm").getTime();
-        String expirationTime = String.valueOf(time - System.currentTimeMillis());
-        rabbitTemplate.convertAndSend(QueueConstant.WORK_MS_QUEUE, jsonObject.toString(), message -> {
-            message.getMessageProperties().setExpiration(expirationTime);
-            return message;
-        });
+        // JSONObject jsonObject = new JSONObject();
+        // jsonObject.put("workStuId", workStu.getId());
+        // long time = DateUtil.parseDate(work.getRegistrationTime(), "yyyy-MM-dd HH:mm").getTime();
+        // String expirationTime = String.valueOf(time - System.currentTimeMillis());
+        // rabbitTemplate.convertAndSend(QueueConstant.WORK_SCORE_QUEUE, jsonObject.toString(), message -> {
+        //     message.getMessageProperties().setExpiration(expirationTime);
+        //     return message;
+        // });
         //TODO 更新用户工作次数
         memberInfoDao.updateWorkFrequency(workStu.getStuId(), 1, true);
 
@@ -1793,6 +1798,55 @@ public class WorkServiceImpl extends ServiceImpl<WorkDao, WorkEntity> implements
         }
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void endPublishAndSendPoint() {
+        String nowDate = DateFormatUtils.format(new Date(),"yyyy-MM-dd");
+        String nowTime = DateFormatUtils.format(new Date(),"HH:mm");
+        List<WorkEntity> workEntityList = this.baseMapper.selectList(new LambdaQueryWrapper<WorkEntity>()
+                .le(WorkEntity::getWorkdateEnd, nowDate)
+                .le(WorkEntity::getWorktimeEnd, nowTime)
+                .eq(WorkEntity::getIsPublish, "1")
+        );
+        if(CollectionUtil.isNotEmpty(workEntityList))
+        {
+            for (WorkEntity workEntity : workEntityList) {
+                if (ObjectUtil.isNotNull(workEntity)) {
+                    //查询当前兼职的参与人员
+                    List<WorkStuEntity> workStuList = workStuDao.selectList(new LambdaQueryWrapper<WorkStuEntity>()
+                            .eq(WorkStuEntity::getWorkId, workEntity.getId()));
+                    if (CollectionUtil.isNotEmpty(workStuList)){
+                        for (WorkStuEntity workStuEntity : workStuList) {
+                            //送积分
+                            TaskManage taskManage = taskManageService.getById(TaskType.WORK_ACTIVITY.getCode(), false);
+                            // 增加积分记录
+                            ScoreStu scoreStu = new ScoreStu();
+                            scoreStu.setStuId(workStuEntity.getStuId());
+                            scoreStu.setScoreType(ScoreType.TASK_SCORE.getCode());
+                            scoreStu.setDay(new SimpleDateFormat("yyyyMMdd").format(new Date()));
+                            scoreStu.setBusinessId(workStuEntity.getWorkId());
+                            scoreStu.setTaskId(taskManage.getId());
+                            // 查询积分值
+                            Integer taskScore = taskManage.getTaskScore();
+                            Integer totalScore = scoreStuService.getTotalScore(workStuEntity.getStuId());
+                            scoreStu.setSurplusScore(totalScore + taskScore);
+                            scoreStu.setScoreValue(taskScore);
+                            scoreStu.setScoreEvent(TaskType.WORK_ACTIVITY.getInfo());
+                            scoreStu.setCreateTime(new Date());
+                            ScoreStu scoreOne = scoreStuService.getOneByStuIdActId(workStuEntity.getStuId(), workStuEntity.getWorkId());
+                            if (null == scoreOne){
+                                scoreStuService.save(scoreStu);
+                            }
+                        }
+                    }
+                    baseMapper.update(null, new LambdaUpdateWrapper<WorkEntity>().set(WorkEntity::getIsPublish, "0")
+                            .eq(WorkEntity::getId, workEntity.getId()));
+
+                }
+            }
+        }
+    }
+
     private void sendMqUpdate(WorkEntity work) {
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("workId", work.getId());

+ 2 - 2
renren-admin/src/main/java/io/renren/modules/qmjz/entity/ScoreStu.java

@@ -45,7 +45,7 @@ public class ScoreStu {
      * 积分数
      */
     @ApiModelProperty(value="积分数")
-        private Integer scoreValue;
+    private Integer scoreValue;
 
     /**
      * 剩余积分
@@ -59,7 +59,7 @@ public class ScoreStu {
     private String day;
 
 
-
     @ApiModelProperty(value="")
     private Date createTime;
+
 }

+ 2 - 2
renren-admin/src/main/java/io/renren/modules/qmjz/enums/TaskType.java

@@ -17,8 +17,8 @@ public enum TaskType {
     WORK_APPLY_DEDUCT(12L,"兼职报名抵扣的积分"),
     WATCH_ADS(13L,"观看广告"),
     ACTIVITY_CANCEL(14L,"取消活动返还积分"),
-    WORK_CANCEL(15L,"取消兼职返还积分");
-
+    WORK_CANCEL(15L,"取消兼职返还积分"),
+    ACTIVITY(16L,"参加活动");
     private final Long code;
     private final String info;