Browse Source

单点登陆;未审批统计;活动模板统计

contract
Yen 2 years ago
parent
commit
df911df491
  1. 4
      src/main/java/com/qs/serve/controller/AdminPortalController.java
  2. 14
      src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java
  3. 8
      src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java
  4. 20
      src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java
  5. 2
      src/main/java/com/qs/serve/modules/sys/service/SysUserLoginService.java
  6. 13
      src/main/java/com/qs/serve/modules/sys/service/impl/SysUserLoginServiceImpl.java
  7. 1
      src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java
  8. 28
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java
  9. 93
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  10. 30
      src/main/java/com/qs/serve/modules/third/PortalController.java
  11. 28
      src/main/java/com/qs/serve/modules/third/entity/param/SSOLoginParam.java
  12. 11
      src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java
  13. 22
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  14. 58
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationOperationServiceImpl.java

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

@ -18,12 +18,15 @@ import com.qs.serve.modules.sys.mapper.SysNoticeUserMapper;
import com.qs.serve.modules.sys.service.SysTenantService;
import com.qs.serve.modules.sys.service.SysUserLoginService;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.third.ThirdTokenUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
@ -63,6 +66,7 @@ public class AdminPortalController {
return R.ok(sysUserLoginService.login(param));
}
/**
* 手机登陆
* @return

14
src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java

@ -161,7 +161,7 @@ public interface SeeYonOperationService extends SeeYonBaseService{
Assert.throwEx("当前账号未绑定致远用户信息");
}
param.setMemberId(sysUser.getSyUserId());
param.setTemplateCode(TbsSeeYonConst.CostApplyConf.Code());
param.setTemplateCode(getTemplateCode());
R<PageVo<CtpAffair>> syResult = getRequestService().pageMemberAffair(param);
PageVo<CtpAffair> pageVo = syResult.getData();
List<CtpAffair> ctpAffairs = pageVo.getList();
@ -193,6 +193,18 @@ public interface SeeYonOperationService extends SeeYonBaseService{
*/
default void pageMemberAffair4packageVo(List<CtpAffairVo> result){}
/**
* 获取审批中的统计
* @return
*/
default R<Long> getUnfinished(){
SysUser sysUser = getUserMapper().selectById(AuthContextUtils.getSysUserId());
if(!StringUtils.hasText(sysUser.getSyUserId())||!StringUtils.hasText(sysUser.getSyAccount())){
return getRequestService().getUnfinishedAffair(getTemplateCode(), sysUser.getSyAccount());
}
return R.ok(123456L);
}
/**
* 审批提交
* @param affairCommit

8
src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java

@ -90,4 +90,12 @@ public interface SeeYonRequestService {
R<String> addNode(CtpAddNodeDTO addNodeDTO);
/**
* 未完成审批统计
* @param templateCode
* @param memberId
* @return
*/
R<Long> getUnfinishedAffair(String templateCode,String memberId);
}

20
src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java

@ -17,7 +17,9 @@ import org.jetbrains.annotations.Nullable;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author YenHex
@ -141,7 +143,7 @@ public class SeeYonRequestServiceImpl implements SeeYonRequestService {
}
}
}
log.error("校验OA节点状态 param==>{} \n ==> {}",JsonUtil.objectToJson(param),JsonUtil.objectToJson(result));
log.error(title+" param==>{} \n ==> {}",JsonUtil.objectToJson(param),JsonUtil.objectToJson(result));
return SyAffairState.error;
}
@ -171,4 +173,20 @@ public class SeeYonRequestServiceImpl implements SeeYonRequestService {
return seeYonRequestBaseService.postBase(TbsSeeYonConst.API_ADD_NODE,addNodeDTO,title);
}
@Override
public R<Long> getUnfinishedAffair(String templateCode, String memberId) {
String title = "【获取未审统计】";
Map<String,String> param = new HashMap<>();
param.put("templateCode",templateCode);
param.put("memberId",memberId);
R<String> result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_COUNT_NOT_OK,param,title);
if(result.getStatus()==200){
try {
R.ok(Long.parseLong(result.getData()));
} catch (NumberFormatException e) {
log.error(title+" param==>{} \n ==> {}",JsonUtil.objectToJson(param),JsonUtil.objectToJson(result));
}
}
return R.ok(0L);
}
}

2
src/main/java/com/qs/serve/modules/sys/service/SysUserLoginService.java

@ -19,6 +19,8 @@ public interface SysUserLoginService {
*/
Map<String,Object> login(SysLoginParam loginParam);
Map<String,Object> login(String loginCode);
/**
* 手机登陆
* @param loginParam

13
src/main/java/com/qs/serve/modules/sys/service/impl/SysUserLoginServiceImpl.java

@ -58,6 +58,15 @@ public class SysUserLoginServiceImpl implements SysUserLoginService {
return buildResultMap(userDetails, loginParam.getLoginType(), loginParam.getYmToken());
}
@Override
public Map<String, Object> login(String loginCode) {
UserDetails userDetails = userDetailsService.loadUserByUsername(loginCode);
if(userDetails == null){
throw new BadCredentialsException("账号不正确或未被收录");
}
return buildResultMap(userDetails, "sso", null);
}
@Override
public Map<String, Object> login(SysLoginByPhoneParam loginParam) {
String key = RedisCacheKeys.PHONE_KEY+loginParam.getPhone();
@ -92,10 +101,10 @@ public class SysUserLoginServiceImpl implements SysUserLoginService {
}else if("ios".equalsIgnoreCase(loginType)){
appClient = "ios";
}
if(appClient!=null&&StringUtils.isNotEmpty(ymToken)){
/*if(appClient!=null&&StringUtils.isNotEmpty(ymToken)){
sysUserMapper.clearYmToken(ymToken);
sysUserMapper.updateYmTokenInt(loginUser.getUserId(),ymToken,appClient);
}
}*/
String client = appClient==null?"pc":"app";
String redisKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_APP,client,loginUser.getUserId());
//更新管理员最后登录时间

1
src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java

@ -44,6 +44,7 @@ public interface TbsSeeYonConst {
String API_CHECK_AFFAIR = "/process/checkAffair";
String API_LIST_AFFAIR = "/process/listFormAffair";
String API_ADD_NODE = "/process/addNode";
String API_COUNT_NOT_OK = "/process/countUnfinished";
String XLT_SAVE_CHECK = "/xlt/saveCheck";
String XLT_SAVE_PAYMENT = "/xlt/savePayment";

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

@ -15,6 +15,7 @@ import com.qs.serve.modules.tbs.service.TbsActivityTemplateLogService;
import com.qs.serve.modules.tbs.service.TbsActivityTemplateRegionService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@ -202,11 +203,30 @@ public class TbsActivityTemplateController {
}
/**
* 获取当前用户的模板
* 获取当前用户的模板列表 LIST
* @return
*/
@GetMapping("/listMyTemplate")
public R<PageVo<TbsActivityTemplate>> listMyTemplate(String templateName){
LambdaQueryWrapper<TbsActivityTemplate> tmpLqw = buildMyTempQueryWrapper(templateName);
PageUtil.startPage();
List<TbsActivityTemplate> templates = tbsActivityTemplateService.list(tmpLqw);
return R.byPageHelperList(templates);
}
/**
* 获取当前用户的模板统计 COUNT
* @return
*/
@GetMapping("/countMyTemplate")
public R<Long> countMyTemplate(String templateName){
LambdaQueryWrapper<TbsActivityTemplate> tmpLqw = buildMyTempQueryWrapper(templateName);
Long count = tbsActivityTemplateService.count(tmpLqw);
return R.ok(count);
}
@NotNull
private LambdaQueryWrapper<TbsActivityTemplate> buildMyTempQueryWrapper(String templateName) {
String userId = AuthContextUtils.getSysUserId();
LambdaQueryWrapper<BmsRegionUser> regionUseLqw = new LambdaQueryWrapper<>();
regionUseLqw.eq(BmsRegionUser::getUserId,userId);
@ -250,11 +270,9 @@ public class TbsActivityTemplateController {
});
});
if(StringUtils.hasText(templateName)){
tmpLqw.like(TbsActivityTemplate::getTemplateName,templateName);
tmpLqw.like(TbsActivityTemplate::getTemplateName, templateName);
}
PageUtil.startPage();
List<TbsActivityTemplate> templates = tbsActivityTemplateService.list(tmpLqw);
return R.byPageHelperList(templates);
return tmpLqw;
}
}

93
src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java

@ -356,90 +356,6 @@ public class TbsCostApplyController {
return tbsCostApplyOperationServiceImpl.commitAffair(affairCommit);
}
/**
* 提交审批节点
* @return
*/
//@PostMapping("/commitAffair")
// @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.DELETE)
// @PreAuthorize("hasRole('tbs:costApply:commit')")
// public R<?> commitAffair_old(@RequestBody @Valid TbsAffairCommitBo affairCommit){
// seeYonService.testConnection();
// TbsCostApply costApply = tbsCostApplyService.getById(affairCommit.getCostApplyId());
// if(!costApply.getChargeState().equals(TbsCostApplyState.State_1_apply.getCode())){
// return R.error("费用申请处于未非审批状态!");
// }
// R<String> result = seeYonService.commonCommit(affairCommit,TbsSeeYonConst.CostApplyConf.Code(),costApply.getSyFormId());
// boolean isBackCommit = affairCommit.getState()==2;
// if(result.getStatus()==200){
// // 判断是否含有下个节点
// String flag = result.getData();
// //审批中(next)、完成(finish)、拒绝(refused)
// if("finish".equals(flag)){
// TbsCostApply apply = new TbsCostApply();
// apply.setId(costApply.getId());
// apply.setChargeState(TbsCostApplyState.State_2_actioning.getCode());
// tbsCostApplyService.updateById(apply);
// //更新活动通过时间
// TbsActivity tbsActivity = new TbsActivity();
// tbsActivity.setCostPassTime(LocalDateTime.now());
// tbsActivity.setCostPassFlag(1);
// LambdaQueryWrapper<TbsActivity> actLqw = new LambdaQueryWrapper<>();
// actLqw.eq(TbsActivity::getCostApplyId,costApply.getId());
// tbsActivityService.update(tbsActivity,actLqw);
// return R.ok();
// }else if ("stop".equals(flag)){
// if(isBackCommit){
// TbsCostApply apply = new TbsCostApply();
// apply.setId(costApply.getId());
// apply.setChargeState(TbsCostApplyState.State_4_refused.getCode());
// tbsCostApplyService.updateById(apply);
// LambdaQueryWrapper<TbsBudgetLog> logLqw = new LambdaQueryWrapper<>();
// logLqw.select(TbsBudgetLog::getId);
// logLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId());
// logLqw.eq(TbsBudgetLog::getRollbackFlag, BudgetLogRollbackFlag.State_0);
// List<TbsBudgetLog> budgetLogList = tbsBudgetLogService.list(logLqw);
// budgetLogList.forEach(a->a.setRollbackFlag(BudgetLogRollbackFlag.State_1));
// tbsBudgetLogService.updateBatchById(budgetLogList);
// return R.ok();
// }else {
// TbsCostApply apply = new TbsCostApply();
// apply.setId(costApply.getId());
// apply.setChargeState(TbsCostApplyState.State_5_stop.getCode());
// tbsCostApplyService.updateById(apply);
// tbsCostApplyService.releaseCost(costApply.getId(), 1);
// //移除日志
// LambdaQueryWrapper<TbsBudgetLog> logLqw = new LambdaQueryWrapper<>();
// logLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId());
// List<TbsBudgetLog> oldLogList = tbsBudgetLogService.list(logLqw);
// List<TbsBudgetLog> oldLogList4Upd = oldLogList.stream().map(a->{
// TbsBudgetLog budgetLog = new TbsBudgetLog();
// budgetLog.setId(a.getId());
// budgetLog.setRollbackFlag(BudgetLogRollbackFlag.State_3);
// return budgetLog;
// }).collect(Collectors.toList());
// tbsBudgetLogService.updateBatchById(oldLogList4Upd);
// for (TbsBudgetLog budgetLog : oldLogList) {
// budgetLog.setCreateBy(null);
// budgetLog.setCreateTime(null);
// budgetLog.setUpdateBy(null);
// budgetLog.setUpdateTime(null);
// budgetLog.setId(null);
// budgetLog.setAmount(budgetLog.getAmount().negate());
// budgetLog.setOptType(BudgetLogOptFlag.State_5);
// }
// tbsBudgetLogService.saveBatch(oldLogList);
// return R.ok();
// }
// }else if ("next".equals(flag)){
// return R.ok();
// }
// }else if (result.getStatus()==500){
// return result;
// }
// return R.error("远程调用失败");
// }
/**
* 补偿接口
* @param param
@ -474,5 +390,14 @@ public class TbsCostApplyController {
return tbsCostApplyOperationServiceImpl.addNode(param);
}
/**
* 获取未完成审批统计(个人)
* @return
*/
@PostMapping("/getAffairUnfinished")
public R<Long> getUnfinished(){
return tbsCostApplyOperationServiceImpl.getUnfinished();
}
}

30
src/main/java/com/qs/serve/modules/third/PortalController.java

@ -3,16 +3,24 @@ package com.qs.serve.modules.third;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.JsonArray;
import com.qs.serve.common.model.annotation.LimitSubmit;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.util.JsonUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.seeyon.service.XiaoLuTonService;
import com.qs.serve.modules.sys.service.SysUserLoginService;
import com.qs.serve.modules.third.entity.AptPolicyPayment;
import com.qs.serve.modules.third.entity.param.SSOLoginParam;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
/**
* 第三方接口核销系统
@ -25,7 +33,27 @@ import javax.servlet.http.HttpServletRequest;
@RequestMapping("thirty/")
public class PortalController {
private XiaoLuTonService xiaoLuTonService;
private SysUserLoginService sysUserLoginService;
/**
* 单点登录
* @return
*/
@LimitSubmit
@SysLog(title = "人员",desc = "单点登陆",biz = BizType.LOGIN)
@PostMapping("/ssoLogin")
public R<?> ssoLogin(SSOLoginParam ssoLoginParam, HttpServletRequest request){
ThirdTokenUtil.checkToken(request);
String host = "https://crm.gdjsl.com";
if(StringUtils.hasText(ssoLoginParam.getRewriteHost())){
host = ssoLoginParam.getRewriteHost();
}
Map<String,Object> result = sysUserLoginService.login(ssoLoginParam.getEmpCode());
String token = (String) result.get("token");
String jumpTo = StringUtils.hasText(ssoLoginParam.getJumpTo())?ssoLoginParam.getJumpTo():"";
String url = host + "/#/jump?code=001&token="+token+"&jumpTo="+jumpTo;
return R.ok(url);
}
/**
* 测试连通性

28
src/main/java/com/qs/serve/modules/third/entity/param/SSOLoginParam.java

@ -0,0 +1,28 @@
package com.qs.serve.modules.third.entity.param;
import lombok.Data;
/**
* @author YenHex
* @since 2023/5/26
*/
@Data
public class SSOLoginParam {
/**
* 员工号
*/
String empCode;
/**
* 支持重写host
* 默认rewriteHost = https://crm.gdjsl.com
*/
String rewriteHost;
/**
* 跳转地址
*/
String jumpTo;
}

11
src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java

@ -382,5 +382,16 @@ public class TzcPolicyController {
return tzcPolicyOperationService.addNode(param);
}
/**
* 获取未完成审批统计(个人)
* @return
*/
@PostMapping("/getAffairUnfinished")
public R<Long> getUnfinished(){
return tzcPolicyOperationService.getUnfinished();
}
}

22
src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java

@ -24,6 +24,7 @@ import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo;
import com.qs.serve.modules.tbs.service.TbsActivitySubjectService;
import com.qs.serve.modules.vtb.entity.*;
import com.qs.serve.modules.vtb.service.*;
import com.qs.serve.modules.vtb.service.impl.VtbVerificationOperationServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
@ -58,7 +59,7 @@ public class VtbVerificationController {
private VtbVerificationApplication verificationApplication;
private VtbVerificationYardService verificationYardService;
private VtbVerificationYardItemService vtbVerificationYardItemService;
private VtbVerificationOperationServiceImpl vtbVerificationOperationService;
/**
* 翻页
@ -229,13 +230,20 @@ public class VtbVerificationController {
* @param param
* @return
*/
// @PostMapping("/addNode")
// @SysLog(module = SystemModule.Verification, title = "核销加签", biz = BizType.OTHER)
// public R<String> addNode(@RequestBody CtpAddNodeParam param){
// seeYonService.testConnection();
// return verificationApplication.commitAffair(param);
// }
@PostMapping("/addNode")
@SysLog(module = SystemModule.Verification, title = "核销加签", biz = BizType.OTHER)
public R<String> addNode(@RequestBody CtpAddNodeParam param){
return vtbVerificationOperationService.addNode(param);
}
/**
* 获取未完成统计
* @return
*/
@PostMapping("/getAffairUnfinished")
public R<Long> getUnfinished(){
return vtbVerificationOperationService.getUnfinished();
}
}

58
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationOperationServiceImpl.java

@ -0,0 +1,58 @@
package com.qs.serve.modules.vtb.service.impl;
import com.qs.serve.modules.seeyon.service.SeeYonOperationService;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
import com.qs.serve.modules.vtb.entity.VtbVerification;
import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author YenHex
* @since 2023/5/26
*/
@Slf4j
@Service
@AllArgsConstructor
public class VtbVerificationOperationServiceImpl implements SeeYonOperationService {
private VtbVerificationMapper vtbVerificationMapper;
@Override
public String getTemplateCode() {
return TbsSeeYonConst.CostCheckConf.Code();
}
@Override
public String getTargetId(TbsAffairCommitBo affairCommit) {
return affairCommit.getCostApplyId()+"";
}
@Override
public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) {
VtbVerification verification = vtbVerificationMapper.selectById(affairCommit.getCostApplyId());
return null;
}
@Override
public Object doBacked(TbsAffairCommitBo param) {
return null;
}
@Override
public Object doFinished(TbsAffairCommitBo param) {
return null;
}
@Override
public Object doRefuse(TbsAffairCommitBo param) {
return null;
}
@Override
public Object doNext(TbsAffairCommitBo param) {
return null;
}
}
Loading…
Cancel
Save