Переглянути джерело

门店管理模块实现与修改

admin 1 місяць тому
батько
коміт
c7b42abe2e

+ 1 - 0
.idea/vcs.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
     <mapping directory="D:/" vcs="Git" />
   </component>
 </project>

+ 7 - 8
client-app/src/main/java/com/sapit/client/app/third/controller/goods/ThirdEvaluateManageController.java

@@ -42,11 +42,12 @@ public class ThirdEvaluateManageController {
         pageControlData.setPageSize(pageSize);
         pageControlData.setCurrentPage(currentPage);
 
-        // 获取商品信息List
+        // 获取评价列表
         List<BuEvaluate> goodsList = evaluateManageService.getEvaluateList(pageControlData, searchBean);
 
         bean.setList(goodsList);
         bean.setPage(pageControlData);
+        bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
         return bean;
     }
 
@@ -66,14 +67,12 @@ public class ThirdEvaluateManageController {
         if (id == null) {
             bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
             bean.getRtnBean().setRtnMsg("参数错误!");
-        } else {
-            // 更新展示状态
-            evaluateManageService.deleteById(id);
-            bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
-            bean.getRtnBean().setRtnMsg("删除成功!");
-
+            return bean;
         }
 
+        evaluateManageService.deleteById(id);
+        bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
+        bean.getRtnBean().setRtnMsg("删除成功!");
         return bean;
     }
-}
+}

+ 1 - 0
client-app/src/main/java/com/sapit/client/app/third/controller/store/StoreInfoThirdApiController.java

@@ -47,6 +47,7 @@ public class StoreInfoThirdApiController {
 
         return storeInfoThirdApiService.getStoreBasicSettingForThird(storeId);
     }
+
     /**
      * 方法名称:修改店铺基本信息
      * 功能描述:修改店铺基本信息

+ 61 - 29
client-app/src/main/java/com/sapit/client/app/third/controller/store/ThirdStoreDeliveryManageCtl.java

@@ -38,9 +38,12 @@ public class ThirdStoreDeliveryManageCtl {
     @AuthToken(type = "third")
     public ResultBean getDeliveryInfo(Long storeId) {
         ResultBean bean = new ResultBean();
-
+        if (storeId == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+            bean.getRtnBean().setRtnMsg("参数错误!");
+            return bean;
+        }
         StoreDeliveryInfoBean store = storeDeliveryManageApiService.getDeliveryInfoForStore(storeId);
-
         bean.setObj(store);
         bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
         return bean;
@@ -56,11 +59,16 @@ public class ThirdStoreDeliveryManageCtl {
     @PostMapping(value = "/updateStoreDeliveryInfo")
     @AuthToken(type = "third")
     public ResultBean updateStoreDeliveryInfo(BuStore store) {
-    	ResultBean bean = new ResultBean();
-    	
-    	storeDeliveryManageApiService.updateStoreDeliveryInfo(store);
-    	
-    	return bean;
+        ResultBean bean = new ResultBean();
+        if (store == null || store.getStoreId() == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+            bean.getRtnBean().setRtnMsg("参数错误!");
+            return bean;
+        }
+        storeDeliveryManageApiService.updateStoreDeliveryInfo(store);
+        bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
+        bean.getRtnBean().setRtnMsg("更新成功");
+        return bean;
     }
     
     /**
@@ -74,13 +82,17 @@ public class ThirdStoreDeliveryManageCtl {
     @AuthToken(type = "third")
     public ResultBean getStoreRiderList(Long storeId) {
         ResultBean bean = new ResultBean();
-
+        if (storeId == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+            bean.getRtnBean().setRtnMsg("参数错误!");
+            return bean;
+        }
         RiderSearchBean searchBean = new RiderSearchBean();
         searchBean.setStoreId(storeId);
         searchBean.setIsInside(0L);
         List<BuRider> riderList = storeDeliveryManageApiService.getStoreRiderListForStore(searchBean);
-
         bean.setList(riderList);
+        bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
         return bean;
     }
     
@@ -94,10 +106,19 @@ public class ThirdStoreDeliveryManageCtl {
     @PostMapping(value = "saveRider")
     @AuthToken(type = "third")
     public ResultBean saveRider(BuRider rider) {
-    	ResultBean bean = new ResultBean();
-    	if (rider.getRiderId() == null) {
-    		boolean btn = storeDeliveryManageApiService.checkStoreUserTelForStore(null, rider.getTelNo());
-            if (!btn){
+        ResultBean bean = new ResultBean();
+        if (rider == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+            bean.getRtnBean().setRtnMsg("参数错误!");
+            return bean;
+        }
+
+        if (rider.getRiderId() == null) {
+            // ========== 新增操作 ==========
+
+            // 判断手机号是否已被使用
+            boolean telNotExist = storeDeliveryManageApiService.checkStoreUserTelForStore(null, rider.getTelNo());
+            if (!telNotExist) {
                 bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
                 bean.getRtnBean().setRtnMsg("手机号已被使用,请更换手机号");
                 return bean;
@@ -112,25 +133,30 @@ public class ThirdStoreDeliveryManageCtl {
             buRider.setStoreId(rider.getStoreId());
             buRider.setRiderType(Flag.FLAG_YES);
 
-            // 店铺取消专属配送员
-            if (storeDeliveryManageApiService.saveRiderForStore(buRider)){
+            if (storeDeliveryManageApiService.saveRiderForStore(buRider)) {
                 bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
                 bean.getRtnBean().setRtnMsg("新增成功");
             } else {
                 bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
-                bean.getRtnBean().setRtnMsg("修改失败");
+                bean.getRtnBean().setRtnMsg("新增失败");
             }
-    	} else {
-    		// 判断手机号是否有重复的
-            boolean btn = storeDeliveryManageApiService.checkStoreUserTelForStore(rider.getRiderId(), rider.getTelNo());
-            if (!btn){
+        } else {
+            // ========== 编辑操作 ==========
+
+            // 判断手机号是否已被使用(排除自身)
+            boolean telNotExist = storeDeliveryManageApiService.checkStoreUserTelForStore(rider.getRiderId(), rider.getTelNo());
+            if (!telNotExist) {
                 bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
                 bean.getRtnBean().setRtnMsg("手机号已被使用,请更换手机号");
                 return bean;
             }
-            // 编辑
+            // 先查旧记录
             BuRider riderById = storeDeliveryManageApiService.getRiderByIdForStore(rider.getRiderId());
-
+            if (riderById == null) {
+                bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+                bean.getRtnBean().setRtnMsg("配送员不存在!");
+                return bean;
+            }
             riderById.setRiderName(rider.getRiderName());
             riderById.setTelNo(rider.getTelNo());
             if (storeDeliveryManageApiService.updateRiderForStore(riderById)) {
@@ -140,9 +166,9 @@ public class ThirdStoreDeliveryManageCtl {
                 bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
                 bean.getRtnBean().setRtnMsg("修改失败");
             }
-    	}
-    	
-    	return bean;
+        }
+
+        return bean;
     }
     
     /**
@@ -154,12 +180,18 @@ public class ThirdStoreDeliveryManageCtl {
      */
     @PostMapping(value = "/changeStatus")
     @AuthToken(type = "third")
-    public ResultBean changeStatus(Long storeId,Long riderId, Long status) {
+    public ResultBean changeStatus(Long storeId, Long riderId, Long status) {
         // 定义返回结果Bean
         ResultBean bean = new ResultBean();
-        // 更新菜单状态
+        if (riderId == null || status == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+            bean.getRtnBean().setRtnMsg("参数错误!");
+            return bean;
+        }
+        // 更新配送员状态
         storeDeliveryManageApiService.updateRiderStatusForStore(riderId, status);
-
+        bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
+        bean.getRtnBean().setRtnMsg("状态更新成功");
         return bean;
     }
-}
+}

+ 68 - 48
client-app/src/main/java/com/sapit/client/app/third/service/store/StoreClerkThirdApiService.java

@@ -37,12 +37,16 @@ public class StoreClerkThirdApiService {
      */
     public ResultBean getStoreUserPageForThird(int pageSize, int currentPage, Long storeId) {
         ResultBean bean = new ResultBean();
-
+        if (storeId == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+            bean.getRtnBean().setRtnMsg("参数错误!");
+            return bean;
+        }
         PageControlData pageControlData = new PageControlData();
         pageControlData.setPageSize(pageSize);
         pageControlData.setCurrentPage(currentPage);
 
-        List<BuStoreUser> storeUsers = storeUserDao.getStoreUserPageForThird(pageControlData,storeId);
+        List<BuStoreUser> storeUsers = storeUserDao.getStoreUserPageForThird(pageControlData, storeId);
 
         bean.setPage(pageControlData);
         bean.setList(storeUsers);
@@ -61,24 +65,27 @@ public class StoreClerkThirdApiService {
         if (user == null) {
             bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
             bean.getRtnBean().setRtnMsg("参数错误!");
+            return bean;
+        }
+
+        // 新增操作
+        // 判断手机号是否已被使用
+        boolean telNotExist = storeUserDao.checkStoreUserTelForThird(user.getStoreUserId(), user.getTel());
+        if (!telNotExist) {
+            bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+            bean.getRtnBean().setRtnMsg("手机号已被使用,请更换手机号");
+            return bean;
+        }
+        user.setCreateDate(DateUtil.getSqlToday());
+        user.setPassword(MD5.encrypt(user.getPassword()));
+        user.setIsManage(0L);
+        boolean rtn = storeUserDao.save(user);
+        if (!rtn) {
+            bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+            bean.getRtnBean().setRtnMsg("新增失败,请重新尝试!");
         } else {
-            // 新增操作
-            boolean btn = storeUserDao.checkStoreUserTelForThird(user.getStoreUserId(), user.getTel());
-            if (!btn) {
-                bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
-                bean.getRtnBean().setRtnMsg("手机号已被使用,请更换手机号");
-                return bean;
-            }
-            user.setCreateDate(DateUtil.getSqlToday());
-            user.setPassword(MD5.encrypt(user.getPassword()));
-            user.setIsManage(0L);
-            boolean rtn = storeUserDao.save(user);
-            if (!rtn) {
-                bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
-                bean.getRtnBean().setRtnMsg("新增失败,请重新尝试!");
-            }else {
-                bean.getRtnBean().setRtnMsg("新增成功");
-            }
+            bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
+            bean.getRtnBean().setRtnMsg("新增成功");
         }
 
         return bean;
@@ -93,34 +100,47 @@ public class StoreClerkThirdApiService {
     public ResultBean updateStoreUserForThird(BuStoreUser user) {
         // 定义返回结果Bean
         ResultBean bean = new ResultBean();
-        if (user == null) {
+        if (user == null || user.getStoreUserId() == null) {
             bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
             bean.getRtnBean().setRtnMsg("参数错误!");
-        } else {
-            // 校验手机号
-            boolean btn = storeUserDao.checkStoreUserTelForThird(user.getStoreUserId(), user.getTel());
-            if (!btn) {
-                bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
-                bean.getRtnBean().setRtnMsg("手机号已被使用,请更换手机号");
-                return bean;
-            }
-
-            BuStoreUser userById = storeUserDao.getUserById(user.getStoreUserId());
-            userById.setUserName(user.getUserName());
-            userById.setTel(user.getTel());
-            // 修改操作
-            boolean rtn = storeUserDao.update(userById);
-            BuStore storeById = storeDao.getStoreById(userById.getStoreId());
+            return bean;
+        }
+
+        // 校验手机号是否已被使用(排除自身)
+        boolean telNotExist = storeUserDao.checkStoreUserTelForThird(user.getStoreUserId(), user.getTel());
+        if (!telNotExist) {
+            bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+            bean.getRtnBean().setRtnMsg("手机号已被使用,请更换手机号");
+            return bean;
+        }
+
+        BuStoreUser userById = storeUserDao.getUserById(user.getStoreUserId());
+        if (userById == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+            bean.getRtnBean().setRtnMsg("店员不存在!");
+            return bean;
+        }
+
+        userById.setUserName(user.getUserName());
+        userById.setTel(user.getTel());
+        // 修改操作
+        boolean rtn = storeUserDao.update(userById);
+        if (!rtn) {
+            bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+            bean.getRtnBean().setRtnMsg("保存失败,请重新尝试!");
+            return bean;
+        }
+
+        // 同步更新店铺联系人信息
+        BuStore storeById = storeDao.getStoreById(userById.getStoreId());
+        if (storeById != null) {
             storeById.setContactName(user.getUserName());
             storeById.setContactPhone(user.getTel());
             storeDao.update(storeById);
-            if (!rtn) {
-                bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
-                bean.getRtnBean().setRtnMsg("保存失败,请重新尝试!");
-            }else {
-                bean.getRtnBean().setRtnMsg("编辑成功");
-            }
         }
+
+        bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
+        bean.getRtnBean().setRtnMsg("编辑成功");
         return bean;
     }
 
@@ -137,13 +157,12 @@ public class StoreClerkThirdApiService {
         if (storeUserId == null) {
             bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
             bean.getRtnBean().setRtnMsg("请指定要删除的员工!");
-        } else {
-
-            storeUserDao.deleteStoreUserById(storeUserId);
-            bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
-            bean.getRtnBean().setRtnMsg("删除成功!");
-
+            return bean;
         }
+
+        storeUserDao.deleteStoreUserById(storeUserId);
+        bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
+        bean.getRtnBean().setRtnMsg("删除成功!");
         return bean;
     }
 
@@ -173,10 +192,11 @@ public class StoreClerkThirdApiService {
             user.setPassword(MD5.encrypt(user.getTel()));
             // 更新
             storeUserDao.update(user);
+            bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
             bean.getRtnBean().setRtnMsg("重置成功!");
         }
         return bean;
     }
 
 
-}
+}

+ 403 - 87
client-app/src/main/java/com/sapit/client/app/third/service/store/StoreInfoThirdApiService.java

@@ -86,6 +86,7 @@ public class StoreInfoThirdApiService {
      * 作    者:Liucl
      * 日    期:2020-08-21
      */
+    /*
     public ResultBean updateStoreBasicSettingForThird(BuStore store, MultipartFile file) {
         ResultBean bean = new ResultBean();
         
@@ -133,7 +134,7 @@ public class StoreInfoThirdApiService {
             return bean;
         }
         if (store.getAutoDine().equals(1L) && setting.getDineTime() > store.getAutoDineTime()) {
-        	bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+            bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
             bean.getRtnBean().setRtnMsg("自动出餐时间小于系统设置中的可自动出餐时间,请做出调整!");
             return bean;
         }
@@ -180,6 +181,157 @@ public class StoreInfoThirdApiService {
 
         return bean;
     }
+    */
+
+    /**
+     * 方法名称:修改门店信息(新)
+     */
+    public ResultBean updateStoreBasicSettingForThird(BuStore store, MultipartFile file) {
+        ResultBean bean = new ResultBean();
+
+        //基本信息校验
+        if (store == null || store.getStoreId() == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+            bean.getRtnBean().setRtnMsg("参数错误!");
+            return bean;
+        }
+
+        //必填字段校验
+        if (StringUtil.isBlank(store.getStoreName())) {
+            bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+            bean.getRtnBean().setRtnMsg("门店名称不能为空!");
+            return bean;
+        }
+        if (StringUtil.isBlank(store.getAddress())) {
+            bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+            bean.getRtnBean().setRtnMsg("门店地址不能为空!");
+            return bean;
+        }
+
+        //查数据库中是否存在店铺
+        BuStore buStore = storeDao.getStoreById(store.getStoreId());
+        if (buStore == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+            bean.getRtnBean().setRtnMsg("店铺不存在!");
+            return bean;
+        }
+
+        //Logo上传处理
+        if (file != null && !file.isEmpty()) {
+            if (file.getSize() > 204800) {
+                bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+                bean.getRtnBean().setRtnMsg("图片大小超过200K,请调整清晰度之后再试!");
+                return bean;
+            }
+            String imageType = file.getOriginalFilename()
+                    .substring(file.getOriginalFilename().lastIndexOf(".") + 1);
+            String filename = DateUtil.getStrToday("yyyyMMddHHmmssSSS") + "." + imageType;
+            try {
+                if (!FileFtpUploadUtil.uploadFile("/store", filename, file.getInputStream())) {
+                    bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                    bean.getRtnBean().setRtnMsg("文件上传失败,请重新尝试!");
+                    return bean;
+                }
+            } catch (Exception e) {
+                bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                bean.getRtnBean().setRtnMsg("文件上传失败,请重新尝试!");
+                return bean;
+            }
+            // 删旧Logo
+            if (!StringUtil.isBlank(buStore.getIconUrl())) {
+                String oldFilename = buStore.getIconUrl()
+                        .substring(buStore.getIconUrl().lastIndexOf("/") + 1);
+                FileFtpUploadUtil.deleteFile("/store", oldFilename);
+            }
+            buStore.setIconUrl(FileFtpUploadUtil.rootURL + "/store/" + filename);
+        }
+        // 注意:没传新Logo时保持旧Logo不变,不覆盖
+
+        //手机号唯一校验
+        if (!StringUtil.isBlank(store.getContactPhone())) {
+            StoreUserSearchBean searchBean = new StoreUserSearchBean();
+            searchBean.setIsManage(1L);
+            searchBean.setId(store.getStoreId());
+            BuStoreUser storeUser = storeUserManageService.getStoreManage(searchBean);
+            if (storeUser != null) {
+                boolean telExists = storeUserManageService.getStoreManageByTel(
+                        store.getContactPhone(), storeUser.getStoreUserId());
+                if (telExists) {
+                    bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+                    bean.getRtnBean().setRtnMsg("手机号已使用,请勿重复使用");
+                    return bean;
+                }
+            }
+        }
+
+        //自动出餐时间校验
+        if (store.getAutoDine() != null && store.getAutoDine().equals(1L)) {
+            BuSetting setting = settingManageService.getSettingInfo();
+            if (setting != null && setting.getDineTime() != null
+                    && store.getAutoDineTime() != null
+                    && setting.getDineTime() > store.getAutoDineTime()) {
+                bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+                bean.getRtnBean().setRtnMsg("自动出餐时间小于系统设置中的可自动出餐时间,请做出调整!");
+                return bean;
+            }
+        }
+
+        //更新字段
+        if (!StringUtil.isBlank(store.getStoreName())) {
+            buStore.setStoreName(store.getStoreName());
+        }
+        if (store.getProvince() != null) {
+            buStore.setProvince(store.getProvince());
+        }
+        if (store.getCity() != null) {
+            buStore.setCity(store.getCity());
+        }
+        if (store.getArea() != null) {
+            buStore.setArea(store.getArea());
+        }
+        if (!StringUtil.isBlank(store.getAddress())) {
+            buStore.setAddress(store.getAddress());
+        }
+        if (!StringUtil.isBlank(store.getContactPhone())) {
+            buStore.setContactPhone(store.getContactPhone());
+        }
+        if (store.getStartingPrice() != null) {
+            buStore.setStartingPrice(store.getStartingPrice());
+        }
+        if (store.getEvaluateStatus() != null) {
+            buStore.setEvaluateStatus(store.getEvaluateStatus());
+        }
+        if (store.getAutoGo() != null) {
+            buStore.setAutoGo(store.getAutoGo());
+        }
+        if (store.getRiderPrice() != null) {
+            buStore.setRiderPrice(store.getRiderPrice());
+        }
+        if (store.getAutoDine() != null) {
+            buStore.setAutoDine(store.getAutoDine());
+        }
+        if (store.getAutoDineTime() != null) {
+            buStore.setAutoDineTime(store.getAutoDineTime());
+        }
+        if (store.getBusinessStart() != null) {
+            buStore.setBusinessStart(store.getBusinessStart().replace(":", ""));
+        }
+        if (store.getBusinessEnd() != null) {
+            buStore.setBusinessEnd(store.getBusinessEnd().replace(":", ""));
+        }
+
+        //更新操作
+        boolean rtn = storeDao.update(buStore);
+        if (!rtn) {
+            bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+            bean.getRtnBean().setRtnMsg("更新失败,请重新尝试!");
+        } else {
+            bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
+            bean.getRtnBean().setRtnMsg("更新成功");
+        }
+
+        return bean;
+    }
 
     /**
      * 方法名称:获取门店食品安全档案
@@ -212,6 +364,7 @@ public class StoreInfoThirdApiService {
      * 作    者:Liucl
      * 日    期:2020-05-24
      */
+    /*
     public ResultBean updateStoreFoodSafeForThird(BuStoreInfo storeInfo,MultipartFile file1,MultipartFile file2) {
         ResultBean bean = new ResultBean();
         // 参数基本验证
@@ -287,6 +440,124 @@ public class StoreInfoThirdApiService {
 
         return bean;
     }
+    */
+
+    /**
+     * 方法名称:修改门店食品安全档案(优化版)
+     * 功能描述:修改门店食品安全档案
+     * 参数说明:
+     * 作    者:Liucl
+     * 日    期:2020-05-24
+     */
+    public ResultBean updateStoreFoodSafeForThird(BuStoreInfo storeInfo, MultipartFile file1, MultipartFile file2) {
+        ResultBean bean = new ResultBean();
+
+        //参数基本验证
+        if (storeInfo == null || storeInfo.getStoreId() == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+            bean.getRtnBean().setRtnMsg(ReturnCode.getName(ReturnCode.PARAM_WRONG));
+            return bean;
+        }
+
+        //先查旧记录,确保记录存在
+        BuStoreInfo info = getStoreInfoByStoreIdForThird(storeInfo.getStoreId());
+        if (info == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+            bean.getRtnBean().setRtnMsg("食品安全档案不存在!");
+            return bean;
+        }
+
+        //营业执照上传处理
+        if (file1 != null && !file1.isEmpty()) {
+            if (file1.getSize() > 204800) {
+                bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                bean.getRtnBean().setRtnMsg("图片大小超过200K,请调整清晰度之后再试!");
+                return bean;
+            }
+            String imageType = file1.getOriginalFilename()
+                    .substring(file1.getOriginalFilename().lastIndexOf(".") + 1);
+            String filename = DateUtil.getStrToday("yyyyMMddHHmmssSSS") + "." + imageType;
+            try {
+                if (!FileFtpUploadUtil.uploadFile("/store", filename, file1.getInputStream())) {
+                    bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                    bean.getRtnBean().setRtnMsg("文件上传失败,请重新尝试!");
+                    return bean;
+                }
+            } catch (Exception e) {
+                bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                bean.getRtnBean().setRtnMsg("文件上传失败,请重新尝试!");
+                return bean;
+            }
+            // 删旧营业执照
+            if (!StringUtil.isBlank(info.getLicenseOneUrl())) {
+                String oldFilename = info.getLicenseOneUrl()
+                        .substring(info.getLicenseOneUrl().lastIndexOf("/") + 1);
+                FileFtpUploadUtil.deleteFile("/store", oldFilename);
+            }
+            info.setLicenseOneUrl(FileFtpUploadUtil.rootURL + "/store/" + filename);
+        }
+
+        //经营许可证上传处理
+        if (file2 != null && !file2.isEmpty()) {
+            if (file2.getSize() > 204800) {
+                bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                bean.getRtnBean().setRtnMsg("图片大小超过200K,请调整清晰度之后再试!");
+                return bean;
+            }
+            String imageType = file2.getOriginalFilename()
+                    .substring(file2.getOriginalFilename().lastIndexOf(".") + 1);
+            String filename = DateUtil.getStrToday("yyyyMMddHHmmssSSS") + "." + imageType;
+            try {
+                if (!FileFtpUploadUtil.uploadFile("/store", filename, file2.getInputStream())) {
+                    bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                    bean.getRtnBean().setRtnMsg("文件上传失败,请重新尝试!");
+                    return bean;
+                }
+            } catch (Exception e) {
+                bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                bean.getRtnBean().setRtnMsg("文件上传失败,请重新尝试!");
+                return bean;
+            }
+            // 删旧经营许可证
+            if (!StringUtil.isBlank(info.getLicenseTwoUrl())) {
+                String oldFilename = info.getLicenseTwoUrl()
+                        .substring(info.getLicenseTwoUrl().lastIndexOf("/") + 1);
+                FileFtpUploadUtil.deleteFile("/store", oldFilename);
+            }
+            info.setLicenseTwoUrl(FileFtpUploadUtil.rootURL + "/store/" + filename);
+        }
+
+        //逐字段更新(只更新非空字段)
+        if (!StringUtil.isBlank(storeInfo.getStoreInfoName())) {
+            info.setStoreInfoName(storeInfo.getStoreInfoName());
+        }
+        if (!StringUtil.isBlank(storeInfo.getAddress())) {
+            info.setAddress(storeInfo.getAddress());
+        }
+        if (!StringUtil.isBlank(storeInfo.getBusinessFormat())) {
+            info.setBusinessFormat(storeInfo.getBusinessFormat());
+        }
+        if (!StringUtil.isBlank(storeInfo.getBusinessScope())) {
+            info.setBusinessScope(storeInfo.getBusinessScope());
+        }
+        if (storeInfo.getEffectiveEndDate() != null) {
+            info.setEffectiveEndDate(storeInfo.getEffectiveEndDate());
+        }
+        if (!StringUtil.isBlank(storeInfo.getLicenseKey())) {
+            info.setLicenseKey(storeInfo.getLicenseKey());
+        }
+
+        //更新操作
+        if (updateForThird(info)) {
+            bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
+            bean.getRtnBean().setRtnMsg("保存成功");
+        } else {
+            bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+            bean.getRtnBean().setRtnMsg("保存失败,请重新尝试!");
+        }
+
+        return bean;
+    }
 
 
     /**
@@ -321,6 +592,11 @@ public class StoreInfoThirdApiService {
     public ResultBean getPrinterPageForeThird(int pageSize, int currentPage, Long storeId) {
         // 定义返回值
         ResultBean bean = new ResultBean();
+        if (storeId == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+            bean.getRtnBean().setRtnMsg("参数错误!");
+            return bean;
+        }
         PageControlData pageControlData = new PageControlData();
         pageControlData.setPageSize(pageSize);
         pageControlData.setCurrentPage(currentPage);
@@ -346,82 +622,110 @@ public class StoreInfoThirdApiService {
         if (printer == null) {
             bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
             bean.getRtnBean().setRtnMsg("参数错误!");
-        } else {
-            if (printer.getPrinterId() == null) {
-                // 新增操作
+            return bean;
+        }
 
-                // 判断小票机编码是否存在
-                boolean btn = printerDao.checkExistSn(null, printer.getSn());
-                if (!btn){
-                    bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
-                    bean.getRtnBean().setRtnMsg("小票机编号已经存在,请勿重复添加");
-                    return bean;
-                }
-                // 判断小票机秘钥是否存在
-                boolean btn1 = printerDao.checkExistKey(null, printer.getPrinterKey());
-                if (!btn1){
-                    bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
-                    bean.getRtnBean().setRtnMsg("小票机秘钥已经存在,请勿重复添加");
-                    return bean;
-                }
+        if (printer.getPrinterId() == null) {
+            // ========== 新增操作 ==========
 
-                printer.setCreateDate(DateUtil.getSqlToday());
-                printer.setStatus(1L);
-                if (printer.getTimes() == null){
-                    printer.setTimes(1L);
-                }
-                // 飞鹅云添加小票机
-                PrinterBean printerBean = new PrinterBean();
-                printerBean.setSn(printer.getSn());
-                printerBean.setKey(printer.getPrinterKey());
-                String code = feieyunService.addPrinter(printerBean);
-                if (!code.equals("OK")){
-                    bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
-                    bean.getRtnBean().setRtnMsg("飞鹅云小票机添加失败");
-                    return bean;
-                }
-                boolean rtn = printerDao.save(printer);
-                if (!rtn) {
-                    bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
-                    bean.getRtnBean().setRtnMsg("新增失败,请重新尝试!");
-                }
+            // 必填字段校验
+            if (StringUtil.isBlank(printer.getSn())) {
+                bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+                bean.getRtnBean().setRtnMsg("小票机编号不能为空!");
+                return bean;
+            }
+            if (StringUtil.isBlank(printer.getPrinterKey())) {
+                bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+                bean.getRtnBean().setRtnMsg("小票机秘钥不能为空!");
+                return bean;
+            }
+            if (StringUtil.isBlank(printer.getPrinterName())) {
+                bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
+                bean.getRtnBean().setRtnMsg("小票机名称不能为空!");
+                return bean;
+            }
+
+            // 判断小票机编码是否已存在
+            boolean snNotExist = printerDao.checkExistSn(null, printer.getSn());
+            if (!snNotExist) {
+                bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                bean.getRtnBean().setRtnMsg("小票机编号已经存在,请勿重复添加");
+                return bean;
+            }
+            // 判断小票机秘钥是否已存在
+            boolean keyNotExist = printerDao.checkExistKey(null, printer.getPrinterKey());
+            if (!keyNotExist) {
+                bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                bean.getRtnBean().setRtnMsg("小票机秘钥已经存在,请勿重复添加");
+                return bean;
+            }
+
+            printer.setCreateDate(DateUtil.getSqlToday());
+            printer.setStatus(1L);
+            if (printer.getTimes() == null) {
+                printer.setTimes(1L);
+            }
+            // 飞鹅云添加小票机
+            PrinterBean printerBean = new PrinterBean();
+            printerBean.setSn(printer.getSn());
+            printerBean.setKey(printer.getPrinterKey());
+            String code = feieyunService.addPrinter(printerBean);
+            if (!code.equals("OK")) {
+                bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                bean.getRtnBean().setRtnMsg("飞鹅云小票机添加失败");
+                return bean;
+            }
+            boolean rtn = printerDao.save(printer);
+            if (!rtn) {
+                bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+                bean.getRtnBean().setRtnMsg("新增失败,请重新尝试!");
             } else {
-                // 判断小票机编码是否存在
-                boolean btn = printerDao.checkExistSn(printer.getPrinterId(), printer.getSn());
-                if (!btn){
-                    bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
-                    bean.getRtnBean().setRtnMsg("小票机编号已经存在,请勿重复添加");
-                    return bean;
-                }
-                // 判断小票机秘钥是否存在
-                boolean btn1 = printerDao.checkExistKey(printer.getPrinterId(), printer.getPrinterKey());
-                if (!btn1){
-                    bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
-                    bean.getRtnBean().setRtnMsg("小票机秘钥已经存在,请勿重复添加");
-                    return bean;
-                }
+                bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
+                bean.getRtnBean().setRtnMsg("新增成功");
+            }
+        } else {
+            // ========== 编辑操作 ==========
 
-                // 更新操作
-                BuPrinter printerById = printerDao.getPrinterById(printer.getPrinterId());
-                printerById.setPrinterKey(printer.getPrinterKey());
-                printerById.setPrinterName(printer.getPrinterName());
-                printerById.setMoren(printer.getMoren());
-                printerById.setSn(printer.getSn());
-                if (printer.getTimes() == null){
-                    printerById.setTimes(1L);
-                } else {
-                    printerById.setTimes(printer.getTimes());
-                }
-//                printerById.setTimes(printer.getTimes());
+            // 判断小票机编码是否已存在(排除自身)
+            boolean snNotExist = printerDao.checkExistSn(printer.getPrinterId(), printer.getSn());
+            if (!snNotExist) {
+                bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                bean.getRtnBean().setRtnMsg("小票机编号已经存在,请勿重复添加");
+                return bean;
+            }
+            // 判断小票机秘钥是否已存在(排除自身)
+            boolean keyNotExist = printerDao.checkExistKey(printer.getPrinterId(), printer.getPrinterKey());
+            if (!keyNotExist) {
+                bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+                bean.getRtnBean().setRtnMsg("小票机秘钥已经存在,请勿重复添加");
+                return bean;
+            }
 
-                boolean rtn = printerDao.update(printerById);
-                if (!rtn) {
-                    bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
-                    bean.getRtnBean().setRtnMsg("更新失败,请重新尝试!");
-                }else {
-                    bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
-                    bean.getRtnBean().setRtnMsg("更新成功");
-                }
+            // 先查旧记录
+            BuPrinter printerById = printerDao.getPrinterById(printer.getPrinterId());
+            if (printerById == null) {
+                bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+                bean.getRtnBean().setRtnMsg("小票机不存在!");
+                return bean;
+            }
+
+            printerById.setPrinterKey(printer.getPrinterKey());
+            printerById.setPrinterName(printer.getPrinterName());
+            printerById.setMoren(printer.getMoren());
+            printerById.setSn(printer.getSn());
+            if (printer.getTimes() == null) {
+                printerById.setTimes(1L);
+            } else {
+                printerById.setTimes(printer.getTimes());
+            }
+
+            boolean rtn = printerDao.update(printerById);
+            if (!rtn) {
+                bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+                bean.getRtnBean().setRtnMsg("更新失败,请重新尝试!");
+            } else {
+                bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
+                bean.getRtnBean().setRtnMsg("更新成功");
             }
         }
         return bean;
@@ -440,22 +744,34 @@ public class StoreInfoThirdApiService {
         if (id == null) {
             bean.getRtnBean().setRtnCode(ReturnCode.PARAM_WRONG);
             bean.getRtnBean().setRtnMsg("请指定要删除的小票机!");
-        } else {
-            // 查询小票机
-            BuPrinter printerById = printerDao.getPrinterById(id);
-            // 调用飞鹅云api删除小票机
-            String code = feieyunService.deletePrinter(printerById.getSn());
-            if (!code.equals("OK")){
-                bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
-                bean.getRtnBean().setRtnMsg("飞鹅云小票机删除失败");
-                return bean;
-            }
-            // 删除小票机
-            printerDao.deleteById(id);
+            return bean;
+        }
 
-            bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
-            bean.getRtnBean().setRtnMsg("删除成功!");
+        // 查询小票机
+        BuPrinter printerById = printerDao.getPrinterById(id);
+        if (printerById == null) {
+            bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+            bean.getRtnBean().setRtnMsg("小票机不存在!");
+            return bean;
+        }
+
+        // 调用飞鹅云api删除小票机
+        String code = feieyunService.deletePrinter(printerById.getSn());
+        if (!code.equals("OK")) {
+            bean.getRtnBean().setRtnCode(ReturnCode.SYSTEMERR);
+            bean.getRtnBean().setRtnMsg("飞鹅云小票机删除失败");
+            return bean;
         }
+
+        // 删除小票机
+        if (!printerDao.deleteById(id)) {
+            bean.getRtnBean().setRtnCode(ReturnCode.FAILED);
+            bean.getRtnBean().setRtnMsg("删除失败,请重新尝试!");
+            return bean;
+        }
+
+        bean.getRtnBean().setRtnCode(ReturnCode.SUCCESS);
+        bean.getRtnBean().setRtnMsg("删除成功!");
         return bean;
     }
     
@@ -476,4 +792,4 @@ public class StoreInfoThirdApiService {
     }
 
 
-}
+}