Browse Source

整合同步按钮调整

contract
Yen 2 years ago
parent
commit
e6d42c9292
  1. 1
      src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java
  2. 1
      src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java
  3. 2
      src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java
  4. 2
      src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSubjectTreeVo.java
  5. 1
      src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java
  6. 2
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java
  7. 39
      src/main/java/com/qs/serve/task/BitTask.java
  8. 1
      src/main/java/com/qs/serve/task/HisTask.java
  9. 121
      src/main/java/com/qs/serve/task/TaskActivityController.java
  10. 58
      src/main/java/com/qs/serve/task/TaskPolicyController.java
  11. 65
      src/main/java/com/qs/serve/task/TaskSupplierController.java
  12. 45
      src/main/java/com/qs/serve/task/TaskWechatController.java
  13. 12
      src/main/resources/mapper/tbs/TbsCostApplyMapper.xml

1
src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java

@ -41,7 +41,6 @@ public class BirRoiRateController {
* @return
*/
@GetMapping("/test22")
@Scheduled(cron="0 0 1 * * ?")
public R<?> getPage(){
//移除当年所有
int year = 2023;

1
src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java

@ -106,7 +106,6 @@ public class BirRoiRateServiceImpl extends ServiceImpl<BirRoiRateMapper,BirRoiRa
List<String> supplierCodeList = new ArrayList<>();
LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>();
lqw.ne(BmsSupplier::getId,supplierId);
lqw.select(BmsSupplier::getId,BmsSupplier::getCode);
if(loadType.equals(0)){
//0->客户

2
src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java

@ -83,6 +83,8 @@ public class BmsCostCenterController {
List<String> centerIds = masterUsers.stream().map(BmsMasterUser::getTargetId).collect(Collectors.toList());
if(centerIds.size()>0){
LambdaQueryWrapper<BmsCostCenter> centerLambdaQueryWrapper = new LambdaQueryWrapper<>();
centerLambdaQueryWrapper.in(BmsCostCenter::getId,centerIds).or().eq(BmsCostCenter::getVisibleFlag,1);
List<BmsCostCenter> costCenters = bmsCostCenterService.listByIds(centerIds);
Map<Integer,List<BmsCostCenter>> listMap = costCenters.stream().collect(Collectors.groupingBy(BmsCostCenter::getLevel));
List<BmsCostCenter> list1 = listMap.get(1)==null?new ArrayList<>():listMap.get(1);

2
src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSubjectTreeVo.java

@ -45,4 +45,6 @@ public class BmsSubjectTreeVo extends TreeNode {
/** supplierId,编辑客户费用申请时,科目是否可选 */
private Integer apiSelectAble;
/** 是否进场费用 */
private Integer slottingFlag;
}

1
src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java

@ -160,6 +160,7 @@ public class TbsCostApply implements Serializable {
/**
* 逾期结果(拼接非持久化)
* 0=>未逾期1=>已逾期2=>即将逾期
*/
@TableField(exist = false)
LocalDate nowDate;

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

@ -271,7 +271,7 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
slottingFee.setChannelId(channelPoint.getChannelId());
slottingFee.setChannelCode(channelPoint.getChannelCode());
slottingFee.setChannelName(channelPoint.getChannelName());
slottingFee.setPointId(channelPoint.getId());
slottingFee.setPointId(channelPoint.getPointId());
slottingFee.setPointCode(channelPoint.getPointCode());
slottingFee.setPointName(channelPoint.getPointName());
slottingFee.setSubjectId(activitySubject.getSubjectId());

39
src/main/java/com/qs/serve/task/BitTask.java

@ -0,0 +1,39 @@
package com.qs.serve.task;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.modules.bir.entity.BirBaseActivity;
import com.qs.serve.modules.bir.service.BirBaseActivityService;
import com.qs.serve.modules.bir.service.BirRoiRateService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/**
* @author YenHex
* @since 2023/6/26
*/
@Slf4j
@Component
@AllArgsConstructor
@ConditionalOnProperty(value = "project.task", havingValue = "true")
public class BitTask {
private BirBaseActivityService activityService;
@Scheduled(cron="0 0 1 * * ?")
public void buildTempTable(){
//移除当年所有
int year = 2023;
LambdaQueryWrapper<BirBaseActivity> rmLqw = new LambdaQueryWrapper<>();
rmLqw.likeRight(BirBaseActivity::getKeyNum,year);
activityService.remove(rmLqw);
//重新生成记录
for (int i = 0; i < 12; i++) {
activityService.buildReport(year,i+1);
}
}
}

1
src/main/java/com/qs/serve/task/HisTask.java

@ -53,7 +53,6 @@ public class HisTask {
redisService.set(RedisCacheKeys.HIS_UPDATE,0);
log.warn("======================执行同步完成,耗时[ {} 秒]======================",diff);
}
}

121
src/main/java/com/qs/serve/task/TaskActivityController.java

@ -0,0 +1,121 @@
package com.qs.serve.task;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.modules.bir.entity.BirBaseActivity;
import com.qs.serve.modules.bir.service.BirBaseActivityService;
import com.qs.serve.modules.tbs.common.TbsActivityState;
import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplate;
import com.qs.serve.modules.tbs.service.TbsActivityService;
import com.qs.serve.modules.tbs.service.TbsActivityTemplateService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* 同步 活动相关
* @author YenHex
* @since 2023/6/27
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/task/activity")
@ConditionalOnProperty(value = "project.task", havingValue = "true")
public class TaskActivityController {
private final TbsActivityService activityService;
private final TbsActivityTemplateService activityTemplateService;
private final BirBaseActivityService birBaseActivityService;
/**
* 同步费率底表记录
* @param month 月份不指定当前月
* @param year 年份不指定当前年
* @return
*/
@GetMapping("birActivity")
public R task1(Integer year,Integer month){
//移除当年所有
if(year==null){
year = LocalDate.now().getYear();
}
if(month==null){
month = LocalDate.now().getMonthValue();
syncYearMonthActivity(month, year);
}else {
syncYearMonthActivity(month, year);
}
return R.ok();
}
/**
* 每日更新过期的活动过期则进行冻结
* @return
*/
@GetMapping("lockActivity")
public R task2(){
LambdaQueryWrapper<TbsActivity> lqw = new LambdaQueryWrapper<>();
lqw.le(TbsActivity::getPreEndDate, LocalDate.now());
lqw.eq(TbsActivity::getReopenFlag,0);
TbsActivity param = new TbsActivity();
param.setActivityState(TbsActivityState.STATE_1_Baning);
activityService.update(param,lqw);
return R.ok();
}
/**
* 启用和停用模板规则
* @return
*/
@GetMapping("startAndStopActivityTemplates")
public R task3(){
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);
}
return R.ok();
}
private void syncYearMonthActivity(Integer month, Integer year) {
LambdaQueryWrapper<BirBaseActivity> rmLqw = new LambdaQueryWrapper<>();
if (month <10){
rmLqw.eq(BirBaseActivity::getKeyNum, year +"0"+ month);
}else {
rmLqw.eq(BirBaseActivity::getKeyNum, year +""+ month);
}
birBaseActivityService.remove(rmLqw);
birBaseActivityService.buildReport(year, month);
}
}

58
src/main/java/com/qs/serve/task/TaskPolicyController.java

@ -0,0 +1,58 @@
package com.qs.serve.task;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.modules.bir.entity.BirBaseActivity;
import com.qs.serve.modules.bir.service.BirBaseActivityService;
import com.qs.serve.modules.tbs.common.TbsActivityState;
import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.TbsActivityTemplate;
import com.qs.serve.modules.tbs.service.TbsActivityService;
import com.qs.serve.modules.tbs.service.TbsActivityTemplateService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* 同步 政策相关
* @author YenHex
* @since 2023/6/27
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/task/policy")
@ConditionalOnProperty(value = "project.task", havingValue = "true")
public class TaskPolicyController {
//TzcPolicyTask policyTask;
/**
* 根据销路通支付数据和本系统政策匹对并生成本系统核销及支付信息
* @return
*/
@GetMapping("loadXltPayment")
public R syncFromXltPolicyPayment(){
//policyTask.syncFromXltPolicyPayment();
return R.ok();
}
/**
* 同步政策到销路通
* @return
*/
@GetMapping("syncPolicyToXlt")
public R syncPolicyToXlt(){
//policyTask.syncPolicyToXlt();
return R.ok();
}
}

65
src/main/java/com/qs/serve/task/TaskSupplierController.java

@ -0,0 +1,65 @@
package com.qs.serve.task;
import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.modules.his.service.HisUserSupplierTempService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.concurrent.TimeUnit;
/**
* 同步 客户相关
* @author YenHex
* @since 2023/6/27
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/task/supplier")
@ConditionalOnProperty(value = "project.task", havingValue = "true")
public class TaskSupplierController {
RedisService redisService;
HisUserSupplierTempService tempService;
/**
* 通过客户底表
* @return
*/
@GetMapping("syncToTemp")
public R test(){
Integer opt = redisService.getInteger(RedisCacheKeys.HIS_UPDATE);
log.warn("======================执行状态:"+opt+"======================");
//设置默认值
if (opt==null){
redisService.set(RedisCacheKeys.HIS_UPDATE,0);
return R.ok();
}
//忽略状态
if (opt==1){
//执行同步
log.warn("======================执行同步======================");
LocalDateTime s1 = LocalDateTime.now();
//防卡死,加入超时
redisService.set(RedisCacheKeys.HIS_UPDATE,2,1, TimeUnit.HOURS);
tempService.reloadHis();
LocalDateTime s2 = LocalDateTime.now();
long diff = Duration.between(s1, s2).getSeconds();
tempService.selectInfoHis();
redisService.set(RedisCacheKeys.HIS_UPDATE,0);
log.warn("======================执行同步完成,耗时[ {} 秒]======================",diff);
}
return R.ok();
}
}

45
src/main/java/com/qs/serve/task/TaskWechatController.java

@ -0,0 +1,45 @@
package com.qs.serve.task;
import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.modules.his.service.HisUserSupplierTempService;
import com.qs.serve.modules.wx.service.WxUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.concurrent.TimeUnit;
/**
* 同步 微信相关
* @author YenHex
* @since 2023/6/27
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/task/wechat")
@ConditionalOnProperty(value = "project.task", havingValue = "true")
public class TaskWechatController {
private WxUserService wxUserService;
/**
* 同步订阅用户流程
* @return
*/
@GetMapping("syncSubscribe")
public R test(){
wxUserService.syncSubscribe();
return R.ok();
}
}

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

@ -80,22 +80,22 @@
<if test="query!=null">
<if test="query.overdueState!=null and query.overdueState==0">
and `tbs_activity`.`del_flag` = 0
and `tbs_activity`.`activity_state` = 0
and `tbs_activity`.`activity_state` != 2
and `tbs_cost_apply`.`charge_state` = 2
and `tbs_activity`.pre_check_date &gt; #{query.nowDate}
and `tbs_activity`.pre_check_date &gt;= #{query.nowDate}
</if>
<if test="query.overdueState!=null and query.overdueState==1">
and `tbs_activity`.`del_flag` = 0
and `tbs_activity`.`activity_state` = 0
and `tbs_activity`.`activity_state` != 2
and `tbs_cost_apply`.`charge_state` = 2
and `tbs_activity`.pre_check_date &lt;= #{query.nowDate}
and `tbs_activity`.pre_check_date &lt; #{query.nowDate}
</if>
<if test="query.overdueState!=null and query.overdueState==2">
and `tbs_activity`.`del_flag` = 0
and `tbs_activity`.`activity_state` = 0
and `tbs_activity`.`activity_state` != 2
and `tbs_cost_apply`.`charge_state` = 2
and `tbs_activity`.pre_check_date &gt;= #{query.startNowDate}
and `tbs_activity`.pre_check_date &lt; #{query.nowDate}
and `tbs_activity`.pre_check_date &lt;= #{query.nowDate}
</if>
<include refid="baseWhere4CostApply"/>
</if>

Loading…
Cancel
Save