Browse Source

fix: bir兼容调整

checkBack
Yen 1 year ago
parent
commit
276e54642b
  1. 13
      src/main/java/com/qs/serve/common/config/properties/AuthUrlConst.java
  2. 2
      src/main/java/com/qs/serve/common/config/properties/ProjectProperties.java
  3. 41
      src/main/java/com/qs/serve/common/framework/security/filter/SecurityRequestFilter.java
  4. 1
      src/main/java/com/qs/serve/common/util/BirHttpUtil.java
  5. 23
      src/main/java/com/qs/serve/controller/AdminPortalController.java
  6. 29
      src/main/java/com/qs/serve/modules/bir/consts/BirActivityCenterGoodsUtil.java
  7. 9
      src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java
  8. 2
      src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java
  9. 2
      src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java
  10. 2
      src/main/java/com/qs/serve/modules/bir/entity/BirBaseActivity.java
  11. 3
      src/main/java/com/qs/serve/modules/bir/mapper/BirRoiRateMapper.java
  12. 5
      src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java
  13. 1
      src/main/java/com/qs/serve/modules/bir/service/impl/BirTbsVtbPayJoinServiceImpl.java
  14. 14
      src/main/java/com/qs/serve/modules/sys/controller/SysAttachController.java
  15. 86
      src/main/java/com/qs/serve/modules/tbs/entity/TbsCostBirLog.java
  16. 14
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostBirLogMapper.java
  17. 4
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  18. 6
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostChangeInfoServiceImpl.java
  19. 2
      src/main/java/com/qs/serve/modules/third/entity/ProcessCreateCostApplyBo.java
  20. 8
      src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java
  21. 2
      src/main/java/com/qs/serve/task/controller/TaskActivityController.java
  22. 8
      src/main/java/com/qs/serve/task/controller/TaskPolicyController.java
  23. 50
      src/main/resources/mapper/bir/BirRoiRateMapper.xml

13
src/main/java/com/qs/serve/common/config/properties/AuthUrlConst.java

@ -0,0 +1,13 @@
package com.qs.serve.common.config.properties;
/**
* @author YenHex
* @since 2024/3/27
*/
public class AuthUrlConst {
public final static String[] AUTH_ALLOW_URL = new String[]{
"bir/"
};
}

2
src/main/java/com/qs/serve/common/config/properties/ProjectProperties.java

@ -16,6 +16,8 @@ import org.springframework.stereotype.Component;
@ConfigurationProperties(prefix = "project") @ConfigurationProperties(prefix = "project")
public class ProjectProperties { public class ProjectProperties {
private String closeAuth;
private String birService; private String birService;
private String birServiceUrl; private String birServiceUrl;

41
src/main/java/com/qs/serve/common/framework/security/filter/SecurityRequestFilter.java

@ -1,7 +1,9 @@
package com.qs.serve.common.framework.security.filter; package com.qs.serve.common.framework.security.filter;
import com.qs.serve.common.config.DevEnvironmentConfig; import com.qs.serve.common.config.DevEnvironmentConfig;
import com.qs.serve.common.config.properties.AuthUrlConst;
import com.qs.serve.common.config.properties.PermitProperties; import com.qs.serve.common.config.properties.PermitProperties;
import com.qs.serve.common.config.properties.ProjectProperties;
import com.qs.serve.common.framework.redis.RedisService; import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.framework.security.model.LoginUser; import com.qs.serve.common.framework.security.model.LoginUser;
import com.qs.serve.common.framework.security.model.LoginUserDTO; import com.qs.serve.common.framework.security.model.LoginUserDTO;
@ -54,6 +56,9 @@ public class SecurityRequestFilter extends OncePerRequestFilter {
@Autowired @Autowired
private RedisService redisService; private RedisService redisService;
@Autowired
private ProjectProperties projectProperties;
@Override @Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws ServletException, IOException { protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws ServletException, IOException {
@ -92,12 +97,20 @@ public class SecurityRequestFilter extends OncePerRequestFilter {
return; return;
} }
} }
if(ignorePermit){ if(projectProperties.getCloseAuth()!=null && projectProperties.getCloseAuth().equals("true")){
//try to doSecurityAuthor for (String allowUrl : AuthUrlConst.AUTH_ALLOW_URL) {
tryDoSecurityAuthor(request, response, chain); if(url.contains(allowUrl)){
chain.doFilter(request,response); doSecurityAuthor(false,request, response, chain);
}
}
}else { }else {
doSecurityAuthor(request, response, chain); if(ignorePermit){
//try to doSecurityAuthor
tryDoSecurityAuthor(request, response, chain);
chain.doFilter(request,response);
}else {
doSecurityAuthor(true,request, response, chain);
}
} }
} }
@ -136,7 +149,7 @@ public class SecurityRequestFilter extends OncePerRequestFilter {
* @throws IOException * @throws IOException
* @throws ServletException * @throws ServletException
*/ */
private void doSecurityAuthor(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { private void doSecurityAuthor(boolean checkRedis,HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
String token = request.getHeader(GySysConst.AUTHORIZATION_PROP); String token = request.getHeader(GySysConst.AUTHORIZATION_PROP);
if(!JwtUtils.verify(token)){ if(!JwtUtils.verify(token)){
HttpResponsePrintUtil.print2(response,401,"身份凭证无效或过期"); HttpResponsePrintUtil.print2(response,401,"身份凭证无效或过期");
@ -144,13 +157,15 @@ public class SecurityRequestFilter extends OncePerRequestFilter {
String userId = JwtUtils.getUserId(token); String userId = JwtUtils.getUserId(token);
String userType = JwtUtils.getUserType(token); String userType = JwtUtils.getUserType(token);
String client = JwtUtils.getClient(token); String client = JwtUtils.getClient(token);
String redisKey = com.qs.serve.common.util.StringUtils.format(RedisCacheKeys.LOGIN_KEY_APP,client,userId); if(checkRedis){
String cacheToken = redisService.getString(redisKey); String redisKey = com.qs.serve.common.util.StringUtils.format(RedisCacheKeys.LOGIN_KEY_APP,client,userId);
if(cacheToken==null){ String cacheToken = redisService.getString(redisKey);
//redisService.remove(redisKey); if(cacheToken==null){
HttpResponsePrintUtil.print2(response,401,"已被系统登出"); //redisService.remove(redisKey);
//return解决:security.access.AccessDeniedException HttpResponsePrintUtil.print2(response,401,"已被系统登出");
return; //return解决:security.access.AccessDeniedException
return;
}
} }
if(SecurityContextHolder.getContext().getAuthentication()==null){ if(SecurityContextHolder.getContext().getAuthentication()==null){
UserDetails userDetails = sysUserService.getLoginUserById(userId); UserDetails userDetails = sysUserService.getLoginUserById(userId);

1
src/main/java/com/qs/serve/common/util/BirHttpUtil.java

@ -83,6 +83,7 @@ public class BirHttpUtil {
url += "&pageNum="+PageUtil.getPageNum(); url += "&pageNum="+PageUtil.getPageNum();
} }
String result = HttpUtil.doGet(url,hearders); String result = HttpUtil.doGet(url,hearders);
log.debug("请求BIR中转URL:{}\n数据返回:{}",url,result);
JSONObject object = JSON.parseObject(result); JSONObject object = JSON.parseObject(result);
Integer status = object.getInteger("status"); Integer status = object.getInteger("status");
String msg = object.getString("msg"); String msg = object.getString("msg");

23
src/main/java/com/qs/serve/controller/AdminPortalController.java

@ -4,12 +4,16 @@ import cn.hutool.crypto.SecureUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.config.properties.ProjectProperties; import com.qs.serve.common.config.properties.ProjectProperties;
import com.qs.serve.common.framework.redis.RedisService; import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.framework.security.model.LoginUserType;
import com.qs.serve.common.model.annotation.LimitSubmit; import com.qs.serve.common.model.annotation.LimitSubmit;
import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.consts.GySysConst;
import com.qs.serve.common.model.consts.RedisCacheKeys; import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.util.IdUtil; import com.qs.serve.common.util.IdUtil;
import com.qs.serve.common.util.JwtUtils;
import com.qs.serve.common.util.ServletUtils;
import com.qs.serve.common.util.StringUtils; import com.qs.serve.common.util.StringUtils;
import com.qs.serve.controller.dto.SyLoginParam; import com.qs.serve.controller.dto.SyLoginParam;
import com.qs.serve.controller.util.SyKeyLoginUtil; import com.qs.serve.controller.util.SyKeyLoginUtil;
@ -43,6 +47,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -180,6 +185,24 @@ public class AdminPortalController {
} }
/**
* 登录接口
* @return
*/
@PostMapping("/flushToken")
public R<?> flushToken(HttpServletRequest request){
String token = request.getHeader(GySysConst.AUTHORIZATION_PROP);
String userId = JwtUtils.getUserId(token);
String client = JwtUtils.getClient(token);
String redisKey = com.qs.serve.common.util.StringUtils.format(RedisCacheKeys.LOGIN_KEY_APP,client,userId);
Map<String,Object> tokenMap = new HashMap<>(10);
String token2 = JwtUtils.generateToken(userId, LoginUserType.SYS_USER,client);
redisService.set(redisKey,token2);
tokenMap.put("token", token2);
tokenMap.put("client",client);
return R.ok(tokenMap);
}
/** /**
* 手机登陆 * 手机登陆
* @return * @return

29
src/main/java/com/qs/serve/modules/bir/consts/BirActivityCenterGoodsUtil.java

@ -3,6 +3,9 @@ package com.qs.serve.modules.bir.consts;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.qs.serve.common.util.SpringUtils; import com.qs.serve.common.util.SpringUtils;
import com.qs.serve.modules.bir.service.BirActivityCenterGoodsService; import com.qs.serve.modules.bir.service.BirActivityCenterGoodsService;
import com.qs.serve.modules.tbs.entity.TbsCostBirLog;
import com.qs.serve.modules.tbs.mapper.TbsCostBirLogMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
import java.util.Arrays; import java.util.Arrays;
@ -12,27 +15,25 @@ import java.util.List;
* @author YenHex * @author YenHex
* @since 2024/3/15 * @since 2024/3/15
*/ */
@Slf4j
public class BirActivityCenterGoodsUtil { public class BirActivityCenterGoodsUtil {
public static void buildBir(Long costId){ public static void buildBir(Long costId){
try { if(costId==null){
if(costId!=null){ return;
BirActivityCenterGoodsService service = SpringUtils.getBean(BirActivityCenterGoodsService.class);
service.rebuildBir(Arrays.asList(costId));
}
} catch (BeansException e) {
e.printStackTrace();
} }
buildBir(Arrays.asList(costId));
} }
public static void buildBir(List<Long> costIds){ public static void buildBir(List<Long> costIds){
try { if(CollUtil.isEmpty(costIds)){
if(CollUtil.isNotEmpty(costIds)){ return;
BirActivityCenterGoodsService service = SpringUtils.getBean(BirActivityCenterGoodsService.class); }
service.rebuildBir(costIds); for (Long costId : costIds) {
} TbsCostBirLogMapper birLogMapper = SpringUtils.getBean(TbsCostBirLogMapper.class);
} catch (BeansException e) { TbsCostBirLog birLog = new TbsCostBirLog();
e.printStackTrace(); birLog.setId(costId);
birLogMapper.insert(birLog);
} }
} }

9
src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java

@ -77,18 +77,13 @@ public class BirActivityCenterGoodsController {
@GetMapping("/toSyncDev") @GetMapping("/toSyncDev")
public R<?> syncBir(Integer idType){ public R<?> syncBir(Integer idType){
LambdaQueryWrapper<TbsCostApply> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsCostApply> lqw = new LambdaQueryWrapper<>();
// int start = (idType-1)*50000; lqw.notIn(TbsCostApply::getChargeState,0)
// int end = start + 50000;
// lqw.between(TbsCostApply::getId,start,end);
lqw.notIn(TbsCostApply::getChargeState,0,6,5,8)
.select(TbsCostApply::getId) .select(TbsCostApply::getId)
.eq(TbsCostApply::getCancelFlag,0) .eq(TbsCostApply::getCancelFlag,0)
.eq(TbsCostApply::getTmpState,0) .eq(TbsCostApply::getTmpState,0)
.gt(TbsCostApply::getTotalActivity,0) .gt(TbsCostApply::getTotalActivity,0)
//.notIn(TbsCostApply::getId,21452,21598,23104,23148) .ge(TbsCostApply::getSubmitTime, LocalDate.of(2024,1,1).atStartOfDay())
.ge(TbsCostApply::getSubmitTime, LocalDate.of(2021,1,1).atStartOfDay())
.last(" limit 100"); .last(" limit 100");
boolean ex = extracted(lqw); boolean ex = extracted(lqw);
while (!ex){ while (!ex){
ex = extracted(lqw); ex = extracted(lqw);

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

@ -12,7 +12,6 @@ import com.qs.serve.common.util.*;
import com.qs.serve.modules.bir.entity.BirBaseActivity; import com.qs.serve.modules.bir.entity.BirBaseActivity;
import com.qs.serve.modules.bir.entity.so.BirCostRoiSo; import com.qs.serve.modules.bir.entity.so.BirCostRoiSo;
import com.qs.serve.modules.bir.entity.vo.*; import com.qs.serve.modules.bir.entity.vo.*;
import com.qs.serve.modules.bir.mapper.BirBaseActivityMapper;
import com.qs.serve.modules.bir.service.*; import com.qs.serve.modules.bir.service.*;
import com.qs.serve.modules.sys.entity.SysDictData; import com.qs.serve.modules.sys.entity.SysDictData;
import com.qs.serve.modules.sys.service.SysDictDataService; import com.qs.serve.modules.sys.service.SysDictDataService;
@ -54,7 +53,6 @@ public class BirRoiRateController {
private BirCenterRateService birCenterRateService; private BirCenterRateService birCenterRateService;
private SysDictDataService sysDictDataService; private SysDictDataService sysDictDataService;
private TbsCostApplyService costApplyService; private TbsCostApplyService costApplyService;
private BirBaseActivityMapper birBaseActivityMapper;
private TbsActivityMapper tbsActivityMapper; private TbsActivityMapper tbsActivityMapper;
private BirBaseActivityService birBaseActivityService; private BirBaseActivityService birBaseActivityService;

2
src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java

@ -23,7 +23,7 @@ import javax.validation.constraints.NotBlank;
* @since 2023-07-07 * @since 2023-07-07
*/ */
@Data @Data
@TableName("bir_activity_center_goods_qs") @TableName("bir_activity_center_goods")
public class BirActivityCenterGoods implements Serializable { public class BirActivityCenterGoods implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

2
src/main/java/com/qs/serve/modules/bir/entity/BirBaseActivity.java

@ -22,7 +22,7 @@ import javax.validation.constraints.NotBlank;
* @since 2023-06-05 * @since 2023-06-05
*/ */
@Data @Data
@TableName("bir_base_activity_qs") @TableName("bir_base_activity")
public class BirBaseActivity implements Serializable { public class BirBaseActivity implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

3
src/main/java/com/qs/serve/modules/bir/mapper/BirRoiRateMapper.java

@ -1,7 +1,9 @@
package com.qs.serve.modules.bir.mapper; package com.qs.serve.modules.bir.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.common.model.consts.DSName;
import com.qs.serve.modules.bir.entity.BirRoiRate; import com.qs.serve.modules.bir.entity.BirRoiRate;
import com.qs.serve.modules.bir.entity.dto.BirRoiCostDTO; import com.qs.serve.modules.bir.entity.dto.BirRoiCostDTO;
import com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo; import com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo;
@ -15,6 +17,7 @@ import java.util.List;
* @author YenHex * @author YenHex
* @date 2023-06-05 * @date 2023-06-05
*/ */
@DS(DSName.QiSheng)
public interface BirRoiRateMapper extends BaseMapper<BirRoiRate> { public interface BirRoiRateMapper extends BaseMapper<BirRoiRate> {

5
src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java

@ -13,12 +13,7 @@ import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.bir.entity.BirBaseActivity; import com.qs.serve.modules.bir.entity.BirBaseActivity;
import com.qs.serve.modules.bir.entity.BirRemoveId; import com.qs.serve.modules.bir.entity.BirRemoveId;
import com.qs.serve.modules.bir.entity.dto.BirCenterGoodSplitDTO; import com.qs.serve.modules.bir.entity.dto.BirCenterGoodSplitDTO;
import com.qs.serve.modules.bir.entity.so.BirMonthCusCenterSo;
import com.qs.serve.modules.bir.entity.vo.BirActivityCenterGoodsMonthVo;
import com.qs.serve.modules.bir.mapper.BirBaseActivityMapper;
import com.qs.serve.modules.bir.mapper.BirRemoveIdMapper;
import com.qs.serve.modules.bir.service.BirBaseActivityService; import com.qs.serve.modules.bir.service.BirBaseActivityService;
import com.qs.serve.modules.bir.service.BirRemoveIdService;
import com.qs.serve.modules.bms.entity.BmsCostCenter; import com.qs.serve.modules.bms.entity.BmsCostCenter;
import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion;
import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.BmsRegion2;

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

@ -12,7 +12,6 @@ import com.qs.serve.modules.bir.entity.dto.BirPayJoinDTO;
import com.qs.serve.modules.bir.entity.dto.BirTbsVtbPayJoinDTO; import com.qs.serve.modules.bir.entity.dto.BirTbsVtbPayJoinDTO;
import com.qs.serve.modules.bir.entity.dto.BirVtbPayJoinDTO; import com.qs.serve.modules.bir.entity.dto.BirVtbPayJoinDTO;
import com.qs.serve.modules.bir.entity.so.BirTbsVtbPayJoinSo; import com.qs.serve.modules.bir.entity.so.BirTbsVtbPayJoinSo;
import com.qs.serve.modules.bir.mapper.BirBaseActivityMapper;
import com.qs.serve.modules.bir.mapper.BirTbsVtbPayJoinMapper; import com.qs.serve.modules.bir.mapper.BirTbsVtbPayJoinMapper;
import com.qs.serve.modules.bir.service.BirBaseActivityService; import com.qs.serve.modules.bir.service.BirBaseActivityService;
import com.qs.serve.modules.bir.service.BirTbsVtbPayJoinService; import com.qs.serve.modules.bir.service.BirTbsVtbPayJoinService;

14
src/main/java/com/qs/serve/modules/sys/controller/SysAttachController.java

@ -25,6 +25,7 @@ import javax.validation.Valid;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
@ -112,6 +113,19 @@ public class SysAttachController {
return R.ok(sysattach); return R.ok(sysattach);
} }
/**
* 根据ID查询
* @param ids
* @return
*/
@GetMapping("/listByIds/{ids}")
@SysLog(title = "附件",biz = BizType.QUERY)
public R<List<SysAttach>> listByIds(@PathVariable("ids") String ids){
String[] idStrs = ids.split(",");
List<SysAttach> sysattach = sysAttachService.listByIds(Arrays.asList(idStrs));
return R.ok(sysattach);
}
/** /**
* 翻页查询 * 翻页查询
* @param param * @param param

86
src/main/java/com/qs/serve/modules/tbs/entity/TbsCostBirLog.java

@ -0,0 +1,86 @@
package com.qs.serve.modules.tbs.entity;
import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* 实体类
* @author YenHex
* @since 2024-03-27
*/
@Data
@TableName("tbs_cost_bir_log")
public class TbsCostBirLog implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** 费用id */
private Long costId;
/** 0-未处理;1-已处理 */
private Integer status;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 最后更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 租户id */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
public static TbsCostBirLog toNewObject(TbsCostBirLog source){
TbsCostBirLog costBirLog = new TbsCostBirLog();
costBirLog.setId(source.getId());
costBirLog.setCostId(source.getCostId());
costBirLog.setStatus(source.getStatus());
costBirLog.setCreateTime(source.getCreateTime());
costBirLog.setUpdateTime(source.getUpdateTime());
costBirLog.setTenantId(source.getTenantId());
costBirLog.setDelFlag(source.getDelFlag());
costBirLog.setCreateBy(source.getCreateBy());
costBirLog.setUpdateBy(source.getUpdateBy());
return costBirLog;
}
}

14
src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostBirLogMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.tbs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.tbs.entity.TbsCostBirLog;
/**
* Mapper
* @author YenHex
* @date 2024-03-27
*/
public interface TbsCostBirLogMapper extends BaseMapper<TbsCostBirLog> {
}

4
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -22,8 +22,6 @@ import com.qs.serve.modules.bir.entity.BirBaseActivity;
import com.qs.serve.modules.bir.entity.dto.BirRoiCostDTO; import com.qs.serve.modules.bir.entity.dto.BirRoiCostDTO;
import com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo; import com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo;
import com.qs.serve.modules.bir.entity.vo.YtdQtdToOAVo; import com.qs.serve.modules.bir.entity.vo.YtdQtdToOAVo;
import com.qs.serve.modules.bir.mapper.BirActivityCenterGoodsMapper;
import com.qs.serve.modules.bir.mapper.BirBaseActivityMapper;
import com.qs.serve.modules.bir.mapper.BirRoiRateMapper; import com.qs.serve.modules.bir.mapper.BirRoiRateMapper;
import com.qs.serve.modules.bir.service.BirCenterRateService; import com.qs.serve.modules.bir.service.BirCenterRateService;
import com.qs.serve.modules.bir.service.BirRoiRateService; import com.qs.serve.modules.bir.service.BirRoiRateService;
@ -116,8 +114,6 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
private BirRoiRateService birRoiRateService; private BirRoiRateService birRoiRateService;
private BirCenterRateService centerRateService; private BirCenterRateService centerRateService;
private BirActivityCenterGoodsMapper birActivityCenterGoodsMapper;
private BirBaseActivityMapper birBaseActivityMapper;
private BirRoiRateMapper birRoiRateMapper; private BirRoiRateMapper birRoiRateMapper;
private final ErpDispatchDataMapper dispatchDataMapper; private final ErpDispatchDataMapper dispatchDataMapper;
private TbsScheduleItemMapper tbsScheduleItemMapper; private TbsScheduleItemMapper tbsScheduleItemMapper;

6
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostChangeInfoServiceImpl.java

@ -2,12 +2,6 @@ package com.qs.serve.modules.tbs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.config.properties.ProjectProperties;
import com.qs.serve.modules.bir.mapper.BirActivityCenterGoodsMapper;
import com.qs.serve.modules.bir.mapper.BirBaseActivityMapper;
import com.qs.serve.modules.bir.mapper.BirRoiRateMapper;
import com.qs.serve.modules.bir.service.BirCenterRateService;
import com.qs.serve.modules.bir.service.BirRoiRateService;
import com.qs.serve.modules.bms.mapper.BmsRegion2Mapper; import com.qs.serve.modules.bms.mapper.BmsRegion2Mapper;
import com.qs.serve.modules.bms.mapper.BmsRegionMapper; import com.qs.serve.modules.bms.mapper.BmsRegionMapper;
import com.qs.serve.modules.bms.mapper.BmsSupplierTargetMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierTargetMapper;

2
src/main/java/com/qs/serve/modules/third/entity/ProcessCreateCostApplyBo.java

@ -66,4 +66,6 @@ public class ProcessCreateCostApplyBo {
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate endDate; private LocalDate endDate;
private String remark;
} }

8
src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java

@ -621,6 +621,13 @@ public class PortalOfCostApplication {
if(region==null){Assert.throwEx("销售区域不存在,请重新编辑");} if(region==null){Assert.throwEx("销售区域不存在,请重新编辑");}
centerName = region.getName(); centerName = region.getName();
centerId = region.getId(); centerId = region.getId();
}else if (centerCode.contains("customer_")) {
centerType = "customer";
centerCode = centerCode.replace("customer_","");
BmsSupplier supperCenter = supplierService.getByCode(centerCode,null);
if(supperCenter==null){Assert.throwEx("成本中心的客户编码不存在,请重新编辑");}
centerName = supperCenter.getName();
centerId = supperCenter.getId();
}else { }else {
Assert.throwEx("成本中心不存在,请重新编辑"); Assert.throwEx("成本中心不存在,请重新编辑");
} }
@ -712,6 +719,7 @@ public class PortalOfCostApplication {
costApply.setTotalActivityAmount(totalAmount); costApply.setTotalActivityAmount(totalAmount);
costApply.setTotalActivityUsedAmount(totalAmount); costApply.setTotalActivityUsedAmount(totalAmount);
costApply.setSubmitTime(LocalDateTime.now()); costApply.setSubmitTime(LocalDateTime.now());
costApply.setRemark(createBo.getRemark());
//构建活动 //构建活动
TbsActivity activity = new TbsActivity(); TbsActivity activity = new TbsActivity();
activity.setActivityCode(activityCode); activity.setActivityCode(activityCode);

2
src/main/java/com/qs/serve/task/controller/TaskActivityController.java

@ -39,8 +39,6 @@ public class TaskActivityController {
private final TbsActivityService activityService; private final TbsActivityService activityService;
private final TbsActivityTemplateService activityTemplateService; private final TbsActivityTemplateService activityTemplateService;
private final BirBaseActivityService birBaseActivityService;
private final BirActivityCenterGoodsService birActivityCenterGoodsService;
private final SeeYonRequestBaseService seeYonRequestBaseService; private final SeeYonRequestBaseService seeYonRequestBaseService;

8
src/main/java/com/qs/serve/task/controller/TaskPolicyController.java

@ -2,14 +2,6 @@ package com.qs.serve.task.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.dto.R; 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.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;

50
src/main/resources/mapper/bir/BirRoiRateMapper.xml

@ -22,22 +22,22 @@
</resultMap> </resultMap>
<sql id="birRoiRateSql"> <sql id="birRoiRateSql">
bir_roi_rate.`id`, bir_roi_rate.id,
bir_roi_rate.`key_num`, bir_roi_rate.key_num,
bir_roi_rate.`activity_amt`, bir_roi_rate.activity_amt,
bir_roi_rate.`verification_amt`, bir_roi_rate.verification_amt,
bir_roi_rate.`shipment_qty`, bir_roi_rate.shipment_qty,
bir_roi_rate.`shipment_amt`, bir_roi_rate.shipment_amt,
bir_roi_rate.`supplier_id`, bir_roi_rate.supplier_id,
bir_roi_rate.`supplier_code`, bir_roi_rate.supplier_code,
bir_roi_rate.`supplier_name`, bir_roi_rate.supplier_name,
bir_roi_rate.`user_id`, bir_roi_rate.user_id,
bir_roi_rate.`user_code`, bir_roi_rate.user_code,
bir_roi_rate.`user_name`, bir_roi_rate.user_name,
bir_roi_rate.`create_time`, bir_roi_rate.create_time,
bir_roi_rate.`update_time`, bir_roi_rate.update_time,
bir_roi_rate.`tenant_id`, bir_roi_rate.tenant_id,
bir_roi_rate.`del_flag` </sql> bir_roi_rate.del_flag </sql>
<resultMap id="BirRoiCostItemVoMap" type="com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo" > <resultMap id="BirRoiCostItemVoMap" type="com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo" >
<result property="yearMonth" column="year_month"/> <result property="yearMonth" column="year_month"/>
@ -48,13 +48,13 @@
<select id="queryForecastRoiCostItems" resultType="com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo" resultMap="BirRoiCostItemVoMap"> <select id="queryForecastRoiCostItems" resultType="com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo" resultMap="BirRoiCostItemVoMap">
SELECT SELECT
key_num AS `year_month`, key_num AS year_month,
min( start_date ) AS year_month_date, min( start_date ) AS year_month_date,
sum(bir_base_activity.activity_amt) as cost_amt, sum(bir_base_activity.activity_amt) as cost_amt,
sum(bir_base_activity.verification_amt) as check_amt, sum(bir_base_activity.verification_amt) as check_amt,
sum(bir_base_activity.pre_act_quantity) as pre_amt sum(bir_base_activity.pre_act_quantity) as pre_amt
FROM FROM
`bir_base_activity` bir_base_activity
<where> <where>
bir_base_activity.apply_status = 0 bir_base_activity.apply_status = 0
and bir_base_activity.del_flag = '0' and bir_base_activity.del_flag = '0'
@ -81,21 +81,21 @@
</if> </if>
</where> </where>
GROUP BY GROUP BY
`year_month` key_num
ORDER BY ORDER BY
`year_month` desc key_num desc
</select> </select>
<select id="queryRoiCostItems" resultType="com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo" resultMap="BirRoiCostItemVoMap"> <select id="queryRoiCostItems" resultType="com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo" resultMap="BirRoiCostItemVoMap">
SELECT SELECT
key_num AS `year_month`, key_num AS year_month,
min( start_date ) AS year_month_date, min( start_date ) AS year_month_date,
sum(bir_base_activity.activity_amt) as cost_amt, sum(bir_base_activity.activity_amt) as cost_amt,
sum(bir_base_activity.verification_amt) as check_amt, sum(bir_base_activity.verification_amt) as check_amt,
sum(bir_base_activity.pre_act_quantity) as pre_amt sum(bir_base_activity.pre_act_quantity) as pre_amt
FROM FROM
`bir_base_activity` bir_base_activity
<where> <where>
bir_base_activity.apply_status = 1 bir_base_activity.apply_status = 1
and bir_base_activity.del_flag = '0' and bir_base_activity.del_flag = '0'
@ -121,9 +121,9 @@
</if> </if>
</where> </where>
GROUP BY GROUP BY
`year_month` key_num
ORDER BY ORDER BY
`year_month` desc key_num desc
</select> </select>
<select id="querySumAmt" resultType="java.math.BigDecimal" > <select id="querySumAmt" resultType="java.math.BigDecimal" >
@ -136,7 +136,7 @@
ELSE bir_base_activity.activity_amt ELSE bir_base_activity.activity_amt
END AS cost_amt END AS cost_amt
FROM FROM
`bir_base_activity` bir_base_activity
<where> <where>
bir_base_activity.del_flag = '0' bir_base_activity.del_flag = '0'
and bir_base_activity.key_num &gt;= #{query.startMonthNum} and bir_base_activity.key_num &gt;= #{query.startMonthNum}

Loading…
Cancel
Save