From c1e7bbbec984e4cd1b9f31490e3d85ae7c923ab0 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 04 三月 2024 13:58:43 +0800
Subject: [PATCH] ERP接口
---
server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java | 2
server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java | 3 +
server/dmvisit_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java | 4 +-
server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java | 2
server/dmvisit_web/src/main/java/com/doumee/api/web/InternalController.java | 3 +
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 27 ++++++-------
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 19 +++++++--
server/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/ErpVisitDTO.java | 14 +++++++
8 files changed, 49 insertions(+), 25 deletions(-)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java b/server/dmvisit_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java
index 66eaa30..c827e52 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java
@@ -75,11 +75,11 @@
String token = request.getHeader(JwtTokenUtil.HEADER_KEY);
String redisToken = RedisUtil.getObject(redisTemplate,Constants.RedisKeys.ERP_TOKEN,String.class);
if(StringUtils.isBlank(redisToken)||!token.equals(redisToken)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈櫥褰�");
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎺堟潈宸插け鏁�");
}
request.setAttribute(JwtTokenUtil.HEADER_KEY,token);
} catch (IllegalArgumentException | JwtException e) {
- throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�");
+ throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鎺堟潈宸插け鏁�");
}
// request.setAttribute("token", token);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/ErpVisitDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/ErpVisitDTO.java
index 1eebcab..dc375df 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/ErpVisitDTO.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/ErpVisitDTO.java
@@ -8,6 +8,9 @@
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
@@ -21,18 +24,23 @@
@ApiModel("ERP璁垮鐢宠涓荤被")
public class ErpVisitDTO extends BaseRequst {
+ @NotBlank(message = "ERP璁板綍涓婚敭涓嶈兘涓虹┖")
@ApiModelProperty(value = "ERP璁板綍涓婚敭")
private String erpId;
+ @NotBlank(message = "璁垮濮撳悕涓嶈兘涓虹┖")
@ApiModelProperty(value = "璁垮濮撳悕")
private String name;
+ @NotBlank(message = "鎵嬫満鍙蜂笉鑳戒负绌�")
@ApiModelProperty(value = "鎵嬫満鍙�")
private String phone;
+ @NotNull(message = "璇佷欢绫诲瀷涓嶈兘涓虹┖")
@ApiModelProperty(value = "璇佷欢绫诲瀷 0韬唤璇� 1娓境璇佷欢 2鎶ょ収")
private Integer idcardType;
+ @NotBlank(message = "璇佷欢鍙蜂笉鑳戒负绌�")
@ApiModelProperty(value = "璇佷欢鍙�")
private String idcardNo;
@@ -42,25 +50,31 @@
@ApiModelProperty(value = "鍋ュ悍璇�")
private String imgurl;
+ @NotBlank(message = "鍏徃鍚嶇О涓嶈兘涓虹┖")
@ApiModelProperty(value = "鍏徃鍚嶇О")
private String companyName;
+ @NotBlank(message = "琚浜轰笉鑳戒负绌�")
@ApiModelProperty(value = "琚浜� erp 涓婚敭 ")
private String receptMemberId;
+ @NotNull(message = "闂ㄧ鏈夋晥璧锋湡涓嶈兘涓虹┖")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "闂ㄧ鏈夋晥鏈熷紑濮�")
private Date starttime;
+ @NotNull(message = "闂ㄧ鏈夋晥姝㈡湡涓嶈兘涓虹┖")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "闂ㄧ鏈夋晥鏈熸埅姝�")
private Date endtime;
+ @NotBlank(message = "闂ㄧ缂栫爜涓嶈兘涓虹┖")
@ApiModelProperty(value = "闂ㄧ缂栫爜 娴峰悍绯荤粺涓婚敭 锛屽涓敤鑻辨枃閫楀彿闅斿紑")
private String doors;
+ @NotBlank(message = "鏉ヨ浜嬬敱涓嶈兘涓虹┖")
@ApiModelProperty(value = "鏉ヨ浜嬬敱")
private String reason;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index 3d5d37d..fc7fa7d 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -26,7 +26,7 @@
*/
Integer create(Visits visits);
- Integer createFk(Visits visits);
+ Integer createFk(Visits visits,Boolean isERP);
void createFKForErp(ErpVisitDTO erpVisitDTO);
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index 43d9931..e387803 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -111,7 +111,6 @@
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
public void createFKForErp(ErpVisitDTO erpVisitDTO){
try {
-
if (Objects.isNull(erpVisitDTO)
|| StringUtils.isBlank(erpVisitDTO.getName())
|| StringUtils.isBlank(erpVisitDTO.getPhone())
@@ -120,6 +119,7 @@
|| Objects.isNull(erpVisitDTO.getStarttime())
|| Objects.isNull(erpVisitDTO.getEndtime())
|| StringUtils.isBlank(erpVisitDTO.getFaceImg())
+ || StringUtils.isBlank(erpVisitDTO.getDoors())
|| Objects.isNull(erpVisitDTO.getReceptMemberId())
|| Objects.isNull(erpVisitDTO.getErpId())
) {
@@ -159,7 +159,7 @@
}
visits.setWithUserList(visitsList);
}
- this.createFk(visits);
+ this.createFk(visits,true);
}catch (BusinessException e){
throw e;
}finally {
@@ -190,12 +190,12 @@
*/
@Override
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
- public Integer createFk(Visits visits) {
+ public Integer createFk(Visits visits,Boolean isERP) {
isValidBaseParam(visits);
//妫�鏌ユ槸鍚﹀繀椤荤瓟棰橈紝骞朵笖绗﹀悎绛旈瑕佹眰
ProblemLog problemLog = isValidProblemLog(visits);
//鑾峰彇鐢宠鐨勬捣搴疯闂棬绂佺粍淇℃伅
- getHkDeviceRoles(visits);
+ getHkDeviceRoles(visits,isERP);
//妫�楠屾嫓璁夸汉鏄惁鍚堟硶
Member visitMember = isValideVisitedUser(visits.getReceptMemberId());
if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())&&visits.getIdcardNo().length()!=18
@@ -577,9 +577,9 @@
|| visits.getReceptMemberId() == null){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝淇℃伅濉啓涓嶆纭紒");
}
-// if(visits.getStarttime().getTime() < System.currentTimeMillis()){
-// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害寮�濮嬫椂闂村繀椤诲ぇ浜庡綋鍓嶆椂闂达紒");//
-// }
+ if(visits.getEndtime().getTime() < System.currentTimeMillis()){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害缁撴潫鏃堕棿蹇呴』澶т簬褰撳墠鏃堕棿锛�");//
+ }
if(visits.getEndtime().getTime() <= visits.getStarttime().getTime()){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害缁撴潫鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂达紒");//
}
@@ -944,16 +944,13 @@
* @param visits
* @return
*/
- private String[] getHkDeviceRoles(Visits visits) {
+ private String[] getHkDeviceRoles(Visits visits,Boolean isERP) {
String mustSelectDoors = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SELECT_DOORS_VISIT_REQUIRED).getCode();
+ if(isERP){
+ mustSelectDoors = Constants.ONE+"";
+ }
List<DeviceRole> roles = null;
if(StringUtils.equals(mustSelectDoors,Constants.ZERO+"")){
- //濡傛灉璁剧疆涓嶉�夋嫨闂ㄧ锛屽垯鎻愪緵榛樿闂ㄧ缁勪俊鎭�
- if(StringUtils.isBlank(visits.getDoors())){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝璇烽�夋嫨璁块棶闂ㄧ锛�");
- }
- //鏍¢獙闂ㄧ缁勪俊鎭槸鍚︽纭�
- String[] dIds = visits.getDoors().split(",");
roles = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
.eq(DeviceRole::getIsDefault,Constants.ZERO)
.eq(DeviceRole::getIsdeleted,Constants.ZERO)
@@ -963,7 +960,7 @@
}
}else{
//濡傛灉蹇呴』閫夋嫨闂ㄧ锛屼絾鏈�夋嫨
- if(StringUtils.isNotBlank(visits.getDoors())){
+ if(StringUtils.isBlank(visits.getDoors())){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝璇烽�夋嫨鏈夋晥璁块棶闂ㄧ锛�");
}
String[] dIds = visits.getDoors().split(",");
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
index bc734f7..5bc3112 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -1017,12 +1017,16 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛淇℃伅涓嶅瓨鍦紒");
}
List<Integer> doorIds = getRoleIdByParam(param.getRoleIds(),member);
+ if(StringUtils.isBlank(member.getRoleId())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌闂ㄧ缁勬暟鎹�");
+ }
//鏇存柊鎺堟潈鏈夋晥鏈�
Member update = new Member();
update.setId(member.getId());
update.setEditDate(new Date());
update.setStartTime(param.getValidStartTime());
update.setEndTime(param.getValidEndTime());
+ update.setRoleId(StringUtils.isNotBlank(member.getRoleId())?member.getRoleId():null);
update.setHkStatus(Constants.ZERO);//鍋氫竴閬嶆洿鏂伴�昏緫
update.setRemark("寰呭悓姝ュ畨闃插钩鍙�");
memberMapper.updateById(update);
@@ -1035,8 +1039,10 @@
||StringUtils.isBlank(param.getCarCode())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- if(param.getValidStartTime()!=null && param.getValidEndTime()!=null&¶m.getValidStartTime().getTime()> param.getValidEndTime().getTime()){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鏈夋晥鏈熸椂闂翠笉鍚堟硶锛�");
+ if(Objects.nonNull(param.getValidStartTime())&&Objects.nonNull(param.getValidEndTime())){
+ if(param.getValidStartTime().getTime()> param.getValidEndTime().getTime()){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鏈夋晥鏈熸椂闂翠笉鍚堟硶锛�");
+ }
}
Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getErpId,param.getUserId()).last("limit 1"));
if(Objects.isNull(member)){
@@ -1048,8 +1054,13 @@
.set(ParkBook::getIsdeleted,Constants.ONE)
.set(ParkBook::getHkStatus,Constants.ZERO)
);
+ List<Parks> parksList = new ArrayList<>();
+ if(CollectionUtils.isNotEmpty(param.getParkIdList())){
+ parksList = parksMapper.selectList(new QueryWrapper<Parks>().lambda()
+ .in(Parks::getId,param.getParkIdList())
+ );
+ }
//鏌ヨ杞﹀簱淇℃伅
- List<Parks> parksList = parksMapper.selectList(new QueryWrapper<Parks>().lambda().in(Parks::getId,param.getParkIdList()));
if(CollectionUtils.isNotEmpty(parksList)){
List<ParkBook> parkBookList = new ArrayList<>();
for (Parks parks:parksList) {
@@ -1060,7 +1071,7 @@
parkBook.setParkId(parks.getId());
parkBook.setOrigin(Constants.ZERO);
parkBook.setStartTime(Objects.isNull(param.getValidStartTime())?new Date():param.getValidStartTime());
- parkBook.setEndTime(param.getValidEndTime());
+ parkBook.setEndTime(Objects.isNull(param.getValidEndTime())?null:param.getValidEndTime());
parkBook.setTimeType(Objects.isNull(param.getValidEndTime())?Constants.ZERO:Constants.ONE);
parkBook.setMemberId(member.getId());
parkBook.setHkStatus(Constants.ZERO);
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/web/InternalController.java b/server/dmvisit_web/src/main/java/com/doumee/api/web/InternalController.java
index 6736f29..f36f20b 100644
--- a/server/dmvisit_web/src/main/java/com/doumee/api/web/InternalController.java
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/InternalController.java
@@ -24,6 +24,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.validation.Valid;
import java.util.List;
/**
@@ -108,7 +109,7 @@
})
public ApiResponse createVisit(@RequestBody Visits visits) {
visits.setCreateMemberId(getMemberId());
- return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.createFk(visits));
+ return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.createFk(visits,false));
}
@LoginRequired
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java b/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
index 717c757..2a4a690 100644
--- a/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
@@ -64,7 +64,7 @@
@PostMapping("/createFk")
public ApiResponse createFk(@RequestBody Visits visits) {
visits.setSourceType(Constants.ZERO);
- return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.createFk(visits));
+ return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.createFk(visits,false));
}
diff --git a/server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java b/server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java
index 8de719e..ca45c88 100644
--- a/server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java
+++ b/server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java
@@ -19,6 +19,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.validation.Valid;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -166,7 +167,7 @@
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鎺堟潈token鍊�", required = true)
})
- public ApiResponse createVisit(@RequestBody ErpVisitDTO param) {
+ public ApiResponse createVisit(@Valid @RequestBody ErpVisitDTO param) {
param.setToken(this.getToken());
visitsService.createFKForErp(param);
return ApiResponse.success("鎿嶄綔鎴愬姛");
--
Gitblit v1.9.3