server/dmvisit_admin/src/main/java/com/doumee/api/common/PublicController.java
@@ -184,21 +184,6 @@ } @ApiOperation(value = "ä¸ä¼ ", notes = "ä¸ä¼ ", httpMethod = "POST", position = 6) @ApiImplicitParams({ @ApiImplicitParam(name = "folder", value = "æä»¶å¤¹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class), }) @PostMapping(value = "/uploadLocal", headers = "content-type=multipart/form-data") public void uploadLocal(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // CommonsMultipartFile files = (CommonsMultipartFile) multipartRequest.getFile("filedata"); uploadFileLocal(multipartRequest, folder+ "/", response, systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ROOT_PATH).getCode() , systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode()); } public void uploadFileLocal(HttpServletRequest request, String folder, HttpServletResponse response, String rootPath,String dir) throws Exception { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -45,6 +45,7 @@ String visitAppiontment= "/api/visitor/v2/appointment";//访客é¢çº¦v2 String visitAppiontmentMDJ= "/api/visitor/v1/appointment/registration";//访客é¢çº¦å ç»è®°v2 String visitCancel= "/api/visitor/v1/appointment/cancel";//åæ¶è®¿å®¢é¢çº¦ String visitOut= "/api/visitor/v1/visitor/out";//ç¾ç¦»è®¿å®¢é¢çº¦ String facePicture= "/api/resource/v1/person/picture";//æåç¨æ·äººè¸ç §ç String privilegeGroup= "/api/visitor/v1/privilege/group";//æ¥è¯¢è®¿å®¢æéç» String eventSub= "/api/eventService/v1/eventSubscriptionByEventTypes";//äºä»¶è®¢é @@ -74,15 +75,6 @@ this.key = key; } // æ®éæ¹æ³ public static String getName(int index) { for (Constants.UserType c : Constants.UserType.values()) { if (c.getKey() == index) { return c.getName(); } } return null; } // get set æ¹æ³ @@ -120,15 +112,6 @@ this.key = key; } // æ®éæ¹æ³ public static String getName(int index) { for (Constants.UserType c : Constants.UserType.values()) { if (c.getKey() == index) { return c.getName(); } } return null; } // get set æ¹æ³ server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -325,6 +325,17 @@ return result; } /** * ç¾ç¦»è®¿å®¢é¢çº¦ * @param body * @return */ public static String visitOut(String body) { Map<String, String> path = getPath(HKConstants.InterfacePath.visitOut); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请æ±application/jsonç±»ååæ° saveInterfaceLog(body,result,path); return result; } /** * 访客æéç» * @param body * @return server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/VisitAppointmentCancelRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,11 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; import java.util.List; @Data public class VisitAppointmentCancelRequest { private String[] appointRecordIds;// string[] True é¢çº¦è®°å½IDçæ°ç»ï¼ä¸æ¥è¯¢è®¿å®¢é¢çº¦è®°å½v2æ¥å£ä¸çappointRecordIdå¯¹åº } server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/VisitAppointmentOutRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,9 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class VisitAppointmentOutRequest { private String orderId ;//string True 访客记å½idï¼ä»æ¥è¯¢è®¿å®¢æ¥è®¿è®°å½v2æ¥å£è·åè¿åæ¥æä¸çorderIdåæ®µ } server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -373,6 +373,42 @@ return null; } /** *访客é¢çº¦åæ¶ * @return */ public static BaseResponse cancelVisitAppiontment(VisitAppointmentCancelRequest param){ log.error("ãæµ·åº·è®¿å®¢é¢çº¦åæ¶ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.visitCancel(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse>(){}; BaseResponse result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康访客é¢çº¦åæ¶"); return result; }catch (Exception e){ log.error("ãæµ·åº·è®¿å®¢é¢çº¦åæ¶ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *访客é¢çº¦ç¾ç¦» * @return */ public static BaseResponse outVisitAppiontment(VisitAppointmentOutRequest param){ log.error("ãæµ·åº·è®¿å®¢é¢çº¦ç¾ç¦»ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.visitOut(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse>(){}; BaseResponse result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康访客é¢çº¦ç¾ç¦»"); return result; }catch (Exception e){ log.error("ãæµ·åº·è®¿å®¢é¢çº¦ç¾ç¦»ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *访客å ç»è®°é¢çº¦ * @return */ server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -6,7 +6,11 @@ import java.math.BigDecimal; import java.net.URLDecoder; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Constants { @@ -47,6 +51,17 @@ } return birthday; } /** * 夿æ¯å¦ä¸ºææè½¦çå· */ public static boolean checkCarNo(String str) { String patt="^[京津沪åæè¾½åé»èæµçé½èµ£é²è±«éæ¹ç²¤æ¡ç¼å·é»äºæ¸èééé宿°é½ç²¤æç¼ä½¿é¢A_Z]{1}[A_Z]{1}[A-Z0-9]{4}[A-Z0-9æå¦è¦æ¸¯æ¾³]{1}$"; Pattern r = Pattern.compile(patt); Matcher matcher = r.matcher(str); return matcher.find(); } public static String getTuominStr(String s){ if(StringUtils.isEmpty(s)){ return ""; @@ -87,6 +102,17 @@ int fk = 1;//æ®é访客 int nb = 2;//å é¨è®¿å®¢ } public interface VisitStatus{ //å®¡æ ¸ç¶æ 0å¾ å®¡æ ¸ 1å·²æäº¤ERPå®¡æ¹ 2å®¡æ ¸éè¿ 3å®¡æ ¸ä¸éè¿ 4åæ¶ 5ä¸åæå 6ä¸å失败 7å·²ç¾ç¦» int waitCheck = 0; int submitCheck = 1; int pass = 2; int noPass = 3; int cancel = 4; int xfSuccess = 5; int xfFail = 6; int signout = 7; } public interface DOOR_ROLE_TYPE{ int lw = 0; int fk = 1; @@ -98,7 +124,6 @@ public static final String ACCESS_ID="ACCESS_ID"; public static final String BUCKETNAME = "BUCKETNAME"; public static final String OSS = "OSS"; public static final String COFFEE_ARTICLE = "COFFEE_ARTICLE"; public static final String ACCESS_KEY = "ACCESS_KEY"; public static final String ENDPOINT = "ENDPOINT"; @@ -179,15 +204,7 @@ return d.longValue(); } public interface UserRelObjType{ int objTypeRoom = 0; int objTypeBook = 1; } public interface RoomRecordObjType{ int objTypeRoom = 0;//管çåå¼é¨ int objTypeBook_in = 1;//åä¼äººåå¼é¨ int objTypeBook_out = 2;//访客å¼é¨ } public interface memberType{ int visitor = 0;//æ®é访客 int lw_visitor = 1;//å³å¡è®¿å®¢ @@ -199,84 +216,6 @@ } /** * ç¨æ·ç±»å */ public enum UserType { SYSTEM(0, "ç³»ç»ç¨æ·", "管çå",Arrays.asList(0)), ORG(1, "æºæ", "æºæ",Arrays.asList(1)), CREATION(2, "åä½ä¸å¿", "åä½ä¸å¿",Arrays.asList(2)) ; // æååé private String name; private int key; private List<Integer> historyStatus; private String noteinfo;// æè¿° // æé æ¹æ³ UserType(int key, String name, String noteinfo,List<Integer> historyStatus) { this.name = name; this.key = key; this.noteinfo = noteinfo; this.historyStatus=historyStatus; } // æ®éæ¹æ³ public static String getName(int index) { for (UserType c : UserType.values()) { if (c.getKey() == index) { return c.name; } } return null; } // æ®éæ¹æ³ public static String getInfo(int index) { for (UserType c : UserType.values()) { if (c.getKey() == index) { return c.noteinfo; } } return null; } // æ®éæ¹æ³ public static List<Integer> getHistoryStatus(int index) { for (UserType c : UserType.values()) { if (c.getKey() == index) { return c.historyStatus; } } return null; } // get set æ¹æ³ public String getName() { return name; } public void setName(String name) { this.name = name; } public int getKey() { return key; } public List<Integer> getHistoryStatus() { return historyStatus; } public void setKey(int key) { this.key = key; } public String getNoteinfo() { return noteinfo; } } /** * æ°æ®ç¶ææä¸¾ @@ -315,516 +254,6 @@ } /** * å ³è对象类å 0æ´»å¨è½®æå¾ 1æ´»å¨è¯¦æ å¾ 2é¨åºè¯ä»·3订åè¯ä»· 4å¹³å°ååè½®æ 5æ¢åºå¤å¾ 6åºéºæ°é²äºå¤å¾ 7åå®¶å¾çå¤å¾ */ public enum MultiFile{ ACTIVITY_ROTATION(0, "æ´»å¨è½®æå¾", "æ´»å¨è½®æå¾"), ACTIVITY_DETAIL(1, "æ´»å¨è¯¦æ å¾", "æ´»å¨è¯¦æ å¾"), SHOP_APPRAISE(2, "é¨åºè¯ä»·", "é¨åºè¯ä»·"), ORDER_APPRAISE(3, "订åè¯ä»·", "订åè¯ä»·"), PLATFORM_GOOD_ROTATION(4, "å¹³å°ååè½®æ", "å¹³å°ååè½®æ"), TANDIAN_PICTURE(5, "æ¢åºå¤å¾", "æ¢åºå¤å¾"), SHOP_HOT_PICTURE(6, "åºéºæ°é²äºå¤å¾", "åºéºæ°é²äºå¤å¾"), SHOP_PICTURE(7, "åå®¶å¾çå¤å¾", "åå®¶å¾çå¤å¾"), AFTERSALE_APPLY(8, "ç³è¯·å®åè¡¥å 说æéä»¶", "ç³è¯·å®åè¡¥å 说æéä»¶"), AFTERSALE_KD(9, "ç³è¯·å®åé®å¯è¯´æéä»¶", "ç³è¯·å®åé®å¯è¯´æéä»¶"), ; // æååé private String name; private int key; private String noteinfo;// æè¿° // æé æ¹æ³ MultiFile(int key, String name, String noteinfo) { this.name = name; this.key = key; this.noteinfo = noteinfo; } // æ®éæ¹æ³ public static String getName(int index) { for (MultiFile c : MultiFile.values()) { if (c.getKey() == index) { return c.name; } } return null; } // æ®éæ¹æ³ public static String getInfo(int index) { for (MultiFile c : MultiFile.values()) { if (c.getKey() == index) { return c.noteinfo; } } return null; } // get set æ¹æ³ public String getName() { return name; } public void setName(String name) { this.name = name; } public int getKey() { return key; } public void setKey(int key) { this.key = key; } public String getNoteinfo() { return noteinfo; } } /** * 订å管ç * ç¶æ 0ç³è¯·ä¸ 1å·²æ¯ä» 2已忶 */ public enum ActivitySignupStatus{ APPLY_ING(0, "ç³è¯·ä¸", "ç³è¯·ä¸"), PAY_DONE(1, "å·²æ¯ä»", "å·²æ¯ä»"), CANCEL(2, "已忶", "已忶"), ; // æååé private String name; private int key; private String noteinfo;// æè¿° // æé æ¹æ³ ActivitySignupStatus(int key, String name, String noteinfo) { this.name = name; this.key = key; this.noteinfo = noteinfo; } // æ®éæ¹æ³ public static String getName(int index) { for (ActivitySignupStatus c : ActivitySignupStatus.values()) { if (c.getKey() == index) { return c.name; } } return null; } // æ®éæ¹æ³ public static String getInfo(int index) { for (ActivitySignupStatus c : ActivitySignupStatus.values()) { if (c.getKey() == index) { return c.noteinfo; } } return null; } // get set æ¹æ³ public String getName() { return name; } public void setName(String name) { this.name = name; } public int getKey() { return key; } public void setKey(int key) { this.key = key; } public String getNoteinfo() { return noteinfo; } } /** * å®åç¶æ * ç¶æ 0å¾ å¤ç 1å¾ é®å¯ 2å·²å¯åº 3å家已鿬¾ 4åå®¶å·²åè´§5å®å已宿6åå®¶æç» 7已忶 */ public enum AftersaleStatus{ APPLY_ING(0, "å¾ å¤ç", "å¾ å¤ç"), WAIT_SEND(1, "å¾ é®å¯", "å¾ é®å¯"), SENDED(2, "客æ·å·²å¯åº", "客æ·å·²å¯åº"), REFUND(3, "已鿬¾", "已鿬¾"), SHOP_SENDED(4, "å¹³å°å·²åè´§", "å¹³å°å·²åè´§"), DONE(5, "å®å已宿", "å®å已宿"), SHOP_REFUSE(6, "å·²æç»", "平尿ç»"), CANCEL(7, "已忶", "客æ·åæ¶å®å"), ; // æååé private String name; private int key; private String noteinfo;// æè¿° // æé æ¹æ³ AftersaleStatus(int key, String name, String noteinfo) { this.name = name; this.key = key; this.noteinfo = noteinfo; } // æ®éæ¹æ³ public static String getName(int index) { for (AftersaleStatus c : AftersaleStatus.values()) { if (c.getKey() == index) { return c.name; } } return null; } // æ®éæ¹æ³ public static String getInfo(int index) { for (AftersaleStatus c : AftersaleStatus.values()) { if (c.getKey() == index) { return c.noteinfo; } } return null; } // get set æ¹æ³ public String getName() { return name; } public void setName(String name) { this.name = name; } public int getKey() { return key; } public void setKey(int key) { this.key = key; } public String getNoteinfo() { return noteinfo; } } /** * å®åç±»å * å®åç±»å 0鿬¾ 1éè´§éæ¬¾ 2æ¢è´§ */ public enum AftersaleType{ TK(0, "鿬¾", "鿬¾"), THTK(1, "éè´§éæ¬¾", "éè´§éæ¬¾"), HH(2, "æ¢è´§", "æ¢è´§"), ; // æååé private String name; private int key; private String noteinfo;// æè¿° // æé æ¹æ³ AftersaleType(int key, String name, String noteinfo) { this.name = name; this.key = key; this.noteinfo = noteinfo; } // æ®éæ¹æ³ public static String getName(int index) { for (AftersaleType c : AftersaleType.values()) { if (c.getKey() == index) { return c.name; } } return null; } // æ®éæ¹æ³ public static String getInfo(int index) { for (AftersaleType c : AftersaleType.values()) { if (c.getKey() == index) { return c.noteinfo; } } return null; } // get set æ¹æ³ public String getName() { return name; } public void setName(String name) { this.name = name; } public int getKey() { return key; } public void setKey(int key) { this.key = key; } public String getNoteinfo() { return noteinfo; } } /** * 订å管ç * ç¶æ 0å¾ æ¯ä» 1å¾ åè´§ 2å¾ æ¶è´§ 3交æå®æ 4å·²å ³é 5é¨ååè´§ */ public enum OrderStatus{ WAIT_PAY(0, "å¾ æ¯ä»", "å¾ æ¯ä»"), PAY_DONE(1, "å¾ åè´§", "å·²æ¯ä»ä»£åè´§"), WAIT_RECEIVE(2, "å¾ æ¶è´§", "å·²åè´§å¾ æ¶è´§"), DONE(3, "交æå®æ", "交æå®æ"), CLOSE(4, "å·²å ³é", "å·²å ³é"), PART_DONE(5, "é¨ååè´§", "é¨ååè´§"), ; // æååé private String name; private int key; private String noteinfo;// æè¿° // æé æ¹æ³ OrderStatus(int key, String name, String noteinfo) { this.name = name; this.key = key; this.noteinfo = noteinfo; } // æ®éæ¹æ³ public static String getName(int index) { for (OrderStatus c : OrderStatus.values()) { if (c.getKey() == index) { return c.name; } } return null; } // æ®éæ¹æ³ public static String getInfo(int index) { for (OrderStatus c : OrderStatus.values()) { if (c.getKey() == index) { return c.noteinfo; } } return null; } // get set æ¹æ³ public String getName() { return name; } public void setName(String name) { this.name = name; } public int getKey() { return key; } public void setKey(int key) { this.key = key; } public String getNoteinfo() { return noteinfo; } } /** * 订åç±»å * 订åç±»å 0å¹³å°åå 1åè±åå 2åå¡è®¡åç¼ç */ public enum OrderType{ ADMINPLAT(0, "å¹³å°åå ", "å¹³å°åå "), KADOUPLAT(1, "åè±åå", "åè±åå"), COFFERPLAN(2, "2åå¡è®¡åç¼ç ", "2åå¡è®¡åç¼ç ") ; // æååé private String name; private int key; private String noteinfo;// æè¿° // æé æ¹æ³ OrderType(int key, String name, String noteinfo) { this.name = name; this.key = key; this.noteinfo = noteinfo; } // æ®éæ¹æ³ public static String getName(int index) { for (OrderType c : OrderType.values()) { if (c.getKey() == index) { return c.name; } } return null; } // æ®éæ¹æ³ public static String getInfo(int index) { for (OrderType c : OrderType.values()) { if (c.getKey() == index) { return c.noteinfo; } } return null; } // get set æ¹æ³ public String getName() { return name; } public void setName(String name) { this.name = name; } public int getKey() { return key; } public void setKey(int key) { this.key = key; } public String getNoteinfo() { return noteinfo; } } public enum ShareType{ // 0æ´»å¨1æ¢åº2å¨è¯¢3åºéº 4åå5å享éè¯·æµ·æ¥ SHARE_ACTIVITY_ACTIVITY(0,"æ´»å¨","æ´»å¨"), SHARE_ACTIVITY_VISITSHOP(1,"æ¢åº","å¨è¯¢"), SHARE_ACTIVITY_NEW(2,"å¨è¯¢","å¨è¯¢"), SHARE_SHOP(3,"åºéº","åºéº" ), SHARE_GOODS(4,"åå","åå"), SHARE_POSTER(5,"å享é请海æ¥","å享é请海æ¥") ; private Integer key; private String name; private String des; ShareType(Integer key, String name, String des) { this.key = key; this.name = name; this.des = des; } public Integer getKey() { return key; } public void setKey(Integer key) { this.key = key; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDes() { return des; } public void setDes(String des) { this.des = des; } } /** * åè±ä»»å¡ */ public enum CoffeeBeanTask{ SIGN_BOARD(1,"SIGN_BOARD","æ¯æ¥ç¾å°"), SHARE_INFO(6,"SHARE_INFO","å享èµè®¯"), SHARE_INVITE_BILL(2,"SHARE_INVITE_BILL","å享é请海æ¥"), INVITE_USER_LOGIN(3,"INVITE_USER_LOGIN","é请æ°ç¨æ·æ³¨å"), EXCHANGE_GOODS(4,"INVITE_USER_LOGIN","å æ¢åå"), EXCHANGE_COUPON(5,"INVITE_USER_LOGIN","å æ¢ä¼æ å¸"), POST_COMMENTS(7,"POST_COMMENTS","åå¸è¯è®º"), COFFEE_MAP_CONSUME(8,"COFFEE_MAP_CONSUME","åå¡å°å¾æ¶è´¹"), ; // 0平尿³¨å 1ç¾å° 2å享é请 3é请æ°ç¨æ· 4å æ¢åå 5å æ¢ä¼æ å¸ // æååé private Integer key; private String name; private String des;// æè¿° CoffeeBeanTask(Integer key, String name, String des) { this.key = key; this.name = name; this.des = des; } public Integer getKey() { return key; } public void setKey(Integer key) { this.key = key; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDes() { return des; } public void setDes(String des) { this.des = des; } } public enum NoticeType{ // 0订åéç¥ 1ç³»ç»æ¶æ¯ 2äºå¨æ¶æ¯ 3伿 叿é 4宿¹å®¢æ 5æ´»å¨æ¨è 6æçå ³æ³¨ } server/dmvisit_service/src/main/java/com/doumee/dao/business/VisitsMapper.java
@@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.Visits; import java.util.List; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ public interface VisitsMapper extends BaseMapper<Visits> { void insertBatchSomeColumn(List<Visits> withUserList); } server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -99,7 +99,9 @@ @ApiModelProperty(value = "è¯ä»¶æ¾ç¤ºä¿¡æ¯") @ExcelColumn(name="è¯ä»¶æ¾ç¤ºä¿¡æ¯") private String idcardDecode; @ApiModelProperty(value = "è¯ä»¶ç±»å 0èº«ä»½è¯ 1港澳è¯ä»¶ 2æ¤ç §", example = "1") @ExcelColumn(name="è¯ä»¶ç±»å 0èº«ä»½è¯ 1港澳è¯ä»¶ 2æ¤ç §") private Integer idcardType; @ApiModelProperty(value = "å·¥å·") @ExcelColumn(name="å·¥å·") private String code; @@ -111,7 +113,9 @@ @ApiModelProperty(value = "ç¶æ 0æ£å¸¸ 1ç¦ç¨ 2æé»/å»ç»", example = "1") @ExcelColumn(name="ç¶æ 0æ£å¸¸ 1ç¦ç¨ 2æé»/å»ç»") private Integer status; @ApiModelProperty(value = "æ§å« 1ç· 2女 ", example = "1") @ExcelColumn(name="æ§å« 1ç· 2女") private Integer sex; @ApiModelProperty(value = "æ·»å 人ç¼ç ï¼èªå ³èï¼", example = "1") @ExcelColumn(name="æ·»å 人ç¼ç ï¼èªå ³èï¼") private Integer parentId; server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -130,8 +130,8 @@ @ExcelColumn(name="æ¥å¾ 人å") private Integer receptMemberId; @ApiModelProperty(value = "å®¡æ ¸ç¶æ 0å¾ å®¡æ ¸ 1å·²æäº¤ERPå®¡æ¹ 2å®¡æ ¸éè¿ 3å®¡æ ¸ä¸éè¿ 4åæ¶", example = "1") @ExcelColumn(name="å®¡æ ¸ç¶æ 0å¾ å®¡æ ¸ 1å·²æäº¤ERPå®¡æ¹ 2å®¡æ ¸éè¿ 3å®¡æ ¸ä¸éè¿ 4åæ¶") @ApiModelProperty(value = "å®¡æ ¸ç¶æ 0å¾ å®¡æ ¸ 1å·²æäº¤ERPå®¡æ¹ 2å®¡æ ¸éè¿ 3å®¡æ ¸ä¸éè¿ 4åæ¶ 5ä¸åæå 6ä¸å失败", example = "1") @ExcelColumn(name="å®¡æ ¸ç¶æ 0å¾ å®¡æ ¸ 1å·²æäº¤ERPå®¡æ¹ 2å®¡æ ¸éè¿ 3å®¡æ ¸ä¸éè¿ 4åæ¶ 5ä¸åæå 6ä¸å失败") private Integer status; @ApiModelProperty(value = "å审人ç¼ç ", example = "1") @@ -165,7 +165,9 @@ @ApiModelProperty(value = "è¯ä»¶ç±»å 0èº«ä»½è¯ 1港澳è¯ä»¶ 2æ¤ç §", example = "1") @ExcelColumn(name="è¯ä»¶ç±»å 0èº«ä»½è¯ 1港澳è¯ä»¶ 2æ¤ç §") private Integer idcardType; @ApiModelProperty(value = "æ§å« 1ç· 2女 ", example = "1") @ExcelColumn(name="æ§å« 1ç· 2女") private Integer sex; @ApiModelProperty(value = "车çå·ï¼å¤ä¸ªç¨è±æéå·éå¼") @ExcelColumn(name="车çå·ï¼å¤ä¸ªç¨è±æéå·éå¼") private String carNos; @@ -181,6 +183,9 @@ @ApiModelProperty(value = "海康æ è¯") @ExcelColumn(name="海康æ è¯") private String hkId; @ApiModelProperty(value = "openid") @ExcelColumn(name="openid") private String openid; @ApiModelProperty(value = "æµ·åº·åæ¥ç¶æ 0æªåæ¥ 1已忥", example = "1") @ExcelColumn(name="æµ·åº·åæ¥ç¶æ 0æªåæ¥ 1已忥") server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -4,6 +4,13 @@ import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.haikang.model.HKConstants; import com.doumee.core.haikang.model.HKTools; import com.doumee.core.haikang.model.param.BaseResponse; import com.doumee.core.haikang.model.param.request.VisitAppointmentCancelRequest; import com.doumee.core.haikang.model.param.request.VisitAppointmentRequest; import com.doumee.core.haikang.model.param.respose.VisitAppointmentResponse; import com.doumee.core.haikang.service.HKService; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; @@ -25,9 +32,11 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.DigestUtils; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -63,18 +72,9 @@ * @return */ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer createFk(Visits visits) { if(visits.getStarttime() == null || visits.getEndtime() == null || StringUtils.isBlank(visits.getReason()) || StringUtils.isBlank( visits.getName()) || StringUtils.isBlank( visits.getPhone()) || visits.getIdcardType() == null || StringUtils.isBlank( visits.getFaceImg() ) || StringUtils.isBlank( visits.getIdcardNo() ) || visits.getReceptMemberId() == null){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼ä¿¡æ¯å¡«å䏿£ç¡®ï¼"); } isValidBaseParam(visits); //æ£æ¥æ¯å¦å¿ é¡»çé¢ï¼å¹¶ä¸ç¬¦åçé¢è¦æ± ProblemLog problemLog = isValidProblemLog(visits); //è·åç³è¯·ç海康访é®é¨ç¦ç»ä¿¡æ¯ @@ -88,31 +88,223 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼èº«ä»½è¯å·ç æè¯¯ï¼è¯·æ ¸å®åéè¯ï¼"); } Date date = new Date(); visits.setBirthday(Constants.getBirthdyByCardNo(visits.getIdcardNo())); //身份è¯å·åå¨å¯æ visits.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, visits.getIdcardNo()));//身份è¯å·å å¯ visits.setIdcardDecode(Constants.getTuominStr(visits.getIdcardNo()));//è±æææºå· visits.setCreateDate(date); //访客信æ¯(使ç¨èº«ä»½è¯å·æ¥è¯¢æ¯å¦å·²å卿¹æ®éè®¿å®¢ï¼æ²¡æåæ°å¢ï¼åå¨åæ´æ°openidçä¿¡æ¯) Member member = getMemberByIdcardno(visits); Member member =dealMemberAndVisits(visits); //åå§åè®¿å®¢ä¿¡æ¯ initVisitInfo(visits,date); //åèµ·ERP审æ¹ç³è¯· String erpid = startSendErpCheck(visits); if(StringUtils.isNotBlank(erpid)){ visits.setErpId(erpid); }else{ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对ä¸èµ·ï¼åèµ·æè®¿å®¡æ¹ç³è¯·å¤±è´¥ï¼"); } visitsMapper.insert(visits); initWithVisitInfo(visits); updateProblemLog(visits,problemLog,member); return visits.getId(); } private Member getMemberByIdcardno(Visits idcardNo) { Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() // .eq(Member::getType,Constants.MEMBER_TYPE) .eq(Member::getIdcardNo,idcardNo.getIdcardNo()) ); /** * æ ¡éªå¿ å¡«é¡¹æ°æ®æ¯å¦åæ³ * @param visits */ private void isValidBaseParam(Visits visits) { if(visits.getStarttime() == null || visits.getEndtime() == null || StringUtils.isBlank(visits.getReason()) || StringUtils.isBlank( visits.getName()) || StringUtils.isBlank( visits.getPhone()) || visits.getIdcardType() == null || StringUtils.isBlank( visits.getFaceImg() ) || StringUtils.isBlank( visits.getIdcardNo() ) || 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() <= visits.getStarttime().getTime()){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼é¢çº¦ç»ææ¶é´å¿ 须大äºå¼å§æ¶é´ï¼");// } } private void isValidWithVisitParam(Visits visits, List<Member> addList, List<Member> updateList) { if( StringUtils.isBlank( visits.getName()) || StringUtils.isBlank( visits.getPhone()) || visits.getIdcardType() == null || StringUtils.isBlank( visits.getFaceImg() ) || StringUtils.isBlank( visits.getIdcardNo() ) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼ä¿¡æ¯å¡«å䏿£ç¡®ï¼"); } if(visits.getStarttime().getTime() < System.currentTimeMillis()){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼é¢çº¦å¼å§æ¶é´å¿ 须大äºå½åæ¶é´ï¼");// } if(visits.getEndtime().getTime() <= visits.getStarttime().getTime()){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼é¢çº¦ç»ææ¶é´å¿ 须大äºå¼å§æ¶é´ï¼");// } if(isRepeatedMember(visits,addList,updateList)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼ææºå·æèº«ä»½è¯å·åºç°é夿°æ®ï¼è¯·ä¿®æ¹åéæ°æäº¤ï¼");// } } private boolean isRepeatedMember(Visits visits, List<Member> addList, List<Member> updateList) { if(addList.size()>0){ for(Member m :addList){ if(StringUtils.equals(visits.getPhone(), m.getPhone()) || StringUtils.equals(visits.getIdcardNo(), m.getIdcardDecode())){ return true; } } } if(updateList.size()>0){ for(Member m :updateList){ if(StringUtils.equals(visits.getPhone(), m.getPhone()) || StringUtils.equals(visits.getIdcardNo(), m.getIdcardDecode())){ return true; } } } return false; } private void initWithVisitInfo(Visits visits) { if(visits.getWithUserList()!=null && visits.getLwWithUserList().size()>0){ for(Visits v :visits.getWithUserList()){ v.setParentId(visits.getId()); v.setStarttime(visits.getStarttime()); v.setEndtime(visits.getEndtime()); v.setIsdeleted(Constants.ZERO); v.setCreateDate(visits.getCreateDate()); v.setErpId(visits.getErpId()); v.setHkStatus(Constants.ZERO); v.setStatus(Constants.ZERO); } //æ¹éæå ¥æ°æ® visitsMapper.insertBatchSomeColumn(visits.getWithUserList()); } } private void initVisitInfo(Visits visits,Date date) { visits.setHkStatus(Constants.ZERO);//æªåæ¥ visits.setBirthday(Constants.getBirthdyByCardNo(visits.getIdcardNo())); visits.setStatus(Constants.ZERO);//å¾ å®¡æ¹ visits.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, visits.getIdcardNo()));//身份è¯å·å å¯ //身份è¯å·åå¨å¯æ visits.setIdcardDecode(Constants.getTuominStr(visits.getIdcardNo()));//è±æææºå· visits.setCreateDate(date); } private String startSendErpCheck(Visits visits) { return null; } private String visitAppiontment(Visits visits) { VisitAppointmentRequest param = new VisitAppointmentRequest(); param.setVisitStartTime(HKTools.getISO8601Timestamp(visits.getStarttime())); param.setVisitEndTime(HKTools.getISO8601Timestamp(visits.getStarttime())); BaseResponse<VisitAppointmentResponse> res = HKService.visitAppiontment(param); if(res==null || !StringUtils.equals(res.getCode(), HKConstants.RESPONSE_SUCCEE) || res.getData()==null){ //妿åèµ·é¢çº¦å¤±è´¥ visits.setStatus(Constants.VisitStatus.xfFail); }else{ visits.setStatus(Constants.VisitStatus.xfSuccess); visits.setHkStatus(Constants.ONE); visits.setHkId(res.getData().getAppointRecordId()); } visits.setHkDate(visits.getCheckDate()); return res.getData().getAppointRecordId(); } /** * æ ¡é©ç³è«äººä¿¡æ¯ï¼æåä¿®æ¹ï¼æ åæ°å¢ï¼å¹¶ç»å®ææ°openidæ°æ® * @param visits * @return */ private Member dealMemberAndVisits(Visits visits ) { if(StringUtils.isNotBlank(visits.getOpenid())){ //å æ¸ 空åæè®¿å®¢çopenidç»å®å ³ç³» memberMapper.update(null, new UpdateWrapper<Member>().lambda() .eq(Member::getType,Constants.memberType.visitor) .eq(Member::getOpenid,visits.getOpenid()) .set(Member::getOpenid,null) ); } List<Member> addList = new ArrayList<>(); List<Member> editList = new ArrayList<>(); //ç³è¯·äººä¿¡æ¯ Member m = getMemberListParam(visits.getIdcardNo(),visits,addList,editList); //é访人åä¿¡æ¯å¤ç if(visits.getWithUserList()!= null && visits.getWithUserList().size()>0){ for(Visits model:visits.getWithUserList()){ //æ ¡éªé访人åå¡«æ¥æ°æ®åæ³æ§ isValidWithVisitParam(model,addList,editList); model.setCreateDate(visits.getCreateDate()); getMemberListParam(model.getIdcardNo(),visits,addList,editList); } } return m; } private Member getMemberListParam(String cardno, Visits visits, List<Member> addList, List<Member> editList) { if(!Constants.checkCarNo(visits.getCarNos())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼è½¦çå·ã"+visits.getCarNos()+"ãä¸åæ³ï¼è¯·æ ¸å®åéè¯~"); } Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() .eq(Member::getType,Constants.memberType.visitor) .eq(Member::getIdcardType,visits.getIdcardType()) .eq(Member::getIdcardNo,visits.getIdcardNo()).last("limit 1" ) ); if(member == null){ //å¦æç¨æ·ä¸åå¨ï¼åæ°å¢ member.setCreateDate(visits.getCreateDate()); member.setIsdeleted(Constants.ZERO); member.setIdcardNo(visits.getIdcardNo()); member.setIdcardDecode(visits.getIdcardDecode()); member.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, cardno));//身份è¯å·å å¯ member.setIdcardDecode(Constants.getTuominStr(cardno));//è±æææºå· member.setName(visits.getName()); member.setPhone(visits.getPhone()); member.setOpenid(visits.getOpenid()); member.setType(Constants.memberType.visitor); member.setStatus(Constants.ZERO); member.setSex(visits.getSex()); // æ°å¢è®¿å®¢è®°å½ addList.add(member); }else{ if(!Constants.equalsInteger(Constants.ZERO,member.getStatus() )){ //å¦æç¨æ·ç¶æå¼å¸¸ï¼åæç¤º throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对ä¸èµ·ï¼è¯¥èº«ä»½è¯å·è¢«ç¦æ¢è®¿é®ç³è¯·ï¼å¦æçé®ï¼è¯·èç³»æ¨çæè®¿äººè¿è¡æ ¸å®"); } //æ ¸æ¥é¢çº¦ç¨æ·æ¯å¦å卿ªç¾ç¦»çé¢çº¦è®°å½ isExsitNoOutVisisRecord(member); member.setEditDate(visits.getCreateDate()); member.setIsdeleted(Constants.ZERO); member.setIdcardNo(visits.getIdcardNo()); member.setIdcardDecode(visits.getIdcardDecode()); member.setName(visits.getName()); member.setPhone(visits.getPhone()); member.setOpenid(visits.getOpenid()); member.setSex(visits.getSex()); // æ´æ°è®¿å®¢ä¿¡æ¯, editList.add(member); } return member; } /** * æ ¸æ¥é¢çº¦ç¨æ·æ¯å¦å卿ªç¾ç¦»çé¢çº¦è®°å½ * @param member */ private void isExsitNoOutVisisRecord(Member member) { Visits v = visitsMapper.selectOne(new QueryWrapper<Visits>().lambda() .eq(Visits::getPhone, member.getPhone()) .eq(Visits::getStatus,Constants.VisitStatus.xfSuccess) .last(" limit 1" ) ); if(v !=null){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对ä¸èµ·ï¼ææºå·ã"+member.getPhone()+"ãå卿ªç¾ç¦»é¢çº¦ç³è¯·ï¼ä¸è½éå¤ç³è¯·å¦ï¼"); } } private List<Member> isValideWithUsers(List<Visits> withUserList) { if(withUserList!= null && withUserList .size()>0){ for(Visits model:withUserList){ server/dmvisit_web/src/main/java/com/doumee/api/common/PublicController.java
@@ -185,20 +185,6 @@ @ApiOperation(value = "ä¸ä¼ æå¡å¨æ¬å°", notes = "ä¸ä¼ æå¡å¨æ¬å°", httpMethod = "POST", position = 6) @ApiImplicitParams({ @ApiImplicitParam(name = "folder", value = "æä»¶å¤¹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class), }) @PostMapping(value = "/uploadLocal", headers = "content-type=multipart/form-data") public void uploadLocal(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // CommonsMultipartFile files = (CommonsMultipartFile) multipartRequest.getFile("filedata"); uploadFileLocal(multipartRequest, folder+ "/", response, systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ROOT_PATH).getCode() , systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode()); } public void uploadFileLocal(HttpServletRequest request, String folder, HttpServletResponse response, String rootPath,String dir) throws Exception { response.setCharacterEncoding("UTF-8"); server/openapi/src/main/java/com/doumee/api/common/PublicController.java
@@ -185,20 +185,6 @@ @ApiOperation(value = "ä¸ä¼ æå¡å¨æ¬å°", notes = "ä¸ä¼ æå¡å¨æ¬å°", httpMethod = "POST", position = 6) @ApiImplicitParams({ @ApiImplicitParam(name = "folder", value = "æä»¶å¤¹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class), }) @PostMapping(value = "/uploadLocal", headers = "content-type=multipart/form-data") public void uploadLocal(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // CommonsMultipartFile files = (CommonsMultipartFile) multipartRequest.getFile("filedata"); uploadFileLocal(multipartRequest, folder+ "/", response, systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ROOT_PATH).getCode() , systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode()); } public void uploadFileLocal(HttpServletRequest request, String folder, HttpServletResponse response, String rootPath,String dir) throws Exception { response.setCharacterEncoding("UTF-8");