Commit 3bb364fb by 阳浪

积分任务

parent 56ef164b
package com.yizhi.point.application.feign; package com.yizhi.point.application.feign;
import com.yizhi.point.application.vo.domain.MqPointParamVo;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
/** /**
...@@ -20,4 +17,8 @@ public interface PointListenerClients { ...@@ -20,4 +17,8 @@ public interface PointListenerClients {
@GetMapping("saveHandPoint") @GetMapping("saveHandPoint")
boolean saveHandPoint(@RequestParam("sitePointId") String sitePointId); boolean saveHandPoint(@RequestParam("sitePointId") String sitePointId);
@GetMapping(value = "/addPoint")
boolean addPoint(@RequestParam("code") String code, @RequestParam("sourceId") Long sourceId);
} }
...@@ -8,14 +8,21 @@ import com.yizhi.application.orm.id.IdGenerator; ...@@ -8,14 +8,21 @@ import com.yizhi.application.orm.id.IdGenerator;
import com.yizhi.application.redis.RedisUtils; import com.yizhi.application.redis.RedisUtils;
import com.yizhi.application.service.*; import com.yizhi.application.service.*;
import com.yizhi.application.util.PointEvenSendMessage; import com.yizhi.application.util.PointEvenSendMessage;
import com.yizhi.core.application.context.ContextHolder;
import com.yizhi.core.application.context.RequestContext; import com.yizhi.core.application.context.RequestContext;
import com.yizhi.core.application.task.AbstractTaskHandler; import com.yizhi.core.application.task.AbstractTaskHandler;
import com.yizhi.core.application.task.TaskExecutor; import com.yizhi.core.application.task.TaskExecutor;
import com.yizhi.message.application.enums.EvenType; import com.yizhi.message.application.enums.EvenType;
import com.yizhi.message.application.vo.TaskVo; import com.yizhi.message.application.vo.TaskVo;
import com.yizhi.point.application.vo.PointParamVO;
import com.yizhi.point.application.vo.domain.PointActivityVo;
import com.yizhi.util.application.constant.ReturnCode;
import com.yizhi.util.application.domain.Response;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -346,6 +353,63 @@ public class PointListenerController { ...@@ -346,6 +353,63 @@ public class PointListenerController {
return true; return true;
} }
@ApiOperation(value = "新增签到")
@GetMapping(value = "/addPoint")
public boolean addPoint(@RequestParam("code") String code, @RequestParam("sourceId") Long sourceId) {
RequestContext res = ContextHolder.get();
Long accountId = res.getAccountId();
Long siteId = res.getSiteId();
String accountName = res.getAccountName();
Long companyId = res.getCompanyId();
Long orgId = res.getOrgId();
try {
PointActivity pointActivity = new PointActivity();
pointActivity.setCode(code);
pointActivity.setState(2);
EntityWrapper<PointActivity> entityWrapper = new EntityWrapper<PointActivity>();
PointActivity vo = pointActivityService.selectOne(entityWrapper);
if(vo!=null){
try {
PointParamVO pointParamVO = new PointParamVO();
pointParamVO.setEventName(code); //事件名称
pointParamVO.setActivityType(vo.getActivityType()); //事件类型
pointParamVO.setActivitySource("PC"); //学习活动来源
pointParamVO.setActivityName(vo.getActivityName()); //学习活动名称
pointParamVO.setReleaseCondition("指定积分发放"); //发放条件
pointParamVO.setReleaseRules(vo.getActivityType()+"成功"); //发放规则
pointParamVO.setCreatePointTime(new Date()); //积分创建时间
pointParamVO.setSourceId(sourceId); //积分来源ID,(业务ID主键)
pointParamVO.setOperatingPoint(vo.getMultiple()); //积分数量, 正数 加积分, 负数减积分
pointParamVO.setAccountId(accountId); //学员ID
pointParamVO.setAccountName(accountName); //学员名称
pointParamVO.setCompanyId(companyId); //企业ID
pointParamVO.setSiteId(siteId); //站点ID
pointParamVO.setOrgId(orgId); //组织ID
String sitePointId = null;
if (null != vo.getMultiple() && 0 != vo.getMultiple()) {
sitePointId = idGenerator.generate().toString();
pointParamVO.setId(sitePointId);
boolean boo = redisUtils.set(sitePointId, pointParamVO, 10800L);
if(boo){
MqPointParam mqPointParam = new MqPointParam();
BeanUtils.copyProperties(pointParamVO, mqPointParam);
mqPointParam.setState(1);
mqPointParamService.insert(mqPointParam);
}
}
if (null != sitePointId) {
saveHandPoint(sitePointId); //发送积分获取消息
}
} catch (Exception e) {
LOGGER.error("签到打卡积分发放失败:", e);
}
}
return true;
} catch (Exception e) {
LOGGER.error(accountId + "签到打卡业务处理失败!!!" + e);
return false;
}
}
// 处理服务积分 // 处理服务积分
public boolean addHandPoint(String pointId, MqPointParam vo) { public boolean addHandPoint(String pointId, MqPointParam vo) {
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment