Browse Source

feat:对接OA补偿触发接口

fix: 修复活动模板因时间格式错误导致状态更新失效
checkBack
Yen 1 year ago
parent
commit
0a49786711
  1. 13
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java
  2. 2
      src/main/java/com/qs/serve/modules/tbs/service/TbsActivityTemplateService.java
  3. 35
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityTemplateServiceImpl.java
  4. 10
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java
  5. 11
      src/main/java/com/qs/serve/task/BmsTask.java
  6. 22
      src/main/java/com/qs/serve/task/TbsTask.java
  7. 1
      src/main/resources/mapper/tbs/TbsCostApplyMapper.xml

13
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java

@ -60,6 +60,7 @@ public class TbsActivityTemplateController {
public R<List<TbsActivityTemplate>> getList(TbsActivityTemplateSo param){
TbsActivityTemplate entity = CopierUtil.copy(param,new TbsActivityTemplate());
LambdaQueryWrapper<TbsActivityTemplate> lqw = new LambdaQueryWrapper<>(entity);
lqw.orderByDesc(TbsActivityTemplate::getTemplateState);
PageUtil.startPage();
List<TbsActivityTemplate> list = tbsActivityTemplateService.list(lqw);
return R.ok(list);
@ -138,6 +139,18 @@ public class TbsActivityTemplateController {
return R.ok(template);
}
/**
* 更新状态
* @return
*/
@PostMapping("/updateState2")
@SysLog(module = SystemModule.Budget, title = "活动模板", biz = BizType.UPDATE)
@PreAuthorize("hasRole('tbs:activityTemplate:update')")
public R<?> updateState(){
tbsActivityTemplateService.updateState();
return R.ok();
}
/**
* 新增
* @param param

2
src/main/java/com/qs/serve/modules/tbs/service/TbsActivityTemplateService.java

@ -13,5 +13,7 @@ public interface TbsActivityTemplateService extends IService<TbsActivityTemplate
TbsActivityTemplate modify(TbsActivityTemplateBo templateBo);
void updateState();
}

35
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityTemplateServiceImpl.java

@ -25,6 +25,7 @@ import com.qs.serve.modules.tbs.service.TbsActivityTemplateService;
import com.qs.serve.modules.tbs.mapper.TbsActivityTemplateMapper;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@ -106,8 +107,42 @@ public class TbsActivityTemplateServiceImpl extends ServiceImpl<TbsActivityTempl
templateRegionService.saveBatch(templateRegionList);
}
}
this.updateState();
return template;
}
@Override
public void updateState() {
AuthContextUtils.setTenant("001");
LocalDateTime nowTime = LocalDateTime.now();
LambdaQueryWrapper<TbsActivityTemplate> lqw = new LambdaQueryWrapper<>();
lqw.select(TbsActivityTemplate::getId);
lqw.le(TbsActivityTemplate::getStartTime,nowTime);
lqw.and(qw->
qw.ge(TbsActivityTemplate::getEndTime,nowTime)
.or()
.isNull(TbsActivityTemplate::getEndTime)
);
lqw.eq(TbsActivityTemplate::getTemplateState,0);
List<TbsActivityTemplate> preStartList = this.list(lqw);
if(CollectionUtil.isNotEmpty(preStartList)){
preStartList.forEach(a->a.setTemplateState(1));
this.updateBatchById(preStartList);
}
LambdaQueryWrapper<TbsActivityTemplate> lqw2 = new LambdaQueryWrapper<>();
lqw2.select(TbsActivityTemplate::getId);
lqw2.and(a->
a.ge(TbsActivityTemplate::getStartTime,nowTime)
.or()
.le(TbsActivityTemplate::getEndTime,nowTime)
);
lqw2.eq(TbsActivityTemplate::getTemplateState,1);
List<TbsActivityTemplate> preCloseList = this.list(lqw2);
if(CollectionUtil.isNotEmpty(preCloseList)){
preCloseList.forEach(a->a.setTemplateState(0));
this.updateBatchById(preCloseList);
}
}
}

10
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java

@ -43,6 +43,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
import java.util.stream.Collectors;
@ -218,6 +219,15 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService
for (CtpAffair ctpAffair : ctpAffairs) {
CtpAffairVo ctpAffairVo = new CtpAffairVo();
ctpAffairVo.setAffairInfo(ctpAffair);
//2已发
if(ctpAffair!=null&&ctpAffair.getState().equals(2)){
String costId = ctpAffair.getCostApplyId();
if(costId!=null){
TbsCostApply costApply1 = costApplyService.getById(costId);
Date date = Date.from(costApply1.getSubmitTime().atZone(ZoneId.systemDefault()).toInstant());
ctpAffair.setCommentTime(date);
}
}
for (SysUser user : userList) {
if(ctpAffair.getMemberId().equals(user.getSyUserId())){
ctpAffairVo.setUserInfo(user.toSysUserVo());

11
src/main/java/com/qs/serve/task/BmsTask.java

@ -3,6 +3,7 @@ package com.qs.serve.task;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.modules.bms.controller.BmsRegion2Controller;
import com.qs.serve.modules.bms.controller.BmsRegionController;
import com.qs.serve.modules.tbs.service.TbsActivityTemplateService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@ -21,6 +22,7 @@ public class BmsTask {
private final BmsRegion2Controller bmsRegion2Controller;
private final BmsRegionController bmsRegionController;
private final TbsActivityTemplateService tbsActivityTemplateService;
/**
* 更新树路径
@ -31,7 +33,16 @@ public class BmsTask {
bmsRegionController.updateLevel();
bmsRegion2Controller.updateLevel();
//更新客户的关联区域的列
tbsActivityTemplateService.updateState();
}
/**
* 5分钟执行一次
*/
@Scheduled(cron="0 0/5 * * * ?")
public void updateActTmpState(){
AuthContextUtils.setTenant("001");
tbsActivityTemplateService.updateState();
}
}

22
src/main/java/com/qs/serve/task/TbsTask.java

@ -84,29 +84,7 @@ public class TbsTask {
//启用和停用模板规则
@Scheduled(cron="0 0 1 * * ?")
public void task2(){
AuthContextUtils.setTenant("001");
LocalDateTime nowTime = LocalDateTime.now();
LambdaQueryWrapper<TbsActivityTemplate> lqw = new LambdaQueryWrapper<>();
lqw.select(TbsActivityTemplate::getId);
lqw.ge(TbsActivityTemplate::getStartTime,nowTime.with(LocalDateTime.MIN));
lqw.le(TbsActivityTemplate::getStartTime,nowTime.with(LocalDateTime.MAX));
lqw.eq(TbsActivityTemplate::getTemplateState,0);
List<TbsActivityTemplate> preStartList = activityTemplateService.list(lqw);
if(CollectionUtil.isNotEmpty(preStartList)){
preStartList.forEach(a->a.setTemplateState(1));
activityTemplateService.updateBatchById(preStartList);
}
LambdaQueryWrapper<TbsActivityTemplate> lqw2 = new LambdaQueryWrapper<>();
lqw2.select(TbsActivityTemplate::getId);
lqw2.ge(TbsActivityTemplate::getEndTime,nowTime.with(LocalDateTime.MIN));
lqw2.le(TbsActivityTemplate::getEndTime,nowTime.with(LocalDateTime.MAX));
lqw2.eq(TbsActivityTemplate::getTemplateState,1);
List<TbsActivityTemplate> preCloseList = activityTemplateService.list(lqw2);
if(CollectionUtil.isNotEmpty(preCloseList)){
preCloseList.forEach(a->a.setTemplateState(0));
activityTemplateService.updateBatchById(preCloseList);
}
}

1
src/main/resources/mapper/tbs/TbsCostApplyMapper.xml

@ -221,6 +221,7 @@
<if test="query.tenantId != null and query.tenantId != ''"> and `tbs_cost_apply`.`tenant_id` = #{query.tenantId}</if>
<if test="query.createBy != null and query.createBy != ''"> and `tbs_cost_apply`.`create_by` = #{query.createBy}</if>
<if test="query.updateBy != null and query.updateBy != ''"> and `tbs_cost_apply`.`update_by` = #{query.updateBy}</if>
<if test="query.extUserName != null and query.extUserName != ''"> and `tbs_cost_apply`.`ext_user_name` like concat('%', #{query.extUserName},'%')</if>
<if test="query.delFlag != null and query.delFlag != ''"> and `tbs_cost_apply`.`del_flag` = #{query.delFlag}</if>
<if test="query.templateTitle != null and query.templateTitle != ''"> and `tbs_cost_apply`.`template_title` like concat('%', #{query.templateTitle},'%')</if>
</sql>

Loading…
Cancel
Save