From 671660360e591c153ab16f99205930b283baaa1d Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 16 May 2022 16:10:41 +0800 Subject: [PATCH] 20220516 --- zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java | 96 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 86 insertions(+), 10 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java index 951ca46..f3621f0 100644 --- a/zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java +++ b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java @@ -4,10 +4,7 @@ import cn.hutool.core.util.ObjectUtil; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; -import com.matrix.core.tools.DateUtil; -import com.matrix.core.tools.LogUtil; -import com.matrix.core.tools.RSAUtils; -import com.matrix.core.tools.UUIDUtil; +import com.matrix.core.tools.*; import com.matrix.system.app.vo.UserInfoVo; import com.matrix.system.common.authority.DefaultAuthorityManager; import com.matrix.system.common.authority.strategy.AccountPasswordLogin; @@ -29,6 +26,7 @@ import com.matrix.system.hive.service.SysOrderService; import com.matrix.system.hive.service.SysShopInfoService; import com.matrix.system.hive.service.SysWorktimeService; +import com.matrix.system.padApi.dto.Base64UploadDto; import com.matrix.system.padApi.dto.PadOrderListDto; import com.matrix.system.padApi.dto.WebPadLoginDto; import com.matrix.system.padApi.vo.PadOrderDetailVo; @@ -36,12 +34,18 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; +import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.util.FileCopyUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import sun.misc.BASE64Decoder; import javax.annotation.Resource; +import java.io.File; +import java.io.IOException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -84,6 +88,21 @@ @Value("${login_public_key}") private String publicKey; + @Autowired + private SysUsersDao sysUsersDao; + + + Logger log = Logger.getLogger(PadApiCommonAction.class); + + @Value("${file_storage_path}") + private String fileStoragePath; + @Value("${static_resource_url}") + private String nginxUrl; + + /** + * 最大值 + */ + private Long maxSize = 1024*1024*100L; @ApiOperation(value = "登陆接口", notes = "pad端登陆接口") @ApiResponses({ @@ -123,8 +142,7 @@ return result; } - @Autowired - private SysUsersDao sysUsersDao; + @ApiOperation(value = "首页", notes = "首页") @GetMapping(value = "/frist/{suId}") @@ -162,6 +180,7 @@ shopstaffInfo.setShopId(user.getShopId()); shopstaffInfo.setRoleName(Dictionary.STAFF_POST_MLS); List<SysUsers> mls = sysUsersDao.selectByRoleName(shopstaffInfo); + LogUtil.info("美疗师 size={}", mls.size()); // List<SysUsers> mls = usersService.findByRoleName(true, Dictionary.STAFF_POST_MLS); if(CollUtil.isNotEmpty(mls)){ SysBeauticianState sysBeauticianState = new SysBeauticianState(); @@ -169,7 +188,7 @@ sysBeauticianState.setEndTime(DateUtil.getStartDate(date)); String panBanCodes = DateUtil.dateToString(sysBeauticianState.getBeginTime(),DateUtil.DATE_FORMAT_NO_SPLITE_DD); List<SysUsers> staffs=new ArrayList<>(); - if(sysWorkTimeService.isInWorkTime(user.getShopId(),sysBeauticianState.getBeginTime(),sysBeauticianState.getEndTime())){ +// if(sysWorkTimeService.isInWorkTime(user.getShopId(),sysBeauticianState.getBeginTime(),sysBeauticianState.getEndTime())){ staffs= sysUsersService.findByCodeBeaStateShop(user.getShopId(), sysBeauticianState, panBanCodes); if(CollUtil.isNotEmpty(staffs)){ @@ -179,15 +198,15 @@ result.putInMap("usedMls", mls.size()); result.putInMap("freeMls", 0); } - } +// } } SysBedInfo bedInfo = new SysBedInfo(); - bedInfo.setShopId(getMe().getShopId()); + bedInfo.setShopId(user.getShopId()); List<SysBedInfo> totalBed = bedInfoService.findByModel(bedInfo); if(CollUtil.isNotEmpty(totalBed)){ SysProjServices sysProjServices = new SysProjServices(); - sysProjServices.setShopId(getMe().getShopId()); + sysProjServices.setShopId(user.getShopId()); sysProjServices.setStartTime(DateUtil.getStartDate(date)); sysProjServices.setEndTime(DateUtil.getStartDate(date)); @@ -214,5 +233,62 @@ return AjaxResult.buildSuccessInstance("退出系统成功"); } + /** + * 文件上传方法 + */ + @ApiOperation(value = "文件上传方法", notes = "文件上传方法") + @PostMapping(value = "/doUpload") + public AjaxResult doFileUpload(@RequestBody @Validated Base64UploadDto uploadDto){ + // 文件保存目录路径 + String savePath = fileStoragePath; + // 文件保存目录URL + String saveUrl = nginxUrl; + // 保存和访问路径检查 + if (StringUtils.isBlank(saveUrl) || StringUtils.isBlank(savePath)) { + return AjaxResult.buildFailInstance("文件上传失败错误代码:001"); + } + // 检查目录 + File uploadDir = new File(savePath); + if (!uploadDir.isDirectory()) { + uploadDir.mkdir(); + } + log.info("uploadDto:" + uploadDto.getBase64Str()); + BASE64Decoder decoder = new BASE64Decoder(); + byte[] bytes = new byte[0]; + try { + bytes = decoder.decodeBuffer(uploadDto.getBase64Str()); + } catch (IOException e) { + return AjaxResult.buildFailInstance("上传文件失败"); + } + + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + String ymd = sdf.format(new Date()); + savePath += ymd + "/"; + saveUrl += ymd + "/"; + File dirFile = new File(savePath); + if (!dirFile.exists()) { + dirFile.mkdirs(); + } + if (bytes.length > maxSize) { + return AjaxResult.buildFailInstance("上传文件大小超过限制"); + } + String newFileName = UUIDUtil.getRandomID() + UUIDUtil.getRandomID() + ".png"; + File uploadedFile = new File(savePath, newFileName); + try { + FileCopyUtils.copy(bytes, uploadedFile); + } catch (Exception e) { + return AjaxResult.buildFailInstance("上传文件失败"); + } + log.info("saveUrl:" + saveUrl); + String visitPath = saveUrl + newFileName; + log.info("上传一个文件:" + newFileName); + log.info("访问路径:" + visitPath); + + AjaxResult result = AjaxResult.buildSuccessInstance("上传成功"); + result.putInMap("path", visitPath); + result.putInMap("fileName", newFileName); + return result; + } + } -- Gitblit v1.9.1