5 Revize 1852bfdd32 ... 496ee44817

Autor SHA1 Zpráva Datum
  chenp 496ee44817 Merge branch 'dev' into dev_face před 2 roky
  chenp 3debfc640a 增加接口 před 2 roky
  chenp 8780ddc77f shiro权限控制bug před 2 roky
  chenp 77568e578c shiro权限控制bug před 2 roky
  chenp 61763eeae0 shiro权限控制bug před 2 roky
32 změnil soubory, kde provedl 293 přidání a 108 odebrání
  1. 25 17
      canteen/src/main/java/com/youxianxin/framework/config/ShiroConfig.java
  2. 55 0
      canteen/src/main/java/com/youxianxin/framework/shiro/web/filter/LoginFilter.java
  3. 1 1
      canteen/src/main/java/com/youxianxin/project/system/account/controller/JnAccountController.java
  4. 1 1
      canteen/src/main/java/com/youxianxin/project/system/banner/controller/JnBannerController.java
  5. 74 18
      canteen/src/main/java/com/youxianxin/project/system/dingUser/controller/JnDingdingUserController.java
  6. 1 1
      canteen/src/main/java/com/youxianxin/project/system/edition/controller/EditionController.java
  7. 36 1
      canteen/src/main/java/com/youxianxin/project/system/face/controller/FaceController.java
  8. 5 5
      canteen/src/main/java/com/youxianxin/project/system/goods/controller/JnGoodsController.java
  9. 1 1
      canteen/src/main/java/com/youxianxin/project/system/goodsType/controller/JnGoodsTypeController.java
  10. 2 2
      canteen/src/main/java/com/youxianxin/project/system/group/controller/JnGroupController.java
  11. 4 4
      canteen/src/main/java/com/youxianxin/project/system/meal/controller/JnMealController.java
  12. 1 1
      canteen/src/main/java/com/youxianxin/project/system/mealType/controller/JnMealTypeController.java
  13. 2 2
      canteen/src/main/java/com/youxianxin/project/system/notice/controller/NoticeController.java
  14. 4 4
      canteen/src/main/java/com/youxianxin/project/system/order/controller/JnOrderController.java
  15. 1 1
      canteen/src/main/java/com/youxianxin/project/system/user/controller/UserController.java
  16. 20 8
      canteen/src/main/resources/static/ruoyi/js/common.js
  17. 15 15
      clothCashier/app/src/main/java/com/cloth/clothcashier/net/MApiUrl.java
  18. 1 1
      dininghall/pages/index/announcement/announcement.js
  19. 1 1
      dininghall/pages/index/announcement/details/details.js
  20. 1 1
      dininghall/pages/index/bill/bill.js
  21. 1 1
      dininghall/pages/index/bill/expenditure/expenditure.js
  22. 21 2
      dininghall/pages/index/dduploading/dduploading.js
  23. 2 2
      dininghall/pages/index/meal-record/meal-record.js
  24. 1 1
      dininghall/pages/index/personal-wallet/binding/binding.js
  25. 1 1
      dininghall/pages/index/personal-wallet/personal-wallet.js
  26. 1 1
      dininghall/pages/index/rechargeDel/rechargeDel.js
  27. 1 1
      dininghall/pages/index/release-record/release-record.js
  28. 2 2
      dininghall/pages/index/report/relieve/relieve.js
  29. 1 1
      dininghall/pages/index/report/report.js
  30. 4 4
      dininghall/pages/index/the-meal/the-meal.js
  31. 2 2
      dininghall/pages/tabber/my/my.js
  32. 5 5
      dininghall/pages/tabber/wallet/wallet.js

+ 25 - 17
canteen/src/main/java/com/youxianxin/framework/config/ShiroConfig.java

@@ -6,6 +6,8 @@ import java.io.InputStream;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import javax.servlet.Filter;
+
+import com.youxianxin.framework.shiro.web.filter.LoginFilter;
 import org.apache.commons.io.IOUtils;
 import org.apache.shiro.cache.ehcache.EhCacheManager;
 import org.apache.shiro.codec.Base64;
@@ -293,25 +295,30 @@ public class ShiroConfig
         filterChainDefinitionMap.put("/websocket/**", "anon");
         filterChainDefinitionMap.put("/profile/**", "anon");
         filterChainDefinitionMap.put("/login", "anon,captchaValidate");
-        filterChainDefinitionMap.put("/system/group/*", "anon");
-        filterChainDefinitionMap.put("/system/goodsType/*", "anon");
-        filterChainDefinitionMap.put("/system/goods/*", "anon");
-        filterChainDefinitionMap.put("/system/order/*", "anon");
-        filterChainDefinitionMap.put("/system/account/*", "anon");
-        filterChainDefinitionMap.put("/system/banner/*", "anon");
-        filterChainDefinitionMap.put("/system/notice/*", "anon");
-        filterChainDefinitionMap.put("/system/edition/*", "anon");
-//        filterChainDefinitionMap.put("/system/dept/*", "anon,captchaValidate");
-        filterChainDefinitionMap.put("/system/dingDept/*", "anon");
-        filterChainDefinitionMap.put("/system/dingUser/*", "anon");
+
+        //POS机接口
+        filterChainDefinitionMap.put("/system/account/pos/*", "anon");
+        filterChainDefinitionMap.put("/system/group/pos/*", "anon");
+        filterChainDefinitionMap.put("/system/goodsType/pos/*", "anon");
+        filterChainDefinitionMap.put("/system/goods/pos/*", "anon");
+        filterChainDefinitionMap.put("/system/order/pos/*", "anon");
+        filterChainDefinitionMap.put("/system/edition/pos/*", "anon");
+        filterChainDefinitionMap.put("/system/face/pos/*", "anon");
+
+        //钉钉小程序接口
         filterChainDefinitionMap.put("/system/dingLogin/*", "anon");
-        filterChainDefinitionMap.put("/system/meal/*", "anon");
-        filterChainDefinitionMap.put("/system/mealType/*", "anon");
-        filterChainDefinitionMap.put("/system/user/*", "anon");
+        filterChainDefinitionMap.put("/system/banner/ding/*", "anon");
+        filterChainDefinitionMap.put("/system/notice/ding/*", "anon");
+////        filterChainDefinitionMap.put("/system/dept/*", "anon,captchaValidate");
+//        filterChainDefinitionMap.put("/system/dingDept/*", "anon");
+        filterChainDefinitionMap.put("/system/dingUser/ding/*", "anon");
+
+        filterChainDefinitionMap.put("/system/meal/ding/*", "anon");
+        filterChainDefinitionMap.put("/system/mealType/ding/*", "anon");
+        filterChainDefinitionMap.put("/system/user/ding/*", "anon");
+        filterChainDefinitionMap.put("/system/face/ding/*", "anon");
         // 注册相关
         filterChainDefinitionMap.put("/register", "anon,captchaValidate");
-        //人脸识别
-        filterChainDefinitionMap.put("/system/face/*", "anon");
         // 系统权限列表
         // filterChainDefinitionMap.putAll(SpringUtils.getBean(IMenuService.class).selectPermsAll());
 
@@ -320,12 +327,13 @@ public class ShiroConfig
         filters.put("syncOnlineSession", syncOnlineSessionFilter());
         filters.put("captchaValidate", captchaValidateFilter());
         filters.put("kickout", kickoutSessionFilter());
+        filters.put("loginFilter", new LoginFilter());
         // 注销成功,则跳转到指定页面
         filters.put("logout", logoutFilter());
         shiroFilterFactoryBean.setFilters(filters);
 
         // 所有请求需要认证
-        filterChainDefinitionMap.put("/**", "user,kickout,onlineSession,syncOnlineSession");
+        filterChainDefinitionMap.put("/**", "loginFilter,user,kickout,onlineSession,syncOnlineSession");
         shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
 
         return shiroFilterFactoryBean;

+ 55 - 0
canteen/src/main/java/com/youxianxin/framework/shiro/web/filter/LoginFilter.java

@@ -0,0 +1,55 @@
+package com.youxianxin.framework.shiro.web.filter;
+
+import com.youxianxin.common.utils.StringUtils;
+import org.apache.shiro.subject.Subject;
+import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @auther: chenp
+ * @date: 2022/7/9 16:07
+ * @description:
+ */
+public class LoginFilter extends FormAuthenticationFilter {
+
+    private static final String[] filter = {"/js", "/css", "/img", "/icons","/html"};
+
+    @Override
+    protected boolean onAccessDenied(ServletRequest request, ServletResponse response, Object o) throws Exception {
+        HttpServletRequest hsRequest = (HttpServletRequest) request;
+        HttpServletResponse hsResponse = (HttpServletResponse) response;
+        String url = hsRequest.getRequestURI();
+
+        // 不需要过滤的请求地址以及文件
+        for (String str : filter) {
+            if (url.contains(str) || url.equalsIgnoreCase("/")){
+                return true;
+            }
+        }
+        //这里是获取用户登录信息
+        Subject subject = getSubject(request, response);
+        // 如果没有获取到用户信息,将退出到登陆界面
+        if (null == subject.getPrincipal()) {
+            boolean isAjaxRequest = false;
+            if(!StringUtils.isBlank(hsRequest.getHeader("x-requested-with")) && hsRequest.getHeader("x-requested-with").equals("XMLHttpRequest")){
+                isAjaxRequest = true;
+            }
+            // 如果是Ajax返回指定数据
+            if (isAjaxRequest) {
+                //可以通过code403判断是否重定向,也可以自定义一个属性指定是session超时的重定向
+                hsResponse.setHeader("sessionstatus", "TIMEOUT");	//返回特定数据(头部信息)
+                hsResponse.setHeader("content_path", "/login");	//返回特定数据(首页登陆地址)
+                hsResponse.setStatus(HttpServletResponse.SC_FORBIDDEN);	//403禁止
+                return false;
+            } else {	// 不是Ajax进行重定向处理
+                hsResponse.sendRedirect("/login");	//重定向到登陆界面
+                return false;
+            }
+        }
+        return true;
+    }
+}

+ 1 - 1
canteen/src/main/java/com/youxianxin/project/system/account/controller/JnAccountController.java

@@ -269,7 +269,7 @@ public class JnAccountController extends BaseController {
     /**
      * pos机子账号登陆
      */
-    @PostMapping("/posAccountLogin")
+    @PostMapping("/pos/accountLogin")
     @ApiOperation(value = "pos机子账号登陆", notes = "pos机子账号登陆")
     @ResponseBody
     public Map<String, Object> posAccountLogin(@RequestBody String jsonStr) {

+ 1 - 1
canteen/src/main/java/com/youxianxin/project/system/banner/controller/JnBannerController.java

@@ -154,7 +154,7 @@ public class JnBannerController extends BaseController
     /**
      * DingDing轮播图列表
      */
-    @PostMapping( "/dingBannerList")
+    @PostMapping( "/ding/bannerList")
     @ApiOperation(value = "DingDing轮播图列表",notes = "DingDing轮播图列表")
     @ResponseBody
     public AjaxResult dingBannerList() {

+ 74 - 18
canteen/src/main/java/com/youxianxin/project/system/dingUser/controller/JnDingdingUserController.java

@@ -665,7 +665,7 @@ public class JnDingdingUserController extends BaseController {
      * 公司钱包充值
      */
     @RequiresPermissions("system:dingUser:rechargeSubsidy")
-    @Log(title = "钉钉用户信息", businessType = BusinessType.DELETE)
+    @Log(title = "公司钱包充值", businessType = BusinessType.DELETE)
     @PostMapping("/rechargeSubsidyl")
     @ResponseBody
     public AjaxResult rechargeSubsidyl(HttpServletRequest request, HttpServletResponse response) {
@@ -701,12 +701,51 @@ public class JnDingdingUserController extends BaseController {
     }
 
     /**
+     * 钉钉小程序解绑支付宝
+     */
+    @Log(title = "钉钉小程序解绑支付宝", businessType = BusinessType.DELETE)
+    @PostMapping("/ding/removeZFB")
+    @ResponseBody
+    public AjaxResult removeZFB(String id) throws AlipayApiException {
+        //批量支付宝解绑
+        boolean m = false;
+        AlipayClient alipayClient = new DefaultAlipayClient(AliPayConfig.GATEWAYURL,
+                AliPayConfig.APP_ID,
+                AliPayConfig.MERCHANT_PRIVATE_KEY,
+                "json",
+                AliPayConfig.CHARSET,
+                AliPayConfig.ALIPAY_PUBLIC_KEY,
+                AliPayConfig.SIGN_TYPE);
+        AlipayUserAgreementUnsignModel model = new AlipayUserAgreementUnsignModel();
+        AlipayUserAgreementUnsignRequest request = new AlipayUserAgreementUnsignRequest();
+
+        JnDingdingUser dingUser = jnDingdingUserService.selectJnDingdingUserById(Long.parseLong(id));
+        if (StringUtils.isNotEmpty(dingUser.getZfbBalance())) {
+            model.setAgreementNo(dingUser.getHold1());
+            model.setSignScene("INDUSTRY|CATERING");
+            request.setBizModel(model);
+            AlipayUserAgreementUnsignResponse response = alipayClient.execute(request);
+            dingUser.setZfbBalance(null);
+            dingUser.setHold1(null);
+            if (jnDingdingUserService.updateJnDingUserZFBById(dingUser) <= 0) {
+                m = true;
+            }
+        } else {
+            return AjaxResult.error("支付宝账号不存在!");
+        }
+        if (m) {
+            return AjaxResult.error("解绑失败");
+        }
+        return AjaxResult.success("操作成功!");
+    }
+
+    /**
      * 批量支付宝解绑——钉钉端绑定支付宝后,后台保存支付宝appId和支付宝账号
      */
-    @Log(title = "钉钉用户信息", businessType = BusinessType.DELETE)
+    @Log(title = "批量解绑支付宝", businessType = BusinessType.DELETE)
     @PostMapping("/removeZFB")
     @ResponseBody
-    public AjaxResult removeZFB(String ids) throws AlipayApiException {
+    public AjaxResult removeBatchZFB(String ids) throws AlipayApiException {
         //批量支付宝解绑
         boolean m = false;
         String[] split = ids.split(",");
@@ -932,7 +971,7 @@ public class JnDingdingUserController extends BaseController {
     /**
      * 钉钉-查询个人钱包金额
      */
-    @PostMapping("/personalBalance")
+    @PostMapping("/ding/personalBalance")
     @ResponseBody
     @ApiOperation(value = "钉钉-查询个人钱包金额", notes = "钉钉-查询个人钱包金额")
     public AjaxResult personalBalance(@RequestBody String jsonStr) {
@@ -950,7 +989,7 @@ public class JnDingdingUserController extends BaseController {
     /**
      * 钉钉-个人钱包明细
      */
-    @PostMapping("/personalDetailed")
+    @PostMapping("/ding/personalDetailed")
     @ResponseBody
     @ApiOperation(value = "钉钉-个人钱包明细", notes = "钉钉-个人钱包明细")
     public AjaxResult personalDetailed(@RequestBody String jsonStr) {
@@ -1006,7 +1045,7 @@ public class JnDingdingUserController extends BaseController {
     /**
      * 钉钉-工牌挂失
      */
-    @PostMapping("/reportCard")
+    @PostMapping("/ding/reportCard")
     @ResponseBody
     @ApiOperation(value = "钉钉-工牌挂失", notes = "钉钉-工牌挂失")
     public AjaxResult reportCard(@RequestBody String jsonStr) {
@@ -1049,7 +1088,7 @@ public class JnDingdingUserController extends BaseController {
     /**
      * 钉钉-查询工牌挂失
      */
-    @GetMapping("/getReportCard")
+    @GetMapping("/ding/getReportCard")
     @ResponseBody
     @ApiOperation(value = "钉钉-查询挂失", notes = "钉钉-查询挂失")
     public AjaxResult getReportCard(String userId) {
@@ -1060,7 +1099,7 @@ public class JnDingdingUserController extends BaseController {
     /**
      * 钉钉-工牌解除挂失
      */
-    @PostMapping("/unReportCard")
+    @PostMapping("/ding/unReportCard")
     @ResponseBody
     @ApiOperation(value = "钉钉-工牌解除挂失", notes = "钉钉-工牌解除挂失")
     public AjaxResult unReportCard(@RequestBody String jsonStr) {
@@ -1104,7 +1143,7 @@ public class JnDingdingUserController extends BaseController {
     /**
      * 钉钉-消费明细
      */
-    @GetMapping("/getConsumeList")
+    @GetMapping("/ding/getConsumeList")
     @ResponseBody
     @ApiOperation(value = "钉钉-消费明细", notes = "钉钉-消费明细")
     public AjaxResult getConsumeList(String userId) {
@@ -1121,7 +1160,7 @@ public class JnDingdingUserController extends BaseController {
     /**
      * 钉钉-消费详情
      */
-    @GetMapping("/getConsumeDetails")
+    @GetMapping("/ding/getConsumeDetails")
     @ResponseBody
     @ApiOperation(value = "钉钉-消费详情", notes = "钉钉-消费详情")
     public AjaxResult getConsumeDetails(Long orderId) {
@@ -1132,7 +1171,7 @@ public class JnDingdingUserController extends BaseController {
     /**
      * 钉钉-充值详情
      */
-    @GetMapping("/getRechargeDetails")
+    @GetMapping("/ding/getRechargeDetails")
     @ResponseBody
     @ApiOperation(value = "钉钉-充值详情", notes = "钉钉-充值详情")
     public AjaxResult getrRechargeDetails(Long rechargeId) {
@@ -1143,7 +1182,7 @@ public class JnDingdingUserController extends BaseController {
     /**
      * 查询公司钱包余额
      */
-    @GetMapping("/getSubsidyBalance")
+    @GetMapping("/ding/getSubsidyBalance")
     @ResponseBody
     @ApiOperation(value = "钉钉-公司钱包", notes = "钉钉-公司钱包")
     public AjaxResult getrSubsidyBalance(String userId) {
@@ -1154,7 +1193,7 @@ public class JnDingdingUserController extends BaseController {
     /**
      * 查询餐贴到帐记录
      */
-    @PostMapping("/getSubsidyRechargeRecord")
+    @PostMapping("/ding/getSubsidyRechargeRecord")
     @ResponseBody
     @ApiOperation(value = "钉钉-公司钱包", notes = "钉钉-公司钱包")
     public AjaxResult getrSubsidyRechargeRecord(@RequestBody JnRechargeRecord jnRechargeRecord) {
@@ -1193,7 +1232,7 @@ public class JnDingdingUserController extends BaseController {
      * 调用支付宝签约接口
      */
     @ResponseBody
-    @PostMapping("/alipaySignup")
+    @PostMapping("/ding/alipaySignup")
     public AjaxResult alipaySignup(@RequestBody JnDingdingUser dingdingUser) throws AlipayApiException, IOException, WriterException {
 
         AlipayClient alipayClient = new DefaultAlipayClient(AliPayConfig.GATEWAYURL,
@@ -1239,7 +1278,7 @@ public class JnDingdingUserController extends BaseController {
         AlipayUserAgreementPageSignRequest request = new AlipayUserAgreementPageSignRequest();
         request.setBizModel(bizModel);
         // 异步通知服务器地址写在application.yml中
-        String notifyUrl = severUrl + "/system/dingUser/signupNotify";
+        String notifyUrl = severUrl + "/system/dingUser/ding/signupNotify";
         request.setNotifyUrl(notifyUrl);
         AlipayUserAgreementPageSignResponse response = alipayClient.pageExecute(request, "get");
         String url = response.getBody();
@@ -1321,7 +1360,7 @@ public class JnDingdingUserController extends BaseController {
         AlipayUserAgreementPageSignRequest request = new AlipayUserAgreementPageSignRequest();
         request.setBizModel(bizModel);
         // 异步通知服务器地址写在application.yml中
-        String notifyUrl = severUrl + "/system/dingUser/signupNotify";
+        String notifyUrl = severUrl + "/system/dingUser/ding/signupNotify";
         request.setNotifyUrl(notifyUrl);
         AlipayUserAgreementPageSignResponse response = alipayClient.pageExecute(request, "get");
         String url = response.getBody();
@@ -1371,7 +1410,7 @@ public class JnDingdingUserController extends BaseController {
      * 签约异步通知接口
      */
     @ResponseBody
-    @PostMapping("/signupNotify")
+    @PostMapping("/ding/signupNotify")
     public String signupNotify(HttpServletRequest request) throws AlipayApiException, UnsupportedEncodingException {
         //获取支付宝POST过来反馈信息
         Map<String, String> params = new HashMap<>();
@@ -1543,7 +1582,7 @@ public class JnDingdingUserController extends BaseController {
      * 生成二维码字符串
      */
     @ResponseBody
-    @PostMapping("/getEncryptCode")
+    @PostMapping("/ding/getEncryptCode")
     public AjaxResult getEncryptCode(@RequestBody JnDingdingUser user) {
         String userid = user.getUserid();
         if (StringUtils.isEmpty(userid)){
@@ -1561,4 +1600,21 @@ public class JnDingdingUserController extends BaseController {
         }
         return AjaxResult.error("获取二维码错误");
     }
+
+    /**
+     * 获取用户人脸照片
+     * @param user
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/ding/getFacePic")
+    public AjaxResult getFacePic(@RequestBody JnDingdingUser user){
+        String userid = user.getUserid();
+        if (StringUtils.isEmpty(userid)){
+            return AjaxResult.error("参数错误");
+        }
+        JnDingdingUser dingUser = jnDingdingUserService.selectJnDingdingUserByUserId(userid);
+        return AjaxResult.success("", dingUser.getHold3());
+    }
+
 }

+ 1 - 1
canteen/src/main/java/com/youxianxin/project/system/edition/controller/EditionController.java

@@ -77,7 +77,7 @@ public class EditionController extends BaseController
     /**
      * 查询版本
      */
-    @PostMapping("/findEdition")
+    @PostMapping("/pos/findEdition")
     @ResponseBody
     @ApiOperation(value = "查询版本")
     public Map<String, Object> findEdition(@RequestBody Edition edition)

+ 36 - 1
canteen/src/main/java/com/youxianxin/project/system/face/controller/FaceController.java

@@ -94,6 +94,41 @@ public class FaceController {
         return AjaxResult.error("添加人脸信息失败!");
     }
 
+    @PostMapping("/ding/addFace")
+    @ResponseBody
+    @ApiOperation(value = "添加人脸信息", notes = "添加人脸信息")
+    public AjaxResult dingAddFace(HttpServletRequest request, JnDingdingUser jnDingdingUser) throws IOException {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        MultipartFile multipartFile = multipartRequest.getFile("file");//file为前端上传的图片名
+        if (jnDingdingUser.getUserid() != null) {
+
+            List<JnDingdingUser> dingdingUsers = jnDingdingUserService.selectJnDingdingUserList(jnDingdingUser);
+            if (dingdingUsers == null) {
+                return AjaxResult.error("用户不存在!");
+            }
+            byte[] bytes = multipartFile.getBytes();
+            FaceEngine faceEngine = FaceUtils.getFaceEngine();
+            List<FaceInfo> faceInfos = FaceUtils.detectFaces(faceEngine, bytes);
+            if (faceInfos.size() == 1) {
+                byte[] feature = FaceUtils.feature(faceEngine, bytes, faceInfos.get(0));
+                JnDingdingUser user = dingdingUsers.get(0);
+                String picfile = FileUploadUtils.uploadActivePic(RuoYiConfig.getAvatarPath(), multipartFile);
+                user.setHold2(feature);
+                user.setHold3(picfile);
+                jnDingdingUserService.updateJnDingdingUser(user);
+                faceEngine.unInit();
+                return AjaxResult.success("添加人脸信息成功!", picfile);
+            } else if (faceInfos.size() > 1) {
+                faceEngine.unInit();
+                return AjaxResult.error("检测到多张人脸!");
+            } else {
+                faceEngine.unInit();
+                return AjaxResult.error("未检测到人脸!");
+            }
+        }
+        return AjaxResult.error("添加人脸信息失败!");
+    }
+
     /**
      * 根据图片查找人脸信息
      * @param request
@@ -144,7 +179,7 @@ public class FaceController {
      * @throws IOException
      */
     @Transactional
-    @PostMapping("/facePay")
+    @PostMapping("/pos/facePay")
     public Object facePay(@RequestBody JnOrder jnOrder) throws ParseException, AlipayApiException {
         List<JnOrder> byOrderSn = jnOrderService.selectJnOrderByOrderSn(jnOrder.getOrderSn());
         if (byOrderSn.size() > 0) {//查询订单是否已存在

+ 5 - 5
canteen/src/main/java/com/youxianxin/project/system/goods/controller/JnGoodsController.java

@@ -288,7 +288,7 @@ public class JnGoodsController extends BaseController {
     /**
      * pos机临时菜品列表
      */
-    @PostMapping("/posGoodsLinList")
+    @PostMapping("/pos/goodsLinList")
     @ApiOperation(value = "pos机临时菜品列表", notes = "pos机临时菜品列表")
     @ResponseBody
     public Map<String, Object> posGoodsLinList(@RequestBody String jsonStr) throws Exception {
@@ -375,7 +375,7 @@ public class JnGoodsController extends BaseController {
     /**
      * pos机添加临时菜品
      */
-    @PostMapping("/posGoodsAdd")
+    @PostMapping("/pos/goodsAdd")
     @ApiOperation(value = "pos机添加临时菜品", notes = "pos机添加临时菜品")
     @ResponseBody
     public Map<String, Object> posGoodsAdd(@RequestBody String jsonStr) {
@@ -444,7 +444,7 @@ public class JnGoodsController extends BaseController {
     /**
      * pos机编辑临时菜品
      */
-    @PostMapping("/posGoodsEdit")
+    @PostMapping("/pos/goodsEdit")
     @ApiOperation(value = "pos机编辑临时菜品", notes = "pos机编辑临时菜品")
     @ResponseBody
     public Map<String, Object> posGoodsEdit(@RequestBody String jsonStr) {
@@ -490,7 +490,7 @@ public class JnGoodsController extends BaseController {
     /**
      * pos机删除临时菜品
      */
-    @PostMapping("/posGoodsDelete")
+    @PostMapping("/pos/goodsDelete")
     @ApiOperation(value = "pos机删除临时菜品", notes = "pos机删除临时菜品")
     @ResponseBody
     public Map<String, Object> posGoodsDelete(@RequestBody String jsonStr) {
@@ -552,7 +552,7 @@ public class JnGoodsController extends BaseController {
     /**
      * pos机菜品列表
      */
-    @PostMapping("/posGoodsList")
+    @PostMapping("/pos/goodsList")
     @ApiOperation(value = "pos机菜品列表", notes = "pos机菜品列表")
     @ResponseBody
     public Map<String, Object> posGoodsList(@RequestBody String jsonStr) {

+ 1 - 1
canteen/src/main/java/com/youxianxin/project/system/goodsType/controller/JnGoodsTypeController.java

@@ -159,7 +159,7 @@ public class JnGoodsTypeController extends BaseController
     /**
      * pos机菜品分类列表
      */
-    @PostMapping( "/posGoodsTypeList")
+    @PostMapping( "/pos/goodsTypeList")
     @ApiOperation(value = "pos机菜品分类列表",notes = "pos机菜品分类列表")
     @ResponseBody
     public Map<String, Object> posGoodsTypeList(@RequestBody String jsonStr) {

+ 2 - 2
canteen/src/main/java/com/youxianxin/project/system/group/controller/JnGroupController.java

@@ -216,7 +216,7 @@ public class JnGroupController extends BaseController
     /**
      * pos机菜品分组列表
      */
-    @PostMapping( "/posGroupList")
+    @PostMapping( "/pos/groupList")
     @ApiOperation(value = "pos机菜品分组列表",notes = "pos机菜品分组列表")
     @ResponseBody
     public Map<String, Object> posGroupList(@RequestBody String jsonStr) {
@@ -274,7 +274,7 @@ public class JnGroupController extends BaseController
     /**
      * 变更pos机售卖分组
      */
-    @PostMapping( "/updatePosGroup")
+    @PostMapping( "/pos/updateGroup")
     @ApiOperation(value = "变更pos机售卖分组",notes = "变更pos机售卖分组")
     @ResponseBody
     public Map<String, Object> updatePosGroup(@RequestBody String jsonStr) {

+ 4 - 4
canteen/src/main/java/com/youxianxin/project/system/meal/controller/JnMealController.java

@@ -185,7 +185,7 @@ public class JnMealController extends BaseController {
     /**
      * Dingding报餐列表
      */
-    @PostMapping("/dingMealList")
+    @PostMapping("/ding/mealList")
     @ApiOperation(value = "Dingding报餐列表", notes = "Dingding报餐列表")
     @ResponseBody
     public AjaxResult dingMealList(@RequestBody String jsonStr) {
@@ -224,7 +224,7 @@ public class JnMealController extends BaseController {
     /**
      * Dingding新增报餐
      */
-    @PostMapping("/dingAddMeal")
+    @PostMapping("/ding/addMeal")
     @ApiOperation(value = "Dingding新增报餐", notes = "Dingding新增报餐")
     @ResponseBody
     public AjaxResult dingAddMeal(@RequestBody String jsonStr) throws Exception {
@@ -388,7 +388,7 @@ public class JnMealController extends BaseController {
     /**
      * Dingding撤销报餐
      */
-    @PostMapping("/dingRevokeMeal")
+    @PostMapping("/ding/revokeMeal")
     @ApiOperation(value = "Dingding撤销报餐", notes = "Dingding撤销报餐")
     @ResponseBody
     public AjaxResult dingRevokeMeal(@RequestBody String jsonStr) throws Exception {
@@ -423,7 +423,7 @@ public class JnMealController extends BaseController {
     /**
      * Dingding修改报餐
      */
-    @PostMapping("/dingEditMeal")
+    @PostMapping("/ding/editMeal")
     @ApiOperation(value = "Dingding修改报餐", notes = "Dingding修改报餐")
     @ResponseBody
     public AjaxResult dingEditMeal(@RequestBody String jsonStr) throws Exception {

+ 1 - 1
canteen/src/main/java/com/youxianxin/project/system/mealType/controller/JnMealTypeController.java

@@ -168,7 +168,7 @@ public class JnMealTypeController extends BaseController
     /**
      * Dingding查询餐类列表
      */
-    @PostMapping( "/dingMealTypeList")
+    @PostMapping( "/ding/mealTypeList")
     @ApiOperation(value = "Dingding查询餐类列表",notes = "Dingding查询餐类列表")
     @ResponseBody
     public AjaxResult dingMealTypeList() {

+ 2 - 2
canteen/src/main/java/com/youxianxin/project/system/notice/controller/NoticeController.java

@@ -109,7 +109,7 @@ public class NoticeController extends BaseController
     /**
      * DingDing公告列表
      */
-    @PostMapping( "/dingNoticeList")
+    @PostMapping( "/ding/noticeList")
     @ApiOperation(value = "DingDing公告列表",notes = "DingDing公告列表")
     @ResponseBody
     public AjaxResult dingNoticeList() {
@@ -123,7 +123,7 @@ public class NoticeController extends BaseController
     /**
      * DingDing公告详情
      */
-    @PostMapping( "/dingNoticeDetail")
+    @PostMapping( "/ding/noticeDetail")
     @ApiOperation(value = "DingDing公告详情",notes = "DingDing公告详情")
     @ResponseBody
     public AjaxResult dingNoticeDetail(@RequestBody String jsonStr) {

+ 4 - 4
canteen/src/main/java/com/youxianxin/project/system/order/controller/JnOrderController.java

@@ -510,7 +510,7 @@ public class JnOrderController extends BaseController {
     /**
      * pos机提交订单
      */
-    @PostMapping("/posAddOrder")
+    @PostMapping("/pos/addOrder")
     @ApiOperation(value = "pos机提交订单", notes = "pos机提交订单")
     @ResponseBody
     public Map<String, Object> posAddOrder(@RequestBody JnOrder jnOrder) throws ParseException, AlipayApiException {
@@ -587,7 +587,7 @@ public class JnOrderController extends BaseController {
     /**
      * pos机订单列表
      */
-    @PostMapping("/posOrderList")
+    @PostMapping("/pos/orderList")
     @ApiOperation(value = "pos机订单列表", notes = "pos机订单列表")
     @ResponseBody
     public Map<String, Object> posOrderList(@RequestBody String jsonStr) {
@@ -653,7 +653,7 @@ public class JnOrderController extends BaseController {
     /**
      * pos机今日收益
      */
-    @PostMapping("/posTodayIncome")
+    @PostMapping("/pos/todayIncome")
     @ApiOperation(value = "pos机今日收益", notes = "pos机今日收益")
     @ResponseBody
     public Map<String, Object> posTodayIncome(@RequestBody String jsonStr) {
@@ -783,7 +783,7 @@ public class JnOrderController extends BaseController {
     /**
      * 回调接口
      */
-    @PostMapping("/payReturn")
+    @PostMapping("/pos/payReturn")
     @ResponseBody
     public void payReturn(@RequestBody JnPayReturn payReturn) {
         payReturn.setStatus(1);

+ 1 - 1
canteen/src/main/java/com/youxianxin/project/system/user/controller/UserController.java

@@ -298,7 +298,7 @@ public class UserController extends BaseController {
     /**
      * Dingding查询供应商列表
      */
-    @PostMapping("/dingGysList")
+    @PostMapping("/ding/gysList")
     @ApiOperation(value = "Dingding查询供应商列表", notes = "Dingding查询供应商列表")
     @ResponseBody
     public AjaxResult dingGysList() {

+ 20 - 8
canteen/src/main/resources/static/ruoyi/js/common.js

@@ -482,14 +482,26 @@ function loadJs(file, headElem) {
 /** 设置全局ajax处理 */
 $.ajaxSetup({
     complete: function(XMLHttpRequest, textStatus) {
-        if (textStatus == 'timeout') {
-            $.modal.alertWarning("服务器超时,请稍后再试!");
-            $.modal.enable();
-            $.modal.closeLoading();
-        } else if (textStatus == "parsererror" || textStatus == "error") {
-            $.modal.alertWarning("服务器错误,请联系管理员!");
-            $.modal.enable();
-            $.modal.closeLoading();
+        // 通过XMLHttpRequest取得响应头,sessionstatus
+        var sessionstatus = XMLHttpRequest.getResponseHeader("sessionstatus");
+        if (sessionstatus == "TIMEOUT") {
+            var win = window;
+            while (win != win.top) {
+                win = win.top;
+            }
+            $.modal.confirm("未登录或登录超时。请重新登录!", function () {
+                win.location.href = XMLHttpRequest.getResponseHeader("content_path");
+            })
+        } else {
+            if (textStatus == 'timeout') {
+                $.modal.alertWarning("服务器超时,请稍后再试!");
+                $.modal.enable();
+                $.modal.closeLoading();
+            } else if (textStatus == "parsererror" || textStatus == "error") {
+                $.modal.alertWarning("服务器错误,请联系管理员!");
+                $.modal.enable();
+                $.modal.closeLoading();
+            }
         }
     }
 });

+ 15 - 15
clothCashier/app/src/main/java/com/cloth/clothcashier/net/MApiUrl.java

@@ -26,76 +26,76 @@ public interface MApiUrl {
 
     //登陆
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/account/posAccountLogin")
+    @POST("/system/account/pos/accountLogin")
     Observable<Response<LoginEntity>> getLogin(@Body RequestBody requestBody);
 
     //获取菜品列表
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/goods/posGoodsList")
+    @POST("/system/goods/pos/goodsList")
     Observable<Response<List<DishListEntity>>> getDishList(@Body RequestBody requestBody);
 
     //获取菜品分类列表
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/goodsType/posGoodsTypeList")
+    @POST("/system/goodsType/pos/goodsTypeList")
     Observable<Response<List<DishSortEntity>>> getDishSortList(@Body RequestBody requestBody);
 
     //获取菜品临时列表
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/goods/posGoodsLinList")
+    @POST("/system/goods/pos/goodsLinList")
     Observable<Response<List<TemporaryDishEntity>>> getDishTemporaryList(@Body RequestBody requestBody);
 
     //添加临时菜品
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/goods/posGoodsAdd")
+    @POST("/system/goods/pos/goodsAdd")
     Observable<Response<BaseEntity>> addTemporaryDish(@Body RequestBody requestBody);
 
     //删除临时菜品
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/goods/posGoodsDelete")
+    @POST("/system/goods/pos/goodsDelete")
     Observable<Response<BaseEntity>> deleteTemporaryDish(@Body RequestBody requestBody);
 
     //编辑临时菜品
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/goods/posGoodsEdit")
+    @POST("/system/goods/pos/goodsEdit")
     Observable<Response<BaseEntity>> editTemporaryDish(@Body RequestBody requestBody);
 
     //菜品分组
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/group/posGroupList")
+    @POST("/system/group/pos/groupList")
     Observable<Response<List<DishGroupEntity>>> getDishGroupList(@Body RequestBody requestBody);
 
     //子账号修改售卖分组
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/group/updatePosGroup")
+    @POST("/system/group/pos/updateGroup")
     Observable<Response<BaseEntity>> updateGroupList(@Body RequestBody requestBody);
 
     //交易明细
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/order/posOrderList")
+    @POST("/system/order/pos/orderList")
     Observable<Response<List<TrascationEntity>>> transactionDetial(@Body RequestBody requestBody);
 
     //提交订单
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/order/posAddOrder")
+    @POST("/system/order/pos/addOrder")
     Observable<Response<OrderResultEntity>> commitOrder(@Body RequestBody requestBody);
 
     //提交人脸支付订单
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/face/facePay")
+    @POST("/system/face/pos/facePay")
     Observable<Response<OrderResultEntity>> commitFacePayOrder(@Body RequestBody requestBody);
 
     //提交今日收益
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/order/posTodayIncome")
+    @POST("/system/order/pos/todayIncome")
     Observable<Response<TodayIncomeEntity>> getTodayIncome(@Body RequestBody requestBody);
 
     //更新版本
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/edition/findEdition")
+    @POST("/system/edition/pos/findEdition")
     Observable<Response<UpdateVersionEntity>> updateVersion(@Body RequestBody requestBody);
 
     //更新版本
     @Headers({"Content-Type: application/json", "Accept: application/json"})
-    @POST("/system/order/payReturn")
+    @POST("/system/order/pos/payReturn")
     Observable<Response<BaseEntity>> payReturn(@Body RequestBody requestBody);
 }

+ 1 - 1
dininghall/pages/index/announcement/announcement.js

@@ -7,7 +7,7 @@ Page({
   onLoad() {
     var app = getApp()
     //公告列表
-    app.requestHp('/system/notice/dingNoticeList').then(res => {
+    app.requestHp('/system/notice/ding/noticeList').then(res => {
       if (res.data.code == 0) {
         this.setData({
           list: res.data.data

+ 1 - 1
dininghall/pages/index/announcement/details/details.js

@@ -11,7 +11,7 @@ Page({
       var data = {
         noticeId:options.id
       }
-      app.requestHp('/system/notice/dingNoticeDetail',JSON.stringify(data)).then(res => {
+      app.requestHp('/system/notice/ding/noticeDetail',JSON.stringify(data)).then(res => {
         if (res.data.code == 0) {
           this.setData({
             content: res.data.data

+ 1 - 1
dininghall/pages/index/bill/bill.js

@@ -7,7 +7,7 @@ Page({
   },
   list() {
     var app = getApp()
-    app.requestHps('/system/dingUser/getConsumeList', { userId: app.data.userId.userid }).then(res => {
+    app.requestHps('/system/dingUser/ding/getConsumeList', { userId: app.data.userId.userid }).then(res => {
       if (res.data.code == 0) {
         this.setData({
           list: res.data.data

+ 1 - 1
dininghall/pages/index/bill/expenditure/expenditure.js

@@ -4,7 +4,7 @@ Page({
   },
   onLoad(options) {
     var app = getApp()
-    app.requestHps('/system/dingUser/getConsumeDetails', { orderId: options.id }).then(res => {
+    app.requestHps('/system/dingUser/ding/getConsumeDetails', { orderId: options.id }).then(res => {
       if (res.data.code == 0) {
         this.setData({
           content: res.data.data

+ 21 - 2
dininghall/pages/index/dduploading/dduploading.js

@@ -1,9 +1,10 @@
 Page({
   data: {
     items: true,
-    paths: '',
+    paths: ''
   },
   onLoad() {
+    this.getFacePic()
   },
   //   dd.chooseImage({
   //     count: 1,
@@ -19,6 +20,24 @@ Page({
   //     },
   //   });
   // },
+  getFacePic(){
+    var app = getApp();
+    let param = {
+      userid: app.data.userId.userid
+    }
+    //获取用户人脸照片
+    app.requestHp('/system/dingUser/ding/getFacePic', JSON.stringify(param)).then(res => {
+      if (res.data.code == 0) {
+        if(res.data.data){
+          this.setData({
+            items: false,
+            paths: app.data.baseUrl  + res.data.data
+          })
+        }
+         
+      }
+    })
+  },
   onupload() {
     var that = this
     var app = getApp()
@@ -28,7 +47,7 @@ Page({
       success: res => {
         const path = res.filePaths[0] || res.apFilePaths[0];
         dd.uploadFile({
-          url: app.data.baseUrl + '/system/face/addFace',
+          url: app.data.baseUrl + '/system/face/ding/addFace',
           fileType: 'image',
           fileName: 'file',
           filePath: path,

+ 2 - 2
dininghall/pages/index/meal-record/meal-record.js

@@ -17,7 +17,7 @@ Page({
     this.setData({
       name: app.data.userId.name
     })
-    app.requestHp('/system/meal/dingMealList', JSON.stringify(data)).then(res => {
+    app.requestHp('/system/meal/ding/mealList', JSON.stringify(data)).then(res => {
       if (res.data.code == 0) {
         //判断时间是否大于今天下午的三点钟
         res.data.data.map((item) => {
@@ -60,7 +60,7 @@ Page({
           var data = {
             mealId: that.data.mealId
           }
-          app.requestHp('/system/meal/dingRevokeMeal', JSON.stringify(data)).then(res => {
+          app.requestHp('/system/meal/ding/revokeMeal', JSON.stringify(data)).then(res => {
             if (res.data.code == 0) {
               that.onLoad()
               that.setData({

+ 1 - 1
dininghall/pages/index/personal-wallet/binding/binding.js

@@ -10,7 +10,7 @@ Page({
     var data = {
       userid: app.data.userId.userid
     }
-    app.requestHp('/system/dingUser/alipaySignup', JSON.stringify(data)).then(res => {
+    app.requestHp('/system/dingUser/ding/alipaySignup', JSON.stringify(data)).then(res => {
       this.setData({
         path: res.data.msg
       })

+ 1 - 1
dininghall/pages/index/personal-wallet/personal-wallet.js

@@ -27,7 +27,7 @@ Page({
     let data = {
       userId: app.data.userId.userid
     }
-    app.requestHp('/system/dingUser/personalDetailed', JSON.stringify(data)).then(res => {
+    app.requestHp('/system/dingUser/ding/personalDetailed', JSON.stringify(data)).then(res => {
       if (res.data.code == 0) {
         this.setData({
           walletDetail: res.data.data

+ 1 - 1
dininghall/pages/index/rechargeDel/rechargeDel.js

@@ -4,7 +4,7 @@ Page({
   },
   onLoad(options) {
     var app = getApp()
-    app.requestHps('/system/dingUser/getRechargeDetails', { rechargeId: options.id }).then(res => {
+    app.requestHps('/system/dingUser/ding/getRechargeDetails', { rechargeId: options.id }).then(res => {
       if (res.data.code == 0) {
         this.setData({
           content: res.data.data

+ 1 - 1
dininghall/pages/index/release-record/release-record.js

@@ -29,7 +29,7 @@ Page({
       type: 2
     }
     //餐贴到账记录列表
-    app.requestHp('/system/dingUser/getSubsidyRechargeRecord', JSON.stringify(data)).then(res => {
+    app.requestHp('/system/dingUser/ding/getSubsidyRechargeRecord', JSON.stringify(data)).then(res => {
       if (res.data.code == 0) {
         var str = res.data.data[0].createTime
         this.setData({

+ 2 - 2
dininghall/pages/index/report/relieve/relieve.js

@@ -30,7 +30,7 @@ Page({
     });
     var app = getApp()
     //查询挂失信息
-    app.requestHps('/system/dingUser/getReportCard', { userId: app.data.userId.userid }).then(res => {
+    app.requestHps('/system/dingUser/ding/getReportCard', { userId: app.data.userId.userid }).then(res => {
       if (res.data.code == 0) {
         this.setData({
           getReportCard: res.data.data
@@ -55,7 +55,7 @@ Page({
             userCard: this.data.workCard.card,
             reportId: this.data.getReportCard.reportId
           }
-          app.requestHp('/system/dingUser/unReportCard', JSON.stringify(data)).then(res => {
+          app.requestHp('/system/dingUser/ding/unReportCard', JSON.stringify(data)).then(res => {
             if (res.data.code == 0) {
               dd.alert({
                 content: '工牌已解除挂失',

+ 1 - 1
dininghall/pages/index/report/report.js

@@ -51,7 +51,7 @@ Page({
             userCard: this.data.card,
             reson: this.data.reson
           }
-          app.requestHp('/system/dingUser/reportCard', JSON.stringify(data)).then(res => {
+          app.requestHp('/system/dingUser/ding/reportCard', JSON.stringify(data)).then(res => {
             dd.redirectTo({ url: '/pages/index/report/relieve/relieve' })
           })
         }

+ 4 - 4
dininghall/pages/index/the-meal/the-meal.js

@@ -41,7 +41,7 @@ Page({
     var app = getApp()
     this.data.baseUrl = app.data.baseUrl
     //获取商家id和名字
-    app.requestHp('/system/user/dingGysList').then(res => {
+    app.requestHp('/system/user/ding/gysList').then(res => {
       if (res.data.code == 0) {
         this.setData({
           userInfo: res.data.data,
@@ -50,7 +50,7 @@ Page({
       }
     })
     //获取餐的类型
-    app.requestHp('/system/mealType/dingMealTypeList').then(res => {
+    app.requestHp('/system/mealType/ding/mealTypeList').then(res => {
       if (res.data.code == 0) {
         var list = res.data.data.map((item) => {
           return item.selectlist = false
@@ -175,7 +175,7 @@ Page({
         mealIdList: this.data.meals
       }
       var that = this
-      app.requestHp('/system/meal/dingEditMeal', JSON.stringify(res)).then(res => {
+      app.requestHp('/system/meal/ding/editMeal', JSON.stringify(res)).then(res => {
         if (res.data.code == 0) {
           dd.alert({
             content: '修改报餐成功',
@@ -196,7 +196,7 @@ Page({
       }
       // return
       //提交报餐
-      app.requestHp('/system/meal/dingAddMeal', JSON.stringify(data)).then(res => {
+      app.requestHp('/system/meal/ding/addMeal', JSON.stringify(data)).then(res => {
         if (res.data.code == 0) {
           dd.alert({
             content: '报餐成功',

+ 2 - 2
dininghall/pages/tabber/my/my.js

@@ -13,7 +13,7 @@ Page({
   onShow() {
     var app = getApp()
     //获取轮播数据
-    app.requestHp('/system/banner/dingBannerList').then(res => {
+    app.requestHp('/system/banner/ding/bannerList').then(res => {
       if (res.data.code == 0) {
         var lists = res.data.data.map((item) => {
           return app.data.baseUrl  + item.picture
@@ -24,7 +24,7 @@ Page({
       }
     })
     //公告列表
-    app.requestHp('/system/notice/dingNoticeList').then(res => {
+    app.requestHp('/system/notice/ding/noticeList').then(res => {
       if (res.data.code == 0) {
         this.setData({
           list: res.data.data

+ 5 - 5
dininghall/pages/tabber/wallet/wallet.js

@@ -92,7 +92,7 @@ Page({
               dd.offSocketMessage();
             })
             //公司钱包金额
-            app.requestHps('/system/dingUser/getSubsidyBalance', { userId: res.data.data.userid }).then(res => {
+            app.requestHps('/system/dingUser/ding/getSubsidyBalance', { userId: res.data.data.userid }).then(res => {
               if (res.data.code == 0) {
                 that.data.wallet = res.data.data
                 //判断余额是否为0
@@ -120,7 +120,7 @@ Page({
                 var data = {
                   userid: app.data.userId.userid
                 }
-                app.requestHp('/system/dingUser/getEncryptCode', JSON.stringify(data)).then(res => {
+                app.requestHp('/system/dingUser/ding/getEncryptCode', JSON.stringify(data)).then(res => {
                   if (res.data.code == 0) {
                     //生成二维码
                     let scale = that.data.systemInfo.windowWidth / 375; //不同屏幕下QRcode的适配比例;设计稿是750宽
@@ -188,7 +188,7 @@ Page({
   skipreport() {
     //判断工牌是否挂失
     var app = getApp()
-    app.requestHps('/system/dingUser/getReportCard', { userId: app.data.userId.userid }).then(res => {
+    app.requestHps('/system/dingUser/ding/getReportCard', { userId: app.data.userId.userid }).then(res => {
       if (res.data.data) {
         dd.navigateTo({ url: '/pages/index/report/relieve/relieve' })
       } else {
@@ -220,7 +220,7 @@ Page({
     var data = {
       userId: that.data.userId.userid
     }
-    app.requestHp('/system/dingUser/personalBalance', JSON.stringify(data)).then(res => {
+    app.requestHp('/system/dingUser/ding/personalBalance', JSON.stringify(data)).then(res => {
       if (res.data.code == 0) {
         that.data.userBalance = res.data.data
         if (that.data.userBalance) {
@@ -246,7 +246,7 @@ Page({
   },
   unbundle() {
     var that = this
-    app.requestHp('/system/dingUser/removeZFB', {ids: this.data.id}).then(res => {
+    app.requestHp('/system/dingUser/ding/removeZFB', {id: this.data.id}).then(res => {
       if (res.data.code == 0) {
         dd.alert({
             content: '解绑成功',