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 | 110 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 99 insertions(+), 11 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 730ef3d..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,21 +4,18 @@ 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; import com.matrix.system.common.authority.strategy.LoginStrategy; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.dao.SysCompanyDao; +import com.matrix.system.common.dao.SysUsersDao; import com.matrix.system.common.init.LocalCache; import com.matrix.system.common.service.SysUsersService; import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.action.BaseController; -import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.hive.bean.SysBeauticianState; import com.matrix.system.hive.bean.SysBedInfo; import com.matrix.system.hive.bean.SysProjServices; @@ -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,6 +142,8 @@ return result; } + + @ApiOperation(value = "首页", notes = "首页") @GetMapping(value = "/frist/{suId}") public AjaxResult frist(@PathVariable Long suId) { @@ -143,21 +164,31 @@ // if (!DataAuthUtil.hasAllShopAuth()) { // orderListDto.setShopId(user.getShopId()); // } - QueryUtil.setQueryLimitCom(orderListDto); + + if(ObjectUtil.isNotEmpty(user.getCompanyId())){ + orderListDto.setCompanyId(user.getCompanyId()); + } +// QueryUtil.setQueryLimitCom(orderListDto); List<PadOrderDetailVo> padApiOrderListInPage = sysOrderService.findPadApiOrderListInPage(orderListDto, pageVo); AjaxResult result = AjaxResult.buildSuccessInstance(""); result.putInMap("orderList",padApiOrderListInPage); Date date = new Date(); - List<SysUsers> mls = usersService.findByRoleName(true, Dictionary.STAFF_POST_MLS); + SysUsers shopstaffInfo = new SysUsers(); + shopstaffInfo.setCompanyId(user.getCompanyId()); + 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(); sysBeauticianState.setBeginTime(DateUtil.getStartDate(date)); 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)){ @@ -167,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)); @@ -202,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