From c29ce426a6ce314bc26a23cd92d226cc01825783 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 26 八月 2024 18:18:27 +0800
Subject: [PATCH] 代码初始化
---
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 15 +
server/system_service/src/main/java/com/doumee/core/model/LoginUserInfo.java | 13
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java | 62 +++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 205 +++++++++++++++++--
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitReasonServiceImpl.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java | 12 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java | 62 ++++-
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 39 +++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/DriverHomeVO.java | 7
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/ApproveDTO.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java | 13 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java | 12 +
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java | 23 +-
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/PlatformBooksApplyDTO.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveTempl.java | 4
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java | 13 +
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java | 19 +
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java | 28 ++
server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java | 1
server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java | 19 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java | 1
25 files changed, 481 insertions(+), 86 deletions(-)
diff --git a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
index 15152c8..1032835 100644
--- a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
+++ b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
@@ -59,6 +59,7 @@
public ApiResponse<String> login (@Validated @RequestBody LoginDTO dto, ServerWebExchange serverWebExchange) {
try {
ServerHttpRequest request = serverWebExchange.getRequest();
+ dto.setCheckCode(true);
LoginUserInfo user = systemLoginService.loginByPasswordNew(dto,request);
String token = jwtTokenUtil.generateToken(user);
return ApiResponse.success(token);
@@ -90,6 +91,24 @@
}
}
+ @PreventRepeat(limit = 10, lockTime = 10000)
+ @ApiOperation("鍙告満鐧诲綍")
+ @PostMapping("/loginDriver")
+ @LoginNoRequired
+ public ApiResponse<String> loginDriver (@Validated @RequestBody LoginDTO dto, ServerWebExchange serverWebExchange) {
+ try {
+ ServerHttpRequest request = serverWebExchange.getRequest();
+ dto.setCheckCode(false);
+ LoginUserInfo user = systemLoginService.driverLogin(dto,request);
+ String token = jwtTokenUtil.generateToken(user);
+ return ApiResponse.success(token);
+ }catch (BusinessException e){
+ return ApiResponse.failed(e.getCode(),e.getMessage());
+ }catch (Exception e){
+ e.printStackTrace();
+ return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
+ }
+ }
/**
* 鍒锋柊JWT浠ょ墝,鐢ㄦ棫鐨勪护鐗屾崲鏂扮殑浠ょ墝
diff --git a/server/system_service/src/main/java/com/doumee/core/model/LoginUserInfo.java b/server/system_service/src/main/java/com/doumee/core/model/LoginUserInfo.java
index 6d84788..907be16 100644
--- a/server/system_service/src/main/java/com/doumee/core/model/LoginUserInfo.java
+++ b/server/system_service/src/main/java/com/doumee/core/model/LoginUserInfo.java
@@ -4,6 +4,7 @@
import com.doumee.dao.system.model.SystemPermission;
import com.doumee.dao.system.model.SystemRole;
import com.doumee.dao.system.model.SystemUser;
+import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;
@@ -59,15 +60,19 @@
loginUserInfo.setCompany(company);
// 璁剧疆瑙掕壊淇℃伅
List<String> rs = new ArrayList<>();
- for (SystemRole role : roles) {
- rs.add(role.getCode());
+ if(CollectionUtils.isNotEmpty(roles)){
+ for (SystemRole role : roles) {
+ rs.add(role.getCode());
+ }
}
loginUserInfo.setSessionId(sessionId);
loginUserInfo.setRoles(rs);
// 璁剧疆鏉冮檺淇℃伅
List<String> pms = new ArrayList<>();
- for (SystemPermission permission : permissions) {
- pms.add(permission.getCode());
+ if(CollectionUtils.isNotEmpty(permissions)){
+ for (SystemPermission permission : permissions) {
+ pms.add(permission.getCode());
+ }
}
loginUserInfo.setPermissions(pms);
return loginUserInfo;
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index f76dfc4..43106c6 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1,14 +1,16 @@
package com.doumee.core.utils;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.doumee.core.model.LoginUserInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import io.swagger.models.auth.In;
import org.apache.batik.util.Platform;
-import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.util.CollectionUtils;
import java.io.IOException;
import java.math.BigDecimal;
@@ -152,6 +154,11 @@
// 瓒呮椂棰勮閰嶇疆
public static final String TIMEOUT_WARNING = "TIMEOUT_WARNING";
// FTP鏂囦欢鏈嶅姟鍣ㄨ祫婧愯闂湴鍧�
+ //鏈堝彴棰勭害鎸囧崡
+ public static final String PLATFORM_BOOKING_TIPS = "PLATFORM_BOOKING_TIPS";
+ //鏈堝彴瀵艰鍥�
+ public static final String PLATFORM_GUIDEMAP = "PLATFORM_GUIDEMAP";
+
public static String getRandom6Num( ) {
Random random = new Random();
@@ -453,6 +460,7 @@
int cityUseCar = 3;//甯傚唴鐢ㄨ溅
int unCityUseCar = 4;//甯傚鐢ㄨ溅
int logisticsCarUse = 5;//鐗╂祦杞﹂绾�
+ int reason = 6;//鍏ュ洯鍘熷洜
}
@@ -466,6 +474,10 @@
}else if(Constants.equalsInteger(approveType,Constants.approveObjectType.cityUseCar)
||Constants.equalsInteger(approveType,Constants.approveObjectType.unCityUseCar)){
return Constants.noticesObjectType.useCar;
+ }else if(Constants.equalsInteger(approveType,Constants.approveObjectType.logisticsCarUse)){
+ return Constants.noticesObjectType.logisticsCarUse;
+ }else if(Constants.equalsInteger(approveType, approveObjectType.reason)){
+ return noticesObjectType.reason;
}else {
return Constants.noticesObjectType.system;
}
@@ -481,6 +493,7 @@
int dangerDeal = 3;//闅愭偅澶勭悊
int logisticsCarUse = 4;//鐗╂祦杞﹀鎵�
int system = 5;//绯荤粺娑堟伅
+ int reason = 6;//鍏ュ洯鍘熷洜
}
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index 11635cf..a4cd38c 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -1823,14 +1823,6 @@
// StringUtil.getNotNullStr(request.getParameter(strParamName));
// return getDateByString(strStr);
// }
- /**
- * 寰楀埌褰撳墠鏃ユ湡锛屾牸寮弝yyy-MM-dd銆�
- *
- * @return String 鏍煎紡鍖栫殑鏃ユ湡瀛楃涓�
- */
- public static String getCurrDate() {
- return getFormattedDate(getDateByString(""));
- }
/**
* 寰楀埌褰撳墠鏃ユ湡锛屾牸寮弝yyy-MM-dd銆�
@@ -1897,6 +1889,17 @@
}
/**
+ * 寰楀埌褰撳墠鏃ユ湡鏃堕棿,鏍煎紡涓簓yyy-MM-dd.
+ *
+ * @return String
+ */
+ public static String getCurrDate() {
+ Timestamp date = new Timestamp(System.currentTimeMillis());
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+ return formatter.format(date);
+ }
+
+ /**
* 寰楀埌鎸囧畾鐨勬棩鏈燂紝濡備竴骞翠笁涓湀闆朵節澶╁悗(浠yyy/MM/dd鏍煎紡鏄剧ず)鍙傛暟涓�("yyyy/MM/dd",1,3,9)
*
* @param strFormat
diff --git a/server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java b/server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java
index 15316fd..f6ebaca 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java
@@ -23,6 +23,7 @@
LoginUserInfo loginByPasswordNew (LoginDTO dto, ServerHttpRequest request);
+ LoginUserInfo driverLogin(LoginDTO dto, ServerHttpRequest request);
/**
* 鏍规嵁 openId鐧诲綍
* @param userId
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index 452cc27..0519b92 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -125,7 +125,7 @@
loginLog.setOsInfo(Utils.User_Client.getOS(request));
}
loginLog.setServerIp(Utils.Server.getIP());
- if(isDebug == null || !isDebug){
+ if(isDebug == null || !isDebug && dto.getCheckCode()){
// 鏍¢獙楠岃瘉鐮�
try {
captchaService.check(dto.getUuid(), dto.getCode());
@@ -171,6 +171,43 @@
}
+
+ @Override
+ public LoginUserInfo driverLogin(LoginDTO dto, ServerHttpRequest request) {
+ SystemLoginLog loginLog = new SystemLoginLog();
+ loginLog.setLoginUsername(dto.getUsername());
+ loginLog.setLoginTime(new Date());
+ loginLog.setSystemVersion(systemVersion);
+ loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
+ if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){
+ loginLog.setIp(Utils.User_Client.getIP(request));
+ loginLog.setPlatform(Utils.User_Client.getPlatform(request));
+ loginLog.setClientInfo(Utils.User_Client.getBrowser(request));
+ loginLog.setOsInfo(Utils.User_Client.getOS(request));
+ }
+ loginLog.setServerIp(Utils.Server.getIP());
+ // 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
+ SystemUser queryDto = new SystemUser();
+ queryDto.setUsername(dto.getUsername());
+ queryDto.setDeleted(Boolean.FALSE);
+ SystemUser user = systemUserService.findOne(queryDto);
+ if (user == null) {
+ throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
+ }
+ String pwd = Utils.Secure.encryptPassword(new String(dto.getPassword()), user.getSalt());
+ // 姣旇緝瀵嗙爜
+ if( !StringUtils.equals(pwd, user.getPassword())){
+ throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
+ }
+ Company company = new Company();
+ if(Objects.nonNull(user.getCompanyId())){
+ company = companyMapper.selectById(user.getCompanyId());
+ }
+ LoginUserInfo userInfo = LoginUserInfo.from(user, null, null,company,null);
+ return userInfo;
+ }
+
+
/**
* 鍐呴儴浜哄憳 涓� 鍙告満 鏍规嵁code鏌ヨopenId鍚庤繘琛岀櫥褰曟帴鍙�
* @return
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
index dd7a89f..3ac0fde 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
@@ -9,6 +9,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.Platform;
+import com.doumee.service.business.PlatformJobService;
import com.doumee.service.business.PlatformService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -16,6 +17,7 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
+import java.util.List;
/**
* @author 姹熻箘韫�
@@ -28,6 +30,9 @@
@Autowired
private PlatformService platformService;
+
+ @Autowired
+ private PlatformJobService platformJobService;
@PreventRepeat
@ApiOperation("鏂板缓")
@@ -77,6 +82,14 @@
return ApiResponse.success(platformService.findPage(pageWrap));
}
+
+ @ApiOperation("鏍规嵁鏈堝彴缁勮幏鍙栨湀鍙板垪琛ㄤ俊鎭�")
+ @GetMapping("/listByGroupId")
+ @CloudRequiredPermission("business:platform:query")
+ public ApiResponse<List<Platform>> listByGroupId (@RequestParam Integer groupId, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ return ApiResponse.success(platformJobService.getPlatformList(groupId,this.getLoginUser(token)));
+ }
+
@ApiOperation("瀵煎嚭Excel")
@PostMapping("/exportExcel")
@CloudRequiredPermission("business:platform:exportExcel")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java
index 422d503..688be9f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java
@@ -1,17 +1,17 @@
package com.doumee.cloud.web;
+import cn.hutool.http.useragent.Platform;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.config.annotation.LoginRequired;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
-import com.doumee.dao.business.model.PlatformBooks;
-import com.doumee.dao.business.model.PlatformJob;
-import com.doumee.dao.business.model.Visits;
+import com.doumee.dao.business.model.*;
import com.doumee.dao.web.reqeust.*;
import com.doumee.dao.web.response.DriverHomeVO;
import com.doumee.dao.web.response.LineUpVO;
@@ -27,6 +27,7 @@
import java.math.BigDecimal;
import java.util.Date;
+import java.util.List;
/**
* Created by IntelliJ IDEA.
@@ -52,13 +53,24 @@
@Autowired
private PlatformBooksService platformBooksService;
+ @Autowired
+ private PlatformReasonService platformReasonService;
+
+
+
+ @ApiOperation("鍏ュ洯鍘熷洜")
+ @GetMapping("/platformReasonList")
+ public ApiResponse<List<PlatformReason>> platformReasonList (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ List<PlatformReason> platformReasons = platformReasonService.findList(null);
+ return ApiResponse.success(platformReasons);
+ }
+
@ApiOperation("鍙告満棣栭〉淇℃伅")
@GetMapping("/driverHome")
public ApiResponse<DriverHomeVO> driverHome (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
- DriverHomeVO driverHomeVO = platformJobService.getDriverHome(getLoginUser(token).getMemberId());
+ DriverHomeVO driverHomeVO = platformJobService.getDriverHome(getLoginUser(token));
return ApiResponse.success(driverHomeVO);
}
-
@ApiOperation("鏌ヨ鍙绾﹂噺")
@PostMapping("/checkSurplusNum")
@@ -69,14 +81,18 @@
@ApiOperation("鐗╂祦杞﹂绾�")
@PostMapping("/apply")
public ApiResponse<Integer> apply (@RequestBody PlatformBooksApplyDTO platformBooksApplyDTO , @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
- platformBooksApplyDTO.setUserId(getLoginUser(token).getMemberId());
+ LoginUserInfo loginUserInfo = getLoginUser(token);
+ platformBooksApplyDTO.setUserId(loginUserInfo.getMemberId());
+ platformBooksApplyDTO.setDriverId(loginUserInfo.getMemberId());
return ApiResponse.success(platformBooksService.apply(platformBooksApplyDTO));
}
@ApiOperation("鐗╂祦杞﹂绾﹁褰�")
@PostMapping("/page")
public ApiResponse<PageData<PlatformBooks>> findPage (@RequestBody PageWrap<PlatformBooks> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ LoginUserInfo loginUserInfo = this.getLoginUser(token);
pageWrap.getModel().setQueryDate(DateUtil.getBeforDay(new Date(),30));
+ pageWrap.getModel().setDriverPhone(loginUserInfo.getMobile());
return ApiResponse.success(platformBooksService.findPage(pageWrap));
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java
index 8e81e40..bee4a37 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java
@@ -8,10 +8,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
-import com.doumee.dao.business.model.PlatformBooks;
-import com.doumee.dao.business.model.PlatformGroup;
-import com.doumee.dao.business.model.PlatformJob;
-import com.doumee.dao.business.model.PlatformShowParam;
+import com.doumee.dao.business.model.*;
import com.doumee.dao.web.reqeust.*;
import com.doumee.dao.web.response.DriverHomeVO;
import com.doumee.dao.web.response.LineUpVO;
@@ -54,10 +51,8 @@
@Autowired
private PlatformShowParamService platformShowParamService;
-
-
-
-
+ @Autowired
+ private PlatformService platformService;
@ApiOperation("鑾峰彇鏈堝彴缁勪俊鎭�")
@ApiImplicitParams({
@@ -69,9 +64,16 @@
}
@ApiOperation("鏇存柊鏈堝彴閰嶇疆淇℃伅")
- @GetMapping("/updUserPlatformConfig")
+ @PostMapping("/updUserPlatformConfig")
public ApiResponse updUserPlatformConfig (@RequestBody List<Integer> ids, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
platformShowParamService.updUserConfig(ids,getLoginUser(token));
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+ @ApiOperation("淇敼绂佸惎鐢ㄧ姸鎬�")
+ @PostMapping("/updPlatformStatus")
+ public ApiResponse updPlatformStatus (@RequestBody Platform platform, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ platformService.updateStatusById(platform);
return ApiResponse.success("鎿嶄綔鎴愬姛");
}
@@ -131,9 +133,6 @@
platformJobService.platformInPark(jobOperateDTO);
return ApiResponse.success("鎿嶄綔鎴愬姛");
}
-
-
-
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/ApproveDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/ApproveDTO.java
index e73c8fb..f88a2a0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/ApproveDTO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/ApproveDTO.java
@@ -18,7 +18,7 @@
@ApiModelProperty(value = "鍏宠仈涓氬姟涓婚敭")
private Integer objId;
- @ApiModelProperty(value = "鍏宠仈涓氬姟绫诲瀷锛�0闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 1闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 2璁垮鎶ュ 3鍏溅甯傚唴鐢ㄨ溅 4鍏溅瀹ゅ鐢ㄨ溅 5甯傚叕鍙哥墿娴佽溅棰勭害")
+ @ApiModelProperty(value = "鍏宠仈涓氬姟绫诲瀷锛�0闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 1闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 2璁垮鎶ュ 3鍏溅甯傚唴鐢ㄨ溅 4鍏溅瀹ゅ鐢ㄨ溅 5甯傚叕鍙哥墿娴佽溅棰勭害 6鍏ュ洯棰勭害")
private Integer objType;
@ApiModelProperty(value = "2瀹℃壒閫氳繃 3瀹℃壒鏈�氳繃")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
index 0c89c3b..1836078 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
@@ -117,8 +117,8 @@
@ExcelColumn(name="鏄惁淇敼鐩殑鍦� 0鍚� 1鏄�")
private Integer addrParam;
- @ApiModelProperty(value = "鍏宠仈涓氬姟绫诲瀷锛�0闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 1闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 2璁垮鎶ュ 3鍏溅甯傚唴鐢ㄨ溅 4鍏溅瀹ゅ鐢ㄨ溅 5甯傚叕鍙哥墿娴佽溅棰勭害", example = "1")
- @ExcelColumn(name="鍏宠仈涓氬姟绫诲瀷锛�0闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 1闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 2璁垮鎶ュ 3鍏溅甯傚唴鐢ㄨ溅 4鍏溅瀹ゅ鐢ㄨ溅 5甯傚叕鍙哥墿娴佽溅棰勭害")
+ @ApiModelProperty(value = "鍏宠仈涓氬姟绫诲瀷锛�0闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 1闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 2璁垮鎶ュ 3鍏溅甯傚唴鐢ㄨ溅 4鍏溅瀹ゅ鐢ㄨ溅 5甯傚叕鍙哥墿娴佽溅棰勭害 6鍏ュ洯鍘熷洜", example = "1")
+ @ExcelColumn(name="鍏宠仈涓氬姟绫诲瀷锛�0闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 1闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 2璁垮鎶ュ 3鍏溅甯傚唴鐢ㄨ溅 4鍏溅瀹ゅ鐢ㄨ溅 5甯傚叕鍙哥墿娴佽溅棰勭害 6鍏ュ洯鍘熷洜")
private Integer objType;
@ApiModelProperty(value = "绫诲瀷 0瀹℃壒 1鎶勯��", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveTempl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveTempl.java
index eef7d41..4bb6efd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveTempl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveTempl.java
@@ -52,8 +52,8 @@
@ExcelColumn(name="澶囨敞")
private String remark;
- @ApiModelProperty(value = "鍚嶇О 0闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 1鏂藉伐浜哄憳璁垮鐢宠 2璁垮鎶ュ 3鍏溅甯傚唴鐢ㄨ溅 4鍏溅瀹ゅ鐢ㄨ溅 5甯傚叕鍙哥墿娴佽溅棰勭害", example = "1")
- @ExcelColumn(name="鍚嶇О 0闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 1鏂藉伐浜哄憳璁垮鐢宠 2璁垮鎶ュ 3鍏溅甯傚唴鐢ㄨ溅 4鍏溅瀹ゅ鐢ㄨ溅 5甯傚叕鍙哥墿娴佽溅棰勭害")
+ @ApiModelProperty(value = "鍚嶇О 0闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 1鏂藉伐浜哄憳璁垮鐢宠 2璁垮鎶ュ 3鍏溅甯傚唴鐢ㄨ溅 4鍏溅瀹ゅ鐢ㄨ溅 5甯傚叕鍙哥墿娴佽溅棰勭害 6鍏ュ洯鍘熷洜", example = "1")
+ @ExcelColumn(name="鍚嶇О 0闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 1鏂藉伐浜哄憳璁垮鐢宠 2璁垮鎶ュ 3鍏溅甯傚唴鐢ㄨ溅 4鍏溅瀹ゅ鐢ㄨ溅 5甯傚叕鍙哥墿娴佽溅棰勭害 6鍏ュ洯鍘熷洜")
private Integer type;
@ApiModelProperty(value = "鍚嶇О")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
index cea4575..12e06bd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
@@ -136,6 +136,10 @@
@TableField(exist = false)
private String queryDate;
+ @ApiModelProperty(value = "鍥剧墖鍓嶇紑")
+ @TableField(exist = false)
+ private String prefixUrl;
+
@ApiModelProperty(value = "瀹℃壒淇℃伅鏁版嵁")
@TableField(exist = false)
private ApproveDataVO approveDateVO;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
index 57cfc6d..f3e24c0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -264,7 +264,15 @@
@ApiModelProperty(value = "鍓嶆柟鎺掗槦鏁伴噺", example = "1")
@TableField(exist = false)
- private Long lineUpNum;
+ private Integer lineUpNum;
+
+ @ApiModelProperty(value = "棰勮绛夊緟鏃堕棿", example = "1")
+ @TableField(exist = false)
+ private String waitTime;
+
+ @ApiModelProperty(value = "棰勮瀹屾垚鏃堕棿", example = "1")
+ @TableField(exist = false)
+ private String finishTimeStr;
@ApiModelProperty(value = "鍏宠仈鏈堝彴缁勭紪鐮侊紙鍏宠仈platform_group琛級", example = "1")
@TableField(exist = false)
@@ -278,6 +286,9 @@
@TableField(exist = false)
private BigDecimal getDistance;
+ @ApiModelProperty(value = "鏈堝彴浣滀笟鏁堢巼锛堜竾鏀�/灏忔椂锛�", hidden = true)
+ @TableField(exist = false)
+ private BigDecimal workRate;
@ApiModelProperty(value = "涓氬姟瑙﹀彂鏃堕棿 鏃堕棿")
@TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/PlatformBooksApplyDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/PlatformBooksApplyDTO.java
index 6273b5f..0d46c53 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/PlatformBooksApplyDTO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/PlatformBooksApplyDTO.java
@@ -19,6 +19,8 @@
@Api(tags = "鍏ュ洯棰勭害鐢宠淇℃伅" )
public class PlatformBooksApplyDTO {
+ @ApiModelProperty(value = "涓婚敭 - 淇敼浣跨敤")
+ private Integer id;
@ApiModelProperty(value = "鍚堝悓鍙�")
private String contractNum;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/DriverHomeVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/DriverHomeVO.java
index e677f12..430b316 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/DriverHomeVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/DriverHomeVO.java
@@ -19,4 +19,11 @@
@ApiModelProperty(value = "鏈堝彴浠诲姟鍒楄〃")
private List<PlatformJob> platformJobList;
+ @ApiModelProperty(value = "棰勭害鎸囧崡")
+ private String bookingTips;
+
+ @ApiModelProperty(value = "鍥尯瀵艰鍥�")
+ private String reservationMap;
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java
index 6b2fb66..e6e7570 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java
@@ -112,6 +112,8 @@
void createApproveFlow(Integer tempType,Integer businessId,Integer createMemberId);
+ void createApproveForPlatfrom(Integer tempId,Integer businessId,Integer createMemberId);
+
ApproveDataVO arrangeApprovedData(Integer businessId, Integer businessType, Integer memberId);
void approved(ApproveDTO approveDTO);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
index ac8a7a8..a842e2d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
@@ -1,7 +1,9 @@
package com.doumee.service.business;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Platform;
import com.doumee.dao.business.model.PlatformJob;
import com.doumee.dao.web.reqeust.JobDetailDTO;
import com.doumee.dao.web.reqeust.JobOperateDTO;
@@ -102,7 +104,7 @@
*/
long count(PlatformJob platformJob);
- DriverHomeVO getDriverHome(Integer memberId);
+ DriverHomeVO getDriverHome(LoginUserInfo loginUserInfo);
/**
* 璺濈绛惧埌
@@ -172,4 +174,12 @@
*/
void finishWork(JobOperateDTO jobOperateDTO);
+ /**
+ * 鑾峰彇鏈堝彴涓嬬殑浠诲姟淇℃伅
+ * @param groupId
+ * @param loginUserInfo
+ * @return
+ */
+ List<Platform> getPlatformList(Integer groupId, LoginUserInfo loginUserInfo);
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
index 804ee30..b698dd5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -31,6 +31,7 @@
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import io.swagger.models.auth.In;
+import javafx.application.Platform;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.xpath.operations.Bool;
@@ -388,6 +389,52 @@
}
+ @Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ public void createApproveForPlatfrom(Integer tempId,Integer businessId,Integer createMemberId){
+ //鏌ヨ澶勭悊妯℃澘
+ ApproveTempl approveTempl = approveTemplMapper.selectById(tempId);
+ if(Objects.isNull(approveTempl)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌瀹℃壒娴侀厤缃ā鏉�");
+ }
+ //鏌ヨ閰嶇疆娴佺▼
+ List<ApproveParam> approveParamAllList = approveParamMapper.selectList(new QueryWrapper<ApproveParam>()
+ .lambda().eq(ApproveParam::getIsdeleted,Constants.ZERO)
+ .eq(ApproveParam::getTemplId,approveTempl.getId())
+ .orderByAsc(ApproveParam::getType)
+ .orderByAsc(ApproveParam::getLevel)
+ );
+ if(Objects.isNull(approveParamAllList)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈厤缃鎵规祦绋�");
+ }
+ //瀹℃壒閰嶇疆
+ List<ApproveParam> approveParamList = approveParamAllList.stream().filter(i->i.getType().equals(Constants.ZERO)).collect(Collectors.toList());
+ if(Objects.isNull(approveParamList)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈厤缃鎵规祦绋�");
+ }
+ List<ApproveParam> approveCopyList = approveParamAllList.stream().filter(i->i.getType().equals(Constants.ONE)).collect(Collectors.toList());
+
+ Member createMember = memberMapper.selectById(createMemberId);
+ if(Objects.isNull(createMember)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鐢宠浜虹粍缁囦俊鎭紓甯�");
+ }
+ List<Approve> approveList = new ArrayList<>();
+
+ this.organizeApproveData(approveTempl,approveParamList,createMember,businessId,approveList);
+
+ if(CollectionUtils.isEmpty(approveList)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀹℃壒娴侀厤缃敊璇�");
+ }
+
+ //澶勭悊鎶勯�佹暟鎹�
+ if(CollectionUtils.isNotEmpty(approveCopyList)){
+ this.organizeApproveCopyData(approveTempl,approveCopyList,businessId,approveList);
+ }
+ approveJoinMapper.insert(approveList);
+
+ }
+
+
/**
* 缁勭粐瀹℃壒娴佹暟鎹�
* @param approveTempl
@@ -555,8 +602,17 @@
jsonMap.put("eTime", "缁撴潫鏃堕棿:" + DateUtil.DateToStr(carUseBook.getEndTime() , "yyyy-MM-dd HH:mm"));
jsonMap.put("usrNum", StringUtils.isBlank(carUseBook.getMemberIds())?"涔樿溅浜烘暟: 0浜�": "涔樿溅浜烘暟: " +carUseBook.getMemberIds().split(",").length +"浜�");
jsonMap.put("mdd", StringUtils.isBlank(carUseBook.getAddr())?"鐩殑鍦�: - ": "鐩殑鍦�:" +carUseBook.getAddr());
- }else {
- throw new BusinessException(ResponseStatus.NOT_ALLOWED);
+ }else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.reason)){
+ //鐗╂祦杞﹂绾�
+ PlatformBooks platformBooks = platformBooksMapper.selectById(businessId);
+ if(Objects.isNull(platformBooks)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌涓氬姟鏁版嵁淇℃伅");
+ }
+ title = "銆愮墿娴佽溅鍏ュ洯棰勭害銆戠敵璇蜂汉 - " + platformBooks.getDriverName();
+ jsonMap.put("inType", "鍏ュ簱绫诲瀷锛�"+(Constants.equalsInteger(platformBooks.getInType(),Constants.ZERO)?"鏁存墭鐩�":"浠剁儫"));
+ jsonMap.put("totalNum", "鎬昏繍杈撻噺锛�"+platformBooks.getTotalNum()+"涓囨敮");
+ jsonMap.put("arriveDate", "鍒板満鏃堕棿锛�" + DateUtil.DateToStr(platformBooks.getArriveDate() , "yyyy-MM-dd HH:mm"));
+ jsonMap.put("carNum", "杞︾墝鐓э細"+platformBooks.getCarCodeFront());
}
return title;
}
@@ -1345,7 +1401,7 @@
}else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
Constants.approveObjectType.unCityUseCar)){
this.updDriver(approveDTO,approve,true);
- }else if(approveDTO.getObjType().equals(Constants.approveObjectType.logisticsCarUse)){
+ }else if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){
//鐗╂祦杞﹂绾�
PlatformBooks platformBooks = platformBooksMapper.selectById(approveDTO.getObjId());
if(Objects.isNull(platformBooks)){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 693f779..a7ccd11 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2002,6 +2002,7 @@
systemUser.setUsername(registerDriverDTO.getPhone());
systemUser.setRealname(registerDriverDTO.getName());
systemUser.setMemberId(member.getId());
+ systemUser.setMobile(registerDriverDTO.getPhone());
systemUser.setSalt(salt);
systemUser.setPassword(member.getPassward());
systemUser.setStatus(Constants.ZERO);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
index a155825..68318b2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
@@ -186,7 +186,7 @@
}
//鏌ヨ姣忔棩閰嶇疆鐨勬�婚绾﹂噺
PlatformReason platformReason = platformReasonMapper.selectById(platformBooksCheckNumDTO.getReasonId());
- if(Objects.isNull(platformReason)|| Constants.equalsInteger(platformReason.getIsdeleted(),Constants.ZERO)){
+ if(Objects.isNull(platformReason)|| !Constants.equalsInteger(platformReason.getIsdeleted(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍏ュ洯鍘熷洜淇℃伅寮傚父,璇峰埛鏂伴噸璇�");
}
List<PlatformBooks> platformBooksList = platformBooksMapper.selectList(new QueryWrapper<PlatformBooks>().lambda()
@@ -225,23 +225,15 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
PlatformReason platformReason = platformReasonMapper.selectById(platformBooksApplyDTO.getReasonId());
- if(Objects.isNull(platformReason)|| Constants.equalsInteger(platformReason.getIsdeleted(),Constants.ZERO)){
+ if(Objects.isNull(platformReason)|| !Constants.equalsInteger(platformReason.getIsdeleted(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍏ュ洯鍘熷洜淇℃伅寮傚父,璇峰埛鏂伴噸璇�");
}
- ApproveTempl approveTempl = approveTemplMapper.selectOne(new QueryWrapper<ApproveTempl>().lambda()
- .eq(ApproveTempl::getIsdeleted,Constants.ZERO)
- .eq(ApproveTempl::getObjId,platformReason.getId())
- .last(" limit 1")
- );
+ ApproveTempl approveTempl = approveTemplMapper.selectById(platformReason.getId());
if(Objects.isNull(approveTempl)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈厤缃鎵规祦,璇疯仈绯荤鐞嗗憳");
}
-
- if(Constants.equalsInteger(platformBooksApplyDTO.getUserId(),platformBooksApplyDTO.getDriverId())){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浜哄憳淇℃伅鍖归厤閿欒");
- }
- if(Objects.nonNull(platformReason.getLimitNum())&&platformReason.getLimitNum().compareTo(platformBooksApplyDTO.getTotalNum())>0){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瓒呭嚭鍏ュ洯鐢宠绾胯川閲�");
+ if(!Constants.equalsInteger(approveTempl.getIsdeleted(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀹℃壒娴佸凡鍋滅敤,璇疯仈绯荤鐞嗗憳");
}
PlatformBooks platformBooks = new PlatformBooks();
BeanUtils.copyProperties(platformBooksApplyDTO,platformBooks);
@@ -252,9 +244,45 @@
platformBooksMapper.insert(platformBooks);
//鍒涘缓瀹℃壒娴佷俊鎭�
- approveService.createApproveFlow(5,platformBooks.getId(),platformBooks.getDriverId());
+ approveService.createApproveForPlatfrom(platformReason.getApproveTemplId(),platformBooks.getId(),platformBooks.getDriverId());
return platformBooks.getId();
}
+
+
+
+// @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public Integer edit(PlatformBooksApplyDTO platformBooksApplyDTO){
+ if(Objects.isNull(platformBooksApplyDTO)
+ || Objects.isNull(platformBooksApplyDTO.getId())
+ || StringUtils.isBlank(platformBooksApplyDTO.getContractNum())
+ || Objects.isNull(platformBooksApplyDTO.getArriveDate())
+ || Objects.isNull(platformBooksApplyDTO.getInType())
+ || Objects.isNull(platformBooksApplyDTO.getTotalNum())
+ || StringUtils.isBlank(platformBooksApplyDTO.getCarCodeFront())
+ || StringUtils.isBlank(platformBooksApplyDTO.getCarCodeBack())
+ || Objects.isNull(platformBooksApplyDTO.getDriverId())
+ || StringUtils.isBlank(platformBooksApplyDTO.getDriverPhone())
+ || StringUtils.isBlank(platformBooksApplyDTO.getDriverName())
+ || StringUtils.isBlank(platformBooksApplyDTO.getTransportImg())
+ || Objects.isNull(platformBooksApplyDTO.getReasonId())
+ || StringUtils.isBlank(platformBooksApplyDTO.getInReason())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ PlatformBooks platformBooks = platformBooksMapper.selectById(platformBooksApplyDTO.getId());
+ if(Objects.isNull(platformBooks)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!Constants.equalsInteger(platformBooks.getStatus(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟鐘舵�佸凡娴佽浆");
+ }
+ BeanUtils.copyProperties(platformBooksApplyDTO,platformBooks);
+ platformBooks.setEditDate(new Date());
+ platformBooksMapper.insert(platformBooks);
+ return platformBooks.getId();
+ }
+
@Override
@@ -263,8 +291,12 @@
if(Objects.isNull(model)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌棰勭害璁板綍");
}
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.PLATFORM).getCode();
+ model.setPrefixUrl(prefixUrl);
+
ApproveDataVO approveDataVO = approveService.arrangeApprovedData(id,
- 5,
+ 6,
memberId);
model.setApproveDateVO(approveDataVO);
List<Approve> approveList = approveDataVO.getApproveList();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
index 7dcc045..05ad10f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -6,19 +6,24 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.PlatformGroupMapper;
import com.doumee.dao.business.PlatformShowParamMapper;
+import com.doumee.dao.business.join.PlatformJobJoinMapper;
import com.doumee.dao.business.join.PlatformJoinMapper;
import com.doumee.dao.business.model.Platform;
import com.doumee.dao.business.model.PlatformGroup;
+import com.doumee.dao.business.model.PlatformJob;
import com.doumee.dao.business.model.PlatformShowParam;
import com.doumee.service.business.PlatformGroupService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.PlatformJobService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.java.Log;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -44,6 +49,9 @@
@Autowired
private PlatformShowParamMapper platformShowParamMapper;
+
+ @Autowired
+ private PlatformJobJoinMapper platformJobJoinMapper;
@Override
public Integer create(PlatformGroup platformGroup) {
@@ -206,7 +214,6 @@
.selectAll(Platform.class)
.select(" ( select count(1) from platform_job pj where t.id = pj.PLATFORM_ID and pj.STATUS = "+Constants.PlatformJobStatus.WORKING.getKey()+" ) as workStatus ")
.eq(Platform::getIsdeleted, Constants.ZERO)
- .eq(Platform::getStatus, Constants.ZERO)
.eq(Objects.nonNull(queryType)&&!Constants.equalsInteger(queryType,Constants.ZERO),Platform::getStatus,Constants.ZERO)
);
//澶勭悊鎴戠殑鏈堝彴淇℃伅 鏄惁閰嶇疆闅愯棌
@@ -240,4 +247,7 @@
}
+
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index d8e0284..2544ffb 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -4,6 +4,7 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
@@ -12,6 +13,7 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
import com.doumee.dao.business.join.PlatformJobJoinMapper;
+import com.doumee.dao.business.join.PlatformJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.web.reqeust.JobDetailDTO;
import com.doumee.dao.web.reqeust.JobOperateDTO;
@@ -33,6 +35,7 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -58,8 +61,9 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+
@Autowired
- private PlatformMapper platformMapper;
+ private PlatformJoinMapper platformJoinMapper;
@Autowired
private PlatformLogMapper platformLogMapper;
@@ -69,6 +73,12 @@
@Autowired
private PlatformWmsDetailMapper platformWmsDetailMapper;
+
+ @Autowired
+ private PlatformGroupMapper platformGroupMapper;
+
+ @Autowired
+ private PlatformShowParamMapper platformShowParamMapper;
@Override
@@ -131,9 +141,13 @@
@Override
public PageData<PlatformJob> findPage(PageWrap<PlatformJob> pageWrap) {
IPage<PlatformJob> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<PlatformJob> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<PlatformJob> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
- queryWrapper.lambda()
+ queryWrapper
+ .selectAll(PlatformJob.class)
+ .selectAs(Platform::getName,PlatformJob::getPlatformName)
+ .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
+ .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
.eq(pageWrap.getModel().getId() != null, PlatformJob::getId, pageWrap.getModel().getId())
.eq(pageWrap.getModel().getCreator() != null, PlatformJob::getCreator, pageWrap.getModel().getCreator())
.ge(pageWrap.getModel().getCreateDate() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
@@ -216,13 +230,18 @@
queryWrapper.orderByAsc(sortData.getProperty());
}
}
-
- PageData<PlatformJob> pageData = PageData.from(platformJobMapper.selectPage(page, queryWrapper));
- pageData.getRecords().forEach(i->{
+ IPage<PlatformJob> platformJobIPage = platformJobJoinMapper.selectJoinPage(page,PlatformJob.class,queryWrapper);
+ platformJobIPage.getRecords().forEach(i->{
i.dealTime();
this.getWmsJobData(i);
});
- return pageData;
+ return PageData.from(platformJobIPage);
+// PageData<PlatformJob> pageData = PageData.from(platformJobMapper.selectPage(page, queryWrapper));
+// pageData.getRecords().forEach(i->{
+// i.dealTime();
+// this.getWmsJobData(i);
+// });
+// return pageData;
}
@@ -250,12 +269,60 @@
platformWmsJob.setPlatformWmsDetailList(platformWmsDetailList);
platformJob.setPlatformWmsJob(platformWmsJob);
}
- }
-
-
+ }
}
+ public void queryWaitNum(PlatformJob platformJob){
+ if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){
+ //鏌ヨ鍓嶆柟鎺掗槦鏁伴噺
+ List<PlatformJob> lineUpNum = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda()
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()
+ ,Constants.PlatformJobStatus.IN_WAIT.getKey()
+ ,Constants.PlatformJobStatus.TRANSFERING.getKey())
+ .gt(PlatformJob::getSignDate,platformJob.getSignDate())
+ .eq(PlatformJob::getPlatformGroupId,platformJob.getPlatformGroupId())
+ .like(PlatformJob::getArriveDate,DateUtil.getDate(platformJob.getArriveDate(),"yyyy-MM-dd")));
+ platformJob.setLineUpNum(lineUpNum.size());
+ BigDecimal sumWorkRate = platformJob.getTotalNum();
+ for (PlatformJob linePlatformJob:lineUpNum) {
+ this.getWmsJobData(linePlatformJob);
+ sumWorkRate = sumWorkRate.add(linePlatformJob.getTotalNum());
+ }
+ //璁$畻棰勮绛夊緟鏃堕棿
+ List<Platform> platformList = platformJoinMapper.selectList(new QueryWrapper<Platform>().lambda().eq(Platform::getIsdeleted,Constants.ZERO).eq(Platform::getGroupId,platformJob.getPlatformGroupId()));
+ BigDecimal workRate = platformList.stream().map(m->m.getWorkRate()).reduce(BigDecimal.ZERO,BigDecimal::add);
+ if(sumWorkRate.compareTo(BigDecimal.ZERO) == Constants.ZERO|| workRate.compareTo(BigDecimal.ZERO) == Constants.ZERO ){
+ BigDecimal sumMinute = sumWorkRate.divide(workRate,1, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(60L));
+ Integer sumMinuteInteger = sumMinute.intValue();
+ Integer hours = sumMinuteInteger/60;
+ Integer minus = sumMinuteInteger%60;
+ String waitTime = "棰勮绛夊緟锛�";
+ if(!Constants.equalsInteger(hours,Constants.ZERO)){
+ waitTime = waitTime + hours + "灏忔椂";
+ }
+ if(!Constants.equalsInteger(hours,Constants.ZERO)){
+ waitTime = waitTime + minus + "鍒嗛挓";
+ }
+ platformJob.setWaitTime(waitTime);
+ }
+ }else if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
+ //鏌ヨ鏈�鍚庡紑濮嬩换鍔$殑鏈堝彴璁板綍 鏃ュ織琛� 鍥犱负瀛樺湪寮傚父鎸傝捣 杞Щ 绛夐棶棰�
+ PlatformLog platformLog = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda()
+ .eq(PlatformLog::getJobId,platformJob.getId())
+ .eq(PlatformLog::getObjType,Constants.PlatformJobStatus.WORKING.getKey())
+ .orderByDesc(PlatformLog::getCreateDate)
+ .last(" limit 1")
+ );
+ if(Objects.nonNull(platformLog)){
+ BigDecimal sumMinute = platformJob.getTotalNum().divide(platformJob.getWorkRate(),1, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(60L));
+ platformJob.setFinishTimeStr(DateUtil.DateToStr(DateUtil.afterMinutesDate(platformLog.getCreateDate(),sumMinute.intValue()),"HH:mm"));
+ }
+ }
+ }
+
+
@Override
public long count(PlatformJob platformJob) {
QueryWrapper<PlatformJob> wrapper = new QueryWrapper<>(platformJob);
@@ -264,17 +331,34 @@
//TODO
@Override
- public DriverHomeVO getDriverHome(Integer memberId){
+ public DriverHomeVO getDriverHome(LoginUserInfo loginUserInfo){
DriverHomeVO driverHomeVO = new DriverHomeVO();
//TODO 杞挱鍥�
- List<PlatformJob> platformJobList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>()
- .lambda()
- .eq(PlatformJob::getDriverId,memberId)
-// .like(PlatformJob::get)
- .orderByDesc(PlatformJob::getId));
+ List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
+ .selectAll(PlatformJob.class)
+ .selectAs(Platform::getName,PlatformJob::getPlatformName)
+ .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
+ .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .eq(PlatformJob::getDrivierPhone,loginUserInfo.getMobile())
+ .like(PlatformJob::getArriveDate,DateUtil.getCurrDate())
+ .orderByDesc(PlatformJob::getId)
+ );
+ for (PlatformJob platformJob:platformJobList) {
+ //澶勭悊WSM鏁伴噺
+ this.getWmsJobData(platformJob);
+ //鏌ヨ鍓嶆柟鎺掗槦鏁伴噺
+ this.queryWaitNum(platformJob);
+ }
+
+
driverHomeVO.setPlatformJobList(platformJobList);
+ // 鍥尯瀵艰鍥� 鍥剧墖
+ driverHomeVO.setReservationMap(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.PLATFORM_GUIDEMAP).getCode());
+ // 棰勭害鎸囧崡 鏂囨湰
+ driverHomeVO.setBookingTips(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.PLATFORM_BOOKING_TIPS).getCode());
return driverHomeVO;
}
@@ -369,18 +453,12 @@
}
}else if( Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
|| Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())
- ){//鏌ヨ鎺掗槦鎯呭喌
- Long lineUpNum = platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
- .eq(PlatformJob::getIsdeleted,Constants.ZERO)
- .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()
- ,Constants.PlatformJobStatus.IN_WAIT.getKey()
- ,Constants.PlatformJobStatus.TRANSFERING.getKey())
- .gt(PlatformJob::getSignDate,platformJob.getSignDate())
- .like(PlatformJob::getArriveDate,DateUtil.getDate(platformJob.getArriveDate(),"yyyy-MM-dd")));
- platformJob.setLineUpNum(lineUpNum);
+ ){
+ //鏌ヨ鍓嶆柟鎺掗槦鏁伴噺
+ this.queryWaitNum(platformJob);
}else if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
//浣滀笟鏈堝彴淇℃伅
- Platform platform = platformMapper.selectById(platformJob.getPlatformId());
+ Platform platform = platformJoinMapper.selectById(platformJob.getPlatformId());
if(Objects.nonNull(platform)){
platformJob.setPlatformName(platform.getName());
}
@@ -417,7 +495,7 @@
);
//鑾峰彇鎵�鏈夋湀鍙扮粍
List<Integer> platformIdList = platformJobList.stream().map(m->m.getPlatformGroupId()).collect(Collectors.toList());
- List<Platform> platformList = platformMapper.selectList(new QueryWrapper<Platform>().lambda()
+ List<Platform> platformList = platformJoinMapper.selectList(new QueryWrapper<Platform>().lambda()
.eq(Platform::getIsdeleted,Constants.ZERO)
.in(Platform::getId,platformIdList));
@@ -841,8 +919,79 @@
}
+ @Override
+ public List<Platform> getPlatformList(Integer groupId, LoginUserInfo loginUserInfo){
+ //鏌ヨ鏈堝彴缁勪笅鎵�鏈夋湀鍙�
+ List<Platform> allPlatformList = platformJoinMapper.selectJoinList(Platform.class,
+ new MPJLambdaWrapper<Platform>()
+ .selectAll(Platform.class)
+ .select(" ( select count(1) from platform_job pj where t.id = pj.PLATFORM_ID and pj.STATUS = "+Constants.PlatformJobStatus.WORKING.getKey()+" ) as workStatus ")
+ .eq(Platform::getIsdeleted, Constants.ZERO)
+ .eq(Platform::getStatus,Constants.ZERO)
+ .eq(Platform::getGroupId,groupId)
+ );
+ this.getPlatformShow(allPlatformList,loginUserInfo);
+ for (Platform platform:allPlatformList) {
+ this.getJobByPlatform(platform,loginUserInfo);
+ }
+ return allPlatformList;
+ }
+
+ /**
+ * 鏌ヨ鏈堝彴鐨勫紑鍚儏鍐�
+ * @param allPlatformList
+ * @param loginUserInfo
+ */
+ public void getPlatformShow(List<Platform> allPlatformList , LoginUserInfo loginUserInfo){
+ //澶勭悊鎴戠殑鏈堝彴淇℃伅 鏄惁閰嶇疆闅愯棌
+ List<PlatformShowParam> platformShowParamList = platformShowParamMapper.selectList(new QueryWrapper<PlatformShowParam>()
+ .lambda()
+ .eq(PlatformShowParam::getIsdeleted, Constants.ZERO)
+ .eq(PlatformShowParam::getMemberId,loginUserInfo.getMemberId())
+ );
+ //濡傛灉鏈厤缃鏁版嵁 鍒欏叏閮ㄦ樉绀�
+ if(CollectionUtils.isEmpty(platformShowParamList)){
+ for (Platform platform:allPlatformList) {
+ platform.setShowConfig(true);
+ }
+ }else{
+ //鏍规嵁閰嶇疆鏄剧ず鏁版嵁
+ for (PlatformShowParam platformShowParam:platformShowParamList) {
+ for (Platform platform:allPlatformList) {
+ if(Constants.equalsInteger(platform.getId(),platformShowParam.getPlatformId())){
+ platform.setShowConfig(true);
+ break;
+ }
+ }
+ }
+ }
+ }
-
+ /**
+ * 鑾峰彇鏈堝彴涓嬬殑浠诲姟鍒楄〃
+ * @param platform
+ * @param loginUserInfo
+ */
+ public void getJobByPlatform(Platform platform,LoginUserInfo loginUserInfo){
+ List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
+ .selectAll(PlatformJob.class)
+ .selectAs(Platform::getName,PlatformJob::getPlatformName)
+ .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
+ .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
+ .eq(PlatformJob::getPlatformId,platform.getId())
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .eq(PlatformJob::getDrivierPhone,loginUserInfo.getMobile())
+ .like(PlatformJob::getArriveDate, DateUtil.getCurrDate())
+ .orderByDesc(PlatformJob::getId)
+ );
+ for (PlatformJob platformJob:platformJobList) {
+ //澶勭悊WSM鏁伴噺
+ this.getWmsJobData(platformJob);
+ //鏌ヨ鍓嶆柟鎺掗槦鏁伴噺
+ this.queryWaitNum(platformJob);
+ }
+ platform.setWorkJobList(platformJobList);
+ }
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java
index aaa5b1e..7500514 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java
@@ -106,6 +106,7 @@
@Override
public List<PlatformReason> findList(PlatformReason platformReason) {
QueryWrapper<PlatformReason> wrapper = new QueryWrapper<>(platformReason);
+ wrapper.eq("isdeleted",Constants.ZERO);
return platformReasonMapper.selectList(wrapper);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitReasonServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitReasonServiceImpl.java
index e34a01b..49d54a6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitReasonServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitReasonServiceImpl.java
@@ -139,4 +139,8 @@
QueryWrapper<VisitReason> wrapper = new QueryWrapper<>(visitReason);
return visitReasonMapper.selectCount(wrapper);
}
+
+
+
+
}
--
Gitblit v1.9.3