From fc17a98e0bd076bd69d2418ec7c5d61e8a54f8bb Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 07 十二月 2023 15:24:41 +0800
Subject: [PATCH] 11111
---
server/dmvisit_service/src/main/java/com/doumee/core/wx/WXConstant.java | 19
server/dmvisit_web/src/main/java/com/doumee/api/ScheduleTool.java | 72 +++
server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java | 23 +
server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemLogService.java | 9
server/dmvisit_web/src/main/java/com/doumee/api/web/ApiController.java | 2
server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java | 73 +++
server/dmvisit_service/src/main/java/com/doumee/dao/web/response/WxAuthorizeVO.java | 18
server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java | 47 ++
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 52 ++
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java | 652 ++++++++++++++++++++++++++++++++
server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemsService.java | 10
server/dmvisit_service/src/main/java/com/doumee/dao/web/response/ProblemsVO.java | 43 ++
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java | 27 +
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java | 60 +++
server/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/FinishAnswerDTO.java | 34 +
15 files changed, 1,141 insertions(+), 0 deletions(-)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
index 924cb84..1fce4da 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -113,6 +113,15 @@
+ public static final String WX_PLATFORM = "WX_PLATFORM";
+ public static final String WX_PLATFORM_ACCESS_TOKEN = "WX_PLATFORM_ACCESS_TOKEN";
+ public static final String WX_PLATFORM_APPID = "WX_PLATFORM_APPID";
+ public static final String WX_PLATFORM_SECRET = "WX_PLATFORM_SECRET";
+
+
+
+
+
public interface RedisKeys {
public static final String GOODSORDER_KEY = "ordercode_";
@@ -170,9 +179,652 @@
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;//鍔冲姟璁垮
+ int internal = 2;//鍐呴儴浜哄憳
+}
public static void main(String[] args) {
String t = URLDecoder.decode("https://lsqw.gtja.com/qwcos/v-index.html#/loginforProperty?corpId=ww4b7aefafeb430e4b&corpId=ww4b7aefafeb430e4b&agentId=1000005&agentId=1000005&fromRoute=&userCode=013561&userCode=&userId=zz&userId=&encryptUserCode=&custQwId=wmIUuSDgAAR8MhtVY8w90EyKltvoK5fA&custCode=&openId=op1wZwD1dKuBQywmWWS5957zUOJI&name=%E8%B9%84%E8%B9%84&headUrl=http%3A%2F%2Fwx.qlogo.cn%2Fmmhead%2FQ3auHgzwzM4QlibSOAvYcvRMdsoyF3Ua7duLOYSJfB3dsGsYxIYonBw%2F0&dbHeadUrl=https%3A%2F%2Ftgf.gtja.com%2Ff%2F%2Fqwoms%2F2022512%2Fqwoms_1652332606613_8.jpg");
System.out.println(t);
}
+
+ /**
+ * 鐢ㄦ埛绫诲瀷
+ */
+ 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;
+ }
+
+ }
+
+ /**
+ * 鏁版嵁鐘舵�佹灇涓�
+ *
+ */
+ public enum Status {
+
+ /** 鐢ㄦ埛鍚敤绂佺敤鏋氫妇鍊�*/
+ ENABLE(0,"姝e父"),
+ DISABLE(1,"绂佺敤");
+
+ private Integer value;
+ private String des;
+
+
+ Status(Integer value, String des) {
+ this.value = value;
+ this.des = des;
+ }
+
+ public Integer getValue() {
+ return value;
+ }
+
+ public void setValue(Integer value) {
+ this.value = value;
+ }
+
+ public String getDes() {
+ return des;
+ }
+
+ public void setDes(String des) {
+ this.des = des;
+ }
+ }
+
+
+ /**
+ * 鍏宠仈瀵硅薄绫诲瀷 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鎴戠殑鍏虫敞
+
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/wx/WXConstant.java b/server/dmvisit_service/src/main/java/com/doumee/core/wx/WXConstant.java
new file mode 100644
index 0000000..d2e0d23
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/wx/WXConstant.java
@@ -0,0 +1,19 @@
+package com.doumee.core.wx;
+
+/**
+ * 鍏紬鍙锋帴鍙e湴鍧�绫�
+ *
+ * @Author : Rk
+ * @create 2023/12/7 10:42
+ */
+public class WXConstant {
+
+ //鑾峰彇鍏紬鍙� access_token
+ public static final String GET_ACCESS_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
+
+ //鑾峰彇鐢ㄦ埛淇℃伅
+ public static final String GET_USER_INFO_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
+
+
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/FinishAnswerDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/FinishAnswerDTO.java
new file mode 100644
index 0000000..a63e42d
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/FinishAnswerDTO.java
@@ -0,0 +1,34 @@
+package com.doumee.dao.web.reqeust;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/7 11:19
+ */
+@Data
+public class FinishAnswerDTO {
+
+ @NotBlank(message = "绛旈鏄庣粏涓虹┖")
+ @ApiModelProperty(value = "绛旈鏄庣粏锛坖son锛�")
+ private String content;
+
+ @NotNull(message = "浣跨敤鍦烘櫙涓虹┖")
+ @ApiModelProperty(value = "浣跨敤鍦烘櫙 0鍔冲姟浜哄憳 1鏅�氳瀹�")
+ private Integer useType;
+
+ @ApiModelProperty(value = "璁垮缂栫爜")
+ private String userId;
+
+ @ApiModelProperty(value = "鐢ㄦ埛openId")
+ private String openId;
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/ProblemsVO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/ProblemsVO.java
new file mode 100644
index 0000000..28424f1
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/ProblemsVO.java
@@ -0,0 +1,43 @@
+package com.doumee.dao.web.response;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/7 11:19
+ */
+@Data
+public class ProblemsVO {
+
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ private Integer id;
+
+ @ApiModelProperty(value = "澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "棰樼洰")
+ private String title;
+
+ @ApiModelProperty(value = "閫夐」闆嗗悎")
+ private String options;
+
+ @ApiModelProperty(value = "姝g‘绛旀")
+ private String answer;
+
+ @ApiModelProperty(value = "绫诲瀷 0鍗曢�� 1澶氶�� ", example = "1")
+ private Integer type;
+
+ @ApiModelProperty(value = "鍒嗗��", example = "1")
+ private BigDecimal score;
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/WxAuthorizeVO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/WxAuthorizeVO.java
new file mode 100644
index 0000000..8126fb4
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/WxAuthorizeVO.java
@@ -0,0 +1,18 @@
+package com.doumee.dao.web.response;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/7 11:19
+ */
+@Data
+public class WxAuthorizeVO {
+
+ @ApiModelProperty(value = "鎺堟潈OPENID")
+ private String openid;
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
index eafa71a..8a281a4 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -7,6 +7,8 @@
import com.doumee.dao.admin.request.LaborMemberDTO;
import com.doumee.dao.admin.response.MemberInfoDTO;
import com.doumee.dao.business.model.Member;
+import com.doumee.dao.web.response.WxAuthorizeVO;
+
import java.util.List;
/**
@@ -132,4 +134,25 @@
* @return
*/
void importMemberBatch(LaborEmpowerDTO laborEmpowerDTO);
+
+
+
+
+ /********************************************鍏紬鍙锋帴鍙�***********************************************************************/
+
+
+ /**
+ * 寰俊鎺堟潈鎺ュ彛
+ * @param code
+ * @return
+ */
+ WxAuthorizeVO wxAuthorize(String code);
+
+
+
+
+
+
+
+
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemLogService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemLogService.java
index 2f41635..7604164 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemLogService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemLogService.java
@@ -3,6 +3,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.ProblemLog;
+import com.doumee.dao.web.reqeust.FinishAnswerDTO;
+
import java.util.List;
/**
@@ -94,4 +96,11 @@
* @return long
*/
long count(ProblemLog problemLog);
+
+ /**
+ * 淇濆瓨绛旈璁板綍
+ * @param finishAnswerDTO
+ * @return
+ */
+ Integer finishAnswer(FinishAnswerDTO finishAnswerDTO);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemsService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemsService.java
index 57bf207..8ce4763 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemsService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemsService.java
@@ -3,6 +3,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Problems;
+import com.doumee.dao.web.response.ProblemsVO;
+
import java.util.List;
/**
@@ -95,6 +97,14 @@
*/
long count(Problems problems);
+
+ /**
+ * 鑾峰彇棰樼洰淇℃伅
+ * @param useType
+ * @return
+ */
+ List<ProblemsVO> getProblemsVO(Integer useType);
+
/**
* 鑾峰彇涓嶅悓鐢ㄦ埛绫诲瀷鐨勯鐩�
* @param useType
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 8dca011..fd71f8c 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -4,6 +4,10 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.PhoneUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.config.Jwt.JwtPayLoad;
+import com.doumee.config.Jwt.JwtTokenUtil;
import com.doumee.core.annotation.excel.ExcelImporter;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
@@ -11,7 +15,9 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.HttpsUtil;
import com.doumee.core.utils.Utils;
+import com.doumee.core.wx.WXConstant;
import com.doumee.dao.admin.request.LaborEmpowerDTO;
import com.doumee.dao.admin.request.LaborMemberDTO;
import com.doumee.dao.admin.response.MemberInfoDTO;
@@ -22,6 +28,7 @@
import com.doumee.dao.business.model.Empower;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.TrainTime;
+import com.doumee.dao.web.response.WxAuthorizeVO;
import com.doumee.service.business.MemberService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -54,6 +61,10 @@
@Autowired
private TrainTimeMapper trainTimeMapper;
+
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
@Override
public Integer create(Member member) {
@@ -371,4 +382,45 @@
//
}
+
+
+
+
+ /********************************************鍏紬鍙锋帴鍙�***********************************************************************/
+
+
+
+ /**
+ * 寰俊鎺堟潈鎺ュ彛
+ * @param code
+ * @return
+ */
+ @Override
+ public WxAuthorizeVO wxAuthorize(String code){
+ String appId = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode();
+ String appSecret = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode();
+ String getTokenUrl = WXConstant.GET_USER_INFO_URL.replace("CODE", code)
+ .replace("APPID", appId).replace("SECRET", appSecret);
+ JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true));
+ String openId = null;
+ if(!Objects.isNull(tokenJson.get("access_token"))){
+ openId = tokenJson.getString("openid");
+ }
+ WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO();
+ wxAuthorizeVO.setOpenid(openId);
+ return wxAuthorizeVO;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
index e5a37f1..1d303c3 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
@@ -1,20 +1,33 @@
package com.doumee.service.business.impl;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.CompanyMapper;
+import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.ProblemLogMapper;
+import com.doumee.dao.business.model.Company;
+import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.ProblemLog;
+import com.doumee.dao.web.reqeust.FinishAnswerDTO;
import com.doumee.service.business.ProblemLogService;
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 org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.util.Date;
import java.util.List;
+import java.util.Objects;
/**
* 璁垮绛旈璁板綍琛⊿ervice瀹炵幇
@@ -26,6 +39,12 @@
@Autowired
private ProblemLogMapper problemLogMapper;
+
+ @Autowired
+ private MemberMapper memberMapper;
+
+ @Autowired
+ private CompanyMapper companyMapper;
@Override
public Integer create(ProblemLog problemLog) {
@@ -157,4 +176,45 @@
QueryWrapper<ProblemLog> wrapper = new QueryWrapper<>(problemLog);
return problemLogMapper.selectCount(wrapper);
}
+
+
+ /**
+ * 淇濆瓨绛旈璁板綍
+ * @param finishAnswerDTO
+ * @return
+ */
+ @Override
+ public Integer finishAnswer(FinishAnswerDTO finishAnswerDTO){
+ ProblemLog problemLog = new ProblemLog();
+ BeanUtils.copyProperties(finishAnswerDTO,problemLog);
+ problemLog.setCreateDate(new Date());
+ problemLog.setIsdeleted(Constants.ZERO);
+ problemLog.setStatus(Constants.ZERO);
+ if(finishAnswerDTO.getUseType().equals(Constants.ZERO)&&StringUtils.isNotBlank(finishAnswerDTO.getUserId())){
+ Member member = memberMapper.selectById(finishAnswerDTO.getUserId());
+ if(Objects.isNull(member)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍔冲姟浜哄憳");
+ }
+ if(!member.getType().equals(Constants.memberType.lw_visitor)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲姵鍔′汉鍛樼被鍨嬶紝绛旈澶辫触");
+ }
+ if(!member.getStatus().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿宸茬粡" + (member.getStatus().equals(Constants.ONE)?"绂佺敤":"鎷夐粦/鍒犻櫎") );
+ }
+ problemLog.setName(member.getName());
+ problemLog.setPhone(member.getPhone());
+ problemLog.setCompanyId(member.getCompanyId());
+ Company company = companyMapper.selectById(member.getCompanyId());
+ if(Objects.isNull(company)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍔冲姟浜哄憳鍏徃");
+ }
+ problemLog.setCompanyName(company.getName());
+ }
+ this.problemLogMapper.insert(problemLog);
+ return problemLog.getId();
+ }
+
+
+
+
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java
index 532bac6..836e413 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java
@@ -2,18 +2,22 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.ProblemsMapper;
import com.doumee.dao.business.model.Problems;
+import com.doumee.dao.web.response.ProblemsVO;
import com.doumee.service.business.ProblemsService;
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 org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -149,4 +153,27 @@
return null;
}
+
+
+ /**
+ * 鑾峰彇棰樼洰淇℃伅
+ * @param useType
+ * @return
+ */
+ @Override
+ public List<ProblemsVO> getProblemsVO(Integer useType){
+ List<Problems> problemsList = problemsMapper.selectList(new QueryWrapper<Problems>().lambda().eq(Problems::getUseType,useType)
+ .eq(Problems::getIsdeleted, Constants.ZERO).orderByAsc(Problems::getSortnu));
+ List<ProblemsVO> problemsVOList = new ArrayList<>();
+ for (Problems problems:problemsList) {
+ ProblemsVO problemsVO = new ProblemsVO();
+ BeanUtils.copyProperties(problems,problemsVO);
+ problemsVOList.add(problemsVO);
+ }
+ return problemsVOList;
+ }
+
+
+
+
}
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/ScheduleTool.java b/server/dmvisit_web/src/main/java/com/doumee/api/ScheduleTool.java
new file mode 100644
index 0000000..63d5a5a
--- /dev/null
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/ScheduleTool.java
@@ -0,0 +1,72 @@
+package com.doumee.api;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.HttpsUtil;
+import com.doumee.core.wx.WXConstant;
+import com.doumee.dao.system.model.SystemDictData;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.utils.URIBuilder;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.Date;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * 瀹氭椂浠诲姟
+ * @author jiangping
+ * @date 2021-10-10 14:40:35
+ * https://www.bejson.com/othertools/cron/ cron 琛ㄨ揪寮忕敓鎴愬湴鍧�
+ */
+@Slf4j
+@Component
+@EnableScheduling
+public class ScheduleTool {
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ /**
+ * 鏄惁寮�鍙戣��
+ */
+ @Value("${timing}")
+ private Boolean timing;
+
+ /**
+ * 鏇存柊寰俊鍏紬鍙� ACCESS_TOKEN
+ * @throws Exception
+ */
+ @Scheduled(fixedDelay=1000 * 60 * 90)
+ public void updAccessToken(){
+ String appId = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode();
+ String appSecret = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode();
+ //鐢熸垚寰俊token
+ String url = WXConstant.GET_ACCESS_TOKEN_URL.replace("APPID",appId).replace("APPSECRET",appSecret);
+ String response = HttpsUtil.get(url,false);
+ JSONObject json = JSONObject.parseObject(response);
+ SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN);
+ if(!Objects.isNull(systemDictData)){
+ systemDictData.setCode(json.getString("access_token"));
+ systemDictData.setUpdateTime(new Date());
+ systemDictDataBiz.updateByIdNew(systemDictData);
+ log.info(" 鏇存柊寰俊鍏紬鍙� ACCESS_TOKEN =========> " + systemDictData.getCode() );
+ }
+ }
+
+
+
+}
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/web/ApiController.java b/server/dmvisit_web/src/main/java/com/doumee/api/web/ApiController.java
index e7703c9..6f33b73 100644
--- a/server/dmvisit_web/src/main/java/com/doumee/api/web/ApiController.java
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/ApiController.java
@@ -1,6 +1,7 @@
package com.doumee.api.web;
import com.doumee.config.Jwt.JwtTokenUtil;
+import com.doumee.core.model.PageData;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@@ -25,6 +26,7 @@
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
return request;
}
+
/**
* 鑾峰彇鐢ㄦ埛ID
*
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java b/server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java
new file mode 100644
index 0000000..70aca8c
--- /dev/null
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java
@@ -0,0 +1,73 @@
+package com.doumee.api.web;
+
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.web.reqeust.FinishAnswerDTO;
+import com.doumee.dao.web.response.ProblemsVO;
+import com.doumee.service.business.ProblemLogService;
+import com.doumee.service.business.ProblemsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/7 10:40
+ */
+
+@Api(tags = "99銆佸叾浠�")
+@Trace(exclude = true)
+@RestController
+@RequestMapping("/web/unit")
+@Slf4j
+public class UnitController {
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @Autowired
+ private ProblemsService problemsService;
+
+ @Autowired
+ private ProblemLogService problemLogService;
+
+ @ApiOperation(value = "鏌ヨ瀛楀吀鍊兼暟鎹�", notes = "H5")
+ @GetMapping("/getSystemDictData")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "label", value = "鏁版嵁瀛楀吀鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "dictCode", value = "绯荤粺瀛楀吀鍊�", required = true)
+ })
+ public ApiResponse<SystemDictData> getSystemDictData(@RequestParam String dictCode, @RequestParam String label) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",systemDictDataBiz.queryByCode(dictCode,label));
+ }
+
+
+ @ApiOperation(value = "鑾峰彇棰樼洰鏁版嵁", notes = "H5")
+ @GetMapping("/getProblemsVO")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "useType", value = "浣跨敤鍦烘櫙 0鍔冲姟浜哄憳 1鏅�氳瀹�", required = true)
+ })
+ public ApiResponse<List<ProblemsVO>> getProblemsVO(@RequestParam Integer useType) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",problemsService.getProblemsVO(useType));
+ }
+
+
+ @ApiOperation(value = "淇濆瓨绛旈璁板綍", notes = "H5")
+ @PostMapping("/finishAnswer")
+ public ApiResponse<Integer> finishAnswer(@RequestBody FinishAnswerDTO finishAnswerDTO) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",problemLogService.finishAnswer(finishAnswerDTO));
+ }
+
+
+}
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
new file mode 100644
index 0000000..776f797
--- /dev/null
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
@@ -0,0 +1,47 @@
+package com.doumee.api.web;
+
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.web.response.WxAuthorizeVO;
+import com.doumee.service.business.MemberService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/7 10:40
+ */
+
+@Api(tags = "1銆佽瀹笟鍔�")
+@Trace(exclude = true)
+@RestController
+@RequestMapping("/web/visitor")
+@Slf4j
+public class VisitorController {
+
+ @Autowired
+ private MemberService memberService;
+
+ @ApiOperation(value = "璁垮寰俊鎺堟潈", notes = "璁垮寰俊鎺堟潈鑾峰彇openId")
+ @GetMapping("/wxAuthorize")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "鎺堟潈鐮�", required = true)
+ })
+ public ApiResponse<WxAuthorizeVO> wxAuthorize(@RequestParam String code) {
+ WxAuthorizeVO wxAuthorizeVO = memberService.wxAuthorize(code);
+ return ApiResponse.success("鏌ヨ鎴愬姛",wxAuthorizeVO);
+ }
+
+
+}
--
Gitblit v1.9.3