From ca941eb0283ab2fac716700c861a7fb13a803262 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 11 Dec 2024 13:26:02 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=E6=A0=87?= =?UTF-8?q?=E5=87=86=E7=AE=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/common/biz/config/QrCodeUtils.java | 96 ++++++++++++ .../basic/controller/BmQrBoxController.java | 106 +++++++++++++ .../material/basic/domain/BmQrBoxInfo.java | 54 +++++++ .../material/basic/mapper/BmQrBoxMapper.java | 41 +++++ .../basic/service/BmQrBoxService.java | 50 +++++++ .../service/impl/BmQrBoxServiceImpl.java | 140 ++++++++++++++++++ .../mapper/material/basic/BmQrBoxMapper.xml | 62 ++++++++ 7 files changed, 549 insertions(+) create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmQrBoxController.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmQrBoxInfo.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmQrBoxService.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmQrBoxServiceImpl.java create mode 100644 bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/config/QrCodeUtils.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/config/QrCodeUtils.java index 9ab5c30a..3ba0c091 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/config/QrCodeUtils.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/config/QrCodeUtils.java @@ -1,5 +1,6 @@ package com.bonus.common.biz.config; +import com.bonus.common.core.utils.StringUtils; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; @@ -44,6 +45,9 @@ public class QrCodeUtils { /** 二维码容错率 */ private static ErrorCorrectionLevel level = ErrorCorrectionLevel.L; + // 加文字二维码高 + private static final int WORDHEIGHT = 300; + /** * 生成带logo的二维码图片 * @@ -176,5 +180,97 @@ public class QrCodeUtils { } return image; } + + /** + * 添加Logo + * @param codeFile + * @param qrUrl + * @param words + */ + public static void drawLogoQRCode(File codeFile, String qrUrl, String words) { + try { + MultiFormatWriter multiFormatWriter = new MultiFormatWriter(); + // 参数顺序分别为:编码内容,编码类型,生成图片宽度,生成图片高度,设置参数 + Hashtable hints = new Hashtable(); + hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H); + // 设置编码方式 + hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); + hints.put(EncodeHintType.MARGIN, 0); + BitMatrix bm = multiFormatWriter.encode(qrUrl, BarcodeFormat.QR_CODE, width, height, hints); + BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + + // 开始利用二维码数据创建Bitmap图片,分别设为黑(0xFFFFFFFF)白(0xFF000000)两色 + for (int x = 0; x < width; x++) { + for (int y = 0; y < height; y++) { + image.setRGB(x, y, bm.get(x, y) ? onColor : offColor); + } + } + + // 新的图片,把带logo的二维码下面加上文字 + image = insertWords(image,words); + + image.flush(); + if (!ImageIO.write(image, "jpg", codeFile)) { + throw new IOException("Could not write an image of format jpg to " + codeFile); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 插入文字到图片中间 + * @param image + * @param words + * @return + */ + private static BufferedImage insertWords(BufferedImage image,String words){ + // 新的图片,把带logo的二维码下面加上文字 + if (StringUtils.isNotEmpty(words)) { + + //创建一个带透明色的BufferedImage对象 + BufferedImage outImage = new BufferedImage(width, WORDHEIGHT, BufferedImage.TYPE_INT_RGB); + for (int x = 0; x < width; x++) { + for (int y = 0; y < WORDHEIGHT; y++) { + outImage.setRGB(x, y, offColor); + } + } + System.err.println("---------1---------"); + Graphics2D outg = outImage.createGraphics(); + setGraphics2D(outg); + System.err.println("---------2---------"); + // 画二维码到新的面板 + outg.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), null); + // 画文字到新的面板 + outg.setColor(Color.BLACK); + // 字体、字型、字号 + outg.setFont(new Font("微软雅黑", Font.PLAIN, 18)); + //文字长度 + int strWidth = outg.getFontMetrics().stringWidth(words); + //总长度减去文字长度的一半 (居中显示) + int wordStartX=(width - strWidth) / 2; + //height + (outImage.getHeight() - height) / 2 + 12 + int wordStartY=height + 10; + // 画文字 + System.err.println("---------3---------"); + outg.drawString(words, wordStartX, wordStartY); + outg.dispose(); + outImage.flush(); + System.err.println("---------4---------"); + return outImage; + } + return null; + } + + /** + * 设置 Graphics2D 属性 (抗锯齿) + * @param graphics2D + */ + private static void setGraphics2D(Graphics2D graphics2D){ + graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + graphics2D.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_DEFAULT); + Stroke s = new BasicStroke(1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER); + graphics2D.setStroke(s); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmQrBoxController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmQrBoxController.java new file mode 100644 index 00000000..a1af7d33 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmQrBoxController.java @@ -0,0 +1,106 @@ +package com.bonus.material.basic.controller; + +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.log.enums.OperaType; +import com.bonus.common.security.annotation.RequiresPermissions; +import com.bonus.material.basic.domain.BmQrBoxInfo; +import com.bonus.material.basic.service.BmQrBoxService; +import com.bonus.material.common.annotation.PreventRepeatSubmit; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * @Author ma_sh + * @create 2024/12/11 17:25 + */ +@Api(tags = "二维码标准箱管理接口") +@RestController +@RequestMapping("/bm_qrcode_box") +public class BmQrBoxController extends BaseController { + + @Resource + private BmQrBoxService qrBoxService; + + /** + * 查询二维码管理列表 + * @param bmQrBoxInfo + * @return + */ + @ApiOperation(value = "查询二维码标准箱管理列表") + @RequiresPermissions("basic:qrBox:list") + @GetMapping("/list") + public TableDataInfo list(BmQrBoxInfo bmQrBoxInfo) + { + startPage(); + List list = qrBoxService.selectBmQrBoxInfoList(bmQrBoxInfo); + return getDataTable(list); + } + + /** + * 新增二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + @ApiOperation(value = "新增二维码标准箱管理") + //@PreventRepeatSubmit + //@RequiresPermissions("basic:qrBox:add") + @SysLog(title = "二维码标准箱管理", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增二维码标准箱管理") + @PostMapping("/add") + public AjaxResult add(@RequestBody BmQrBoxInfo bmQrBoxInfo) + { + return qrBoxService.insertBmQrcodeInfo(bmQrBoxInfo); + } + + /** + * 修改二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + @ApiOperation(value = "二维码标准箱管理") + @PreventRepeatSubmit + //@RequiresPermissions("basic:qrBox:edit") + @SysLog(title = "二维码标准箱管理", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->修改二维码标准箱") + @PostMapping("/edit") + public AjaxResult edit(@RequestBody BmQrBoxInfo bmQrBoxInfo) + { + return qrBoxService.updateBmQrcodeInfo(bmQrBoxInfo); + } + + /** + * 删除二维码标准箱 + * @param bmQrBoxInfo + * @return + */ + @ApiOperation(value = "删除二维码标准箱") + //@PreventRepeatSubmit + //@RequiresPermissions("basic:info:remove") + @SysLog(title = "二维码标准箱管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除二维码标准箱") + @PostMapping("/deleteById") + public AjaxResult deleteById(@RequestBody BmQrBoxInfo bmQrBoxInfo) + { + return qrBoxService.deleteById(bmQrBoxInfo); + } + + /** + * 下载二维码标准箱 + * @param bmQrBoxInfo + * @param response + * @return + */ + @ApiOperation(value = "下载二维码标准箱") + //@PreventRepeatSubmit + //@RequiresPermissions("basic:qrBox:download") + @PostMapping("/download") + public void download(@RequestBody BmQrBoxInfo bmQrBoxInfo, HttpServletResponse response) + { + qrBoxService.download(bmQrBoxInfo, response); + } +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmQrBoxInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmQrBoxInfo.java new file mode 100644 index 00000000..aced0162 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmQrBoxInfo.java @@ -0,0 +1,54 @@ +package com.bonus.material.basic.domain; + +import com.bonus.common.core.annotation.Excel; +import com.bonus.common.core.web.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.ToString; + +/** + * 二维码管理对象 bm_qrcode_info + * + * @author xsheng + * @date 2024-09-26 + */ + + +@Data +@ToString +public class BmQrBoxInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 二维码ID */ + private Long qrId; + + @ApiModelProperty(value = "二维码标准箱名称") + private String qrName; + + /** 二维码 */ + @ApiModelProperty(value = "二维码") + private String qrCode; + + @ApiModelProperty(value = "二维码路径") + private String qrUrl; + + /** 类型ID */ + @ApiModelProperty(value = "类型ID") + private Long typeId; + + /** 二维码类型 */ + @ApiModelProperty(value = "二维码类型") + private String qrType; + + /** 任务ID */ + @Excel(name = "任务ID") + @ApiModelProperty(value = "任务ID") + private Long taskId; + + /** 数据所属组织 */ + @ApiModelProperty(value = "标准箱绑定机具数量") + private Integer typeNum; + + +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java new file mode 100644 index 00000000..10041da3 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java @@ -0,0 +1,41 @@ +package com.bonus.material.basic.mapper; + +import com.bonus.material.basic.domain.BmQrBoxInfo; +import com.bonus.material.basic.domain.BmQrcodeInfo; + +import java.util.List; + +/** + * @Author ma_sh + * @create 2024/12/10 17:27 + */ +public interface BmQrBoxMapper { + + /** + * 查询二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + List find(BmQrBoxInfo bmQrBoxInfo); + + /** + * 新增二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + int insertBmQrcodeInfo(BmQrBoxInfo bmQrBoxInfo); + + /** + * 修改二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + int updateBmQrcodeInfo(BmQrBoxInfo bmQrBoxInfo); + + /** + * 删除二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + int deleteById(BmQrBoxInfo bmQrBoxInfo); +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmQrBoxService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmQrBoxService.java new file mode 100644 index 00000000..b2cb0361 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmQrBoxService.java @@ -0,0 +1,50 @@ +package com.bonus.material.basic.service; + +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.basic.domain.BmQrBoxInfo; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * @Author ma_sh + * @create 2024/12/10 17:26 + */ +public interface BmQrBoxService { + + /** + * 查询二维码标准箱管理列表 + * @param bmQrBoxInfo + * @return + */ + List selectBmQrBoxInfoList(BmQrBoxInfo bmQrBoxInfo); + + /** + * 新增二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + AjaxResult insertBmQrcodeInfo(BmQrBoxInfo bmQrBoxInfo); + + /** + * 下载二维码标准箱 + * @param bmQrBoxInfo + * @param response + * @return + */ + void download(BmQrBoxInfo bmQrBoxInfo, HttpServletResponse response); + + /** + * 修改二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + AjaxResult updateBmQrcodeInfo(BmQrBoxInfo bmQrBoxInfo); + + /** + * 删除二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + AjaxResult deleteById(BmQrBoxInfo bmQrBoxInfo); +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmQrBoxServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmQrBoxServiceImpl.java new file mode 100644 index 00000000..fe56e8eb --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmQrBoxServiceImpl.java @@ -0,0 +1,140 @@ +package com.bonus.material.basic.service.impl; + +import com.bonus.common.biz.config.BackstageApplication; +import com.bonus.common.biz.config.DateTimeHelper; +import com.bonus.common.biz.config.QrCodeUtils; +import com.bonus.common.biz.enums.HttpCodeEnum; +import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.basic.domain.BmQrBoxInfo; +import com.bonus.material.basic.mapper.BmQrBoxMapper; +import com.bonus.material.basic.service.BmQrBoxService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.List; + +/** + * @Author ma_sh + * @create 2024/12/10 17:26 + */ +@Service +@Slf4j +public class BmQrBoxServiceImpl implements BmQrBoxService { + + @Resource + private BmQrBoxMapper bmQrBoxMapper; + + /** + * 查询二维码标准箱管理列表 + * @param bmQrBoxInfo + * @return + */ + @Override + public List selectBmQrBoxInfoList(BmQrBoxInfo bmQrBoxInfo) { + return bmQrBoxMapper.find(bmQrBoxInfo); + } + + /** + * 新增二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + @Override + public AjaxResult insertBmQrcodeInfo(BmQrBoxInfo bmQrBoxInfo) { + //生成二维码 + String code = "BOX-" + DateTimeHelper.getNowTimeFomart(); + bmQrBoxInfo.setQrCode(code); + bmQrBoxInfo.setCreateBy(String.valueOf(SecurityUtils.getUserId())); + bmQrBoxInfo.setCreateTime(DateUtils.getNowDate()); + int result = bmQrBoxMapper.insertBmQrcodeInfo(bmQrBoxInfo); + return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } + + /** + * 下载二维码标准箱 + * @param bmQrBoxInfo + * @param response + * @return + */ + @Override + public void download(BmQrBoxInfo bmQrBoxInfo, HttpServletResponse response) { + try { + List list = bmQrBoxMapper.find(bmQrBoxInfo); + String code = "无编码"; + if (list.size() > 0) { + code = list.get(0).getQrCode(); + } + // 新购管理-二维码打印-新增 + String url = BackstageApplication.getUrl() + "backstage/machine/qrCodePage?qrcode=" + code; + // 二维码的图片格式 + String format = "jpg"; + //设置路径 + String mkdirsName = "images"; + // linux 系统路径 + String saveDirectory = "/data/imw/" + mkdirsName + "/"; + String os = System.getProperty("os.name"); + if (os.toLowerCase().startsWith("win")) { + //本地路径 + saveDirectory = "D://files/" + mkdirsName + "/"; + } + // 生成二维码 + File files = new File(saveDirectory); + if (!files.exists()) { + files.mkdirs(); + } + QrCodeUtils.generateQRImage(url, saveDirectory, code + ".jpg", format); + String qrUrl = saveDirectory + code + ".jpg"; + String path = qrUrl.replace("filePath", "/data/imw"); + // 判断照片是否存在 + File imageFile = new File(path); + if (!imageFile.exists()) { + log.warn("图片不存在"); + } + //设置MIME类型 + response.setContentType("application/octet-stream"); + response.addHeader("Content-disposition", "attachment;filename=" + new String(path.getBytes(), "ISO-8859-1")); + InputStream inputStream = new FileInputStream(imageFile); + ServletOutputStream outputStream = response.getOutputStream(); + byte[] bs = new byte[1024]; + while ((inputStream.read(bs) > 0)) { + outputStream.write(bs); + } + outputStream.close(); + inputStream.close(); + } catch (Exception e) { + log.error(e.getMessage()); + } + } + + /** + * 修改二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + @Override + public AjaxResult updateBmQrcodeInfo(BmQrBoxInfo bmQrBoxInfo) { + bmQrBoxInfo.setUpdateBy(String.valueOf(SecurityUtils.getUserId())); + bmQrBoxInfo.setUpdateTime(DateUtils.getNowDate()); + int result = bmQrBoxMapper.updateBmQrcodeInfo(bmQrBoxInfo); + return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } + + /** + * 删除二维码标准箱管理 + * @param bmQrBoxInfo + * @return + */ + @Override + public AjaxResult deleteById(BmQrBoxInfo bmQrBoxInfo) { + int result = bmQrBoxMapper.deleteById(bmQrBoxInfo); + return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } +} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml new file mode 100644 index 00000000..afeb7ae6 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml @@ -0,0 +1,62 @@ + + + + + + + + insert into bm_qrcode_box + + qr_code, + qr_name, + qr_type, + create_by, + create_time, + + + #{qrCode}, + #{qrName}, + #{qrType}, + #{createBy}, + #{createTime}, + + + + + update bm_qrcode_box + + qr_code = #{qrCode}, + qr_type = #{qrType}, + qr_name = #{qrName}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + + where qr_id = #{qrId} + + + + delete + from bm_qrcode_box + where qr_id = #{qrId} + + \ No newline at end of file From e16bcc5123b87f82bfd72b1a985b24e6502533cf Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 11 Dec 2024 14:57:08 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=A2=86=E6=96=99=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=8F=98=E5=8C=96=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/biz/aspect/StoreLogAspect.java | 22 +++++++++++++++++-- .../bonus/common/biz/domain/BmStorageLog.java | 18 ++++++++------- .../biz/domain/lease}/LeaseApplyInfo.java | 3 +-- .../biz/domain/lease}/LeaseOutRequestVo.java | 4 ++-- .../biz/service/RemoteStoreLogService.java | 2 +- .../RemoteStoreLogFallbackFactory.java | 12 +++++++++- .../controller/BmStorageLogController.java | 11 ++++++++-- .../basic/mapper/BmStorageLogMapper.java | 7 ++++++ .../basic/service/IBmStorageLogService.java | 7 ++++++ .../service/impl/BmStorageLogServiceImpl.java | 10 +++++++++ .../controller/LeaseApplyInfoController.java | 5 ++--- .../lease/domain/vo/LeaseApplyRequestVo.java | 2 +- .../lease/mapper/LeaseApplyInfoMapper.java | 2 +- .../lease/service/ILeaseApplyInfoService.java | 4 ++-- .../impl/LeaseApplyInfoServiceImpl.java | 4 ++-- .../ma/mapper/WorkSiteDirectManageMapper.java | 2 +- .../task/domain/vo/TmTaskRequestVo.java | 2 +- .../material/basic/BmStorageLogMapper.xml | 19 ++++++++++++++++ .../material/lease/LeaseApplyInfoMapper.xml | 8 +++---- .../ma/WorkSiteDirectManageMapper.xml | 2 +- 20 files changed, 112 insertions(+), 34 deletions(-) rename {bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain => bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease}/LeaseApplyInfo.java (98%) rename {bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo => bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease}/LeaseOutRequestVo.java (88%) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java index 5f166a62..eb319303 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON; import com.bonus.common.biz.annotation.StoreLog; import com.bonus.common.biz.domain.BmStorageLog; import com.bonus.common.biz.domain.lease.LeaseOutDetails; +import com.bonus.common.biz.domain.lease.LeaseOutRequestVo; import com.bonus.common.biz.service.AsyncStoreLogService; import com.bonus.common.biz.utils.HttpResult; import com.bonus.common.core.utils.ServletUtils; @@ -18,6 +19,7 @@ import org.springframework.http.HttpMethod; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -110,7 +112,23 @@ public class StoreLogAspect { String requestMethod = ServletUtils.getRequest().getMethod(); Map paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest()); -// if (StringUtils.isEmpty(paramsMap) && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))) { + if (StringUtils.isEmpty(paramsMap) && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))) { + // 领料出库库存变化 + if (joinPoint.getArgs()[0] instanceof LeaseOutRequestVo) { + LeaseOutRequestVo lod = (LeaseOutRequestVo) joinPoint.getArgs()[0]; + for (LeaseOutDetails leaseOutDetails : lod.getLeaseOutDetailsList()) { + BmStorageLog bmStorageLog = new BmStorageLog(); + bmStorageLog.setTaskId(String.valueOf(leaseOutDetails.getParentId())); + bmStorageLog.setTypeId(leaseOutDetails.getTypeId()); + bmStorageLog.setTypeName(leaseOutDetails.getTypeName()); + bmStorageLog.setManageType(String.valueOf(leaseOutDetails.getManageType())); + bmStorageLog.setTypeModelName(leaseOutDetails.getTypeModelName()); + bmStorageLog.setPreStoreNum(leaseOutDetails.getPreStoreNum()); + bmStorageLog.setOutNum(Objects.isNull(leaseOutDetails.getInputNum()) ? BigDecimal.ZERO : leaseOutDetails.getInputNum()); + bmStorageLog.setPostStoreNum(leaseOutDetails.getPostStoreNum()); + bmStorageLogList.add(bmStorageLog); + } + } // // 盘点入库操作 // if (joinPoint.getArgs()[0] instanceof SavePutInfoDto) { // SavePutInfoDto savePutInfoDto = (SavePutInfoDto) joinPoint.getArgs()[0]; @@ -182,6 +200,6 @@ public class StoreLogAspect { // } else { // log.warn("没有获取到请求参数{},或请求方式不是POST、PUT请求:{}", joinPoint.getSignature(), requestMethod); // } + } } - } diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/BmStorageLog.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/BmStorageLog.java index 409f478f..caff78f3 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/BmStorageLog.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/BmStorageLog.java @@ -6,6 +6,8 @@ import lombok.Data; import lombok.ToString; import com.bonus.common.core.web.domain.BaseEntity; +import java.math.BigDecimal; + /** * 库存日志对象 bm_storage_log * @@ -41,42 +43,42 @@ public class BmStorageLog extends BaseEntity /** 操作前库存数量 */ @Excel(name = "操作前库存数量") @ApiModelProperty(value = "操作前库存数量") - private Long preStoreNum; + private BigDecimal preStoreNum; /** 入库数量 */ @Excel(name = "入库数量") @ApiModelProperty(value = "入库数量") - private Long inNum; + private BigDecimal inNum; /** 出库数量 */ @Excel(name = "出库数量") @ApiModelProperty(value = "出库数量") - private Long outNum; + private BigDecimal outNum; /** 退库接收-总数量 */ @Excel(name = "退库接收-总数量") @ApiModelProperty(value = "退库接收-总数量") - private Long backNum; + private BigDecimal backNum; /** 退库接收-合格数量 */ @Excel(name = "退库接收-合格数量") @ApiModelProperty(value = "退库接收-合格数量") - private Long passNum; + private BigDecimal passNum; /** 退库接收-维修数量 */ @Excel(name = "退库接收-维修数量") @ApiModelProperty(value = "退库接收-维修数量") - private Long repairNum; + private BigDecimal repairNum; /** 退库接收-报废数量 */ @Excel(name = "退库接收-报废数量") @ApiModelProperty(value = "退库接收-报废数量") - private Long scrapNum; + private BigDecimal scrapNum; /** 操作后库存 */ @Excel(name = "操作后库存") @ApiModelProperty(value = "操作后库存") - private Long postStoreNum; + private BigDecimal postStoreNum; /** 任务id */ @Excel(name = "任务id") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyInfo.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java similarity index 98% rename from bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyInfo.java rename to bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java index fed8eb52..27e59ab8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyInfo.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java @@ -1,4 +1,4 @@ -package com.bonus.material.lease.domain; +package com.bonus.common.biz.domain.lease; import java.math.BigDecimal; import java.util.Date; @@ -11,7 +11,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import com.bonus.common.core.web.domain.BaseEntity; -import org.apache.poi.hpsf.Decimal; /** * 领料任务对象 lease_apply_info diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseOutRequestVo.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutRequestVo.java similarity index 88% rename from bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseOutRequestVo.java rename to bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutRequestVo.java index 6a93f132..7cce65df 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseOutRequestVo.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutRequestVo.java @@ -1,7 +1,7 @@ -package com.bonus.material.lease.domain.vo; +package com.bonus.common.biz.domain.lease; import com.bonus.common.core.web.domain.BaseEntity; -import com.bonus.material.lease.domain.LeaseApplyInfo; +import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.common.biz.domain.lease.LeaseOutDetails; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/service/RemoteStoreLogService.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/service/RemoteStoreLogService.java index 63d15d38..21927ad4 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/service/RemoteStoreLogService.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/service/RemoteStoreLogService.java @@ -26,7 +26,7 @@ public interface RemoteStoreLogService { * @return 结果 * @throws Exception 异常信息 */ - @PostMapping("/bm_storage_logs") + @PostMapping("/bm_storage_log") R batchInsert(@RequestBody List bmStorageLogList, @RequestHeader(SecurityConstants.FROM_SOURCE) String source) throws Exception; diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/service/factory/RemoteStoreLogFallbackFactory.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/service/factory/RemoteStoreLogFallbackFactory.java index 47274b75..47c14cdb 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/service/factory/RemoteStoreLogFallbackFactory.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/service/factory/RemoteStoreLogFallbackFactory.java @@ -1,11 +1,15 @@ package com.bonus.common.biz.service.factory; +import com.bonus.common.biz.domain.BmStorageLog; +import com.bonus.common.core.domain.R; import com.bonus.common.biz.service.RemoteStoreLogService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; +import java.util.List; + /** * 物资库存日志服务降级处理 @@ -21,7 +25,13 @@ public class RemoteStoreLogFallbackFactory implements FallbackFactory null; + return new RemoteStoreLogService() + { + @Override + public R batchInsert(List bmStorageLogList, String source) throws Exception { + return R.fail("保存物资库存日志失败:" + throwable.getMessage()); + } + }; } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmStorageLogController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmStorageLogController.java index 609ba9fd..e96b91c1 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmStorageLogController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmStorageLogController.java @@ -3,6 +3,7 @@ package com.bonus.material.basic.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; import com.bonus.common.log.enums.OperaType; +import com.bonus.common.security.annotation.InnerAuth; import com.bonus.material.common.annotation.PreventRepeatSubmit; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -81,8 +82,8 @@ public class BmStorageLogController extends BaseController */ @ApiOperation(value = "新增库存日志") @SysLog(title = "库存日志", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增库存日志") - @PostMapping - public AjaxResult batchInsert(@RequestBody BmStorageLog bmStorageLog) + @PostMapping("/add") + public AjaxResult insert(@RequestBody BmStorageLog bmStorageLog) { return toAjax(bmStorageLogService.insertBmStorageLog(bmStorageLog)); } @@ -112,4 +113,10 @@ public class BmStorageLogController extends BaseController { return toAjax(bmStorageLogService.deleteBmStorageLogByIds(ids)); } + + @InnerAuth + @PostMapping + public AjaxResult batchInsert(@RequestBody List bmStorageLogList) { + return toAjax(bmStorageLogService.batchInsert(bmStorageLogList)); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmStorageLogMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmStorageLogMapper.java index 670f62d0..3e525de2 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmStorageLogMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmStorageLogMapper.java @@ -58,4 +58,11 @@ public interface BmStorageLogMapper * @return 结果 */ public int deleteBmStorageLogByIds(Long[] ids); + + /** + * 批量插入库存日志 + * @param records + * @return + */ + int batchInsert(List records); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmStorageLogService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmStorageLogService.java index d8fcf85c..6869b4ea 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmStorageLogService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmStorageLogService.java @@ -58,4 +58,11 @@ public interface IBmStorageLogService * @return 结果 */ public int deleteBmStorageLogById(Long id); + + /** + * 批量新增库存日志 + * @param bmStorageLogList + * @return + */ + int batchInsert(List bmStorageLogList); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmStorageLogServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmStorageLogServiceImpl.java index 146e3496..7a02ae32 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmStorageLogServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmStorageLogServiceImpl.java @@ -2,6 +2,8 @@ package com.bonus.material.basic.service.impl; import java.util.List; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.security.utils.SecurityUtils; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.material.basic.mapper.BmStorageLogMapper; @@ -15,6 +17,7 @@ import com.bonus.material.basic.service.IBmStorageLogService; * @date 2024-09-26 */ @Service +@Slf4j public class BmStorageLogServiceImpl implements IBmStorageLogService { @Autowired @@ -93,4 +96,11 @@ public class BmStorageLogServiceImpl implements IBmStorageLogService { { return bmStorageLogMapper.deleteBmStorageLogById(id); } + + @Override + public int batchInsert(List records) { + log.info("batch insert log {}", records); + records.forEach(bmStorageLog -> bmStorageLog.setCreator(SecurityUtils.getUserId().toString())); + return bmStorageLogMapper.batchInsert(records); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java index 3ebd9103..98814301 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java @@ -7,11 +7,10 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; -import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.material.common.annotation.PreventRepeatSubmit; -import com.bonus.material.lease.domain.LeaseApplyInfo; +import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo; -import com.bonus.material.lease.domain.vo.LeaseOutRequestVo; +import com.bonus.common.biz.domain.lease.LeaseOutRequestVo; import com.bonus.material.lease.service.ILeaseApplyInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseApplyRequestVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseApplyRequestVo.java index 325a980f..b0024d54 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseApplyRequestVo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseApplyRequestVo.java @@ -2,7 +2,7 @@ package com.bonus.material.lease.domain.vo; import com.bonus.common.core.web.domain.BaseEntity; import com.bonus.material.lease.domain.LeaseApplyDetails; -import com.bonus.material.lease.domain.LeaseApplyInfo; +import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java index e5bc0139..eb511d74 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java @@ -1,7 +1,7 @@ package com.bonus.material.lease.mapper; import java.util.List; -import com.bonus.material.lease.domain.LeaseApplyInfo; +import com.bonus.common.biz.domain.lease.LeaseApplyInfo; /** * 领料任务Mapper接口 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java index bdcbf37c..35a8a6de 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java @@ -2,9 +2,9 @@ package com.bonus.material.lease.service; import java.util.List; import com.bonus.common.core.web.domain.AjaxResult; -import com.bonus.material.lease.domain.LeaseApplyInfo; +import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo; -import com.bonus.material.lease.domain.vo.LeaseOutRequestVo; +import com.bonus.common.biz.domain.lease.LeaseOutRequestVo; /** * 领料任务Service接口 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java index 6384c217..1ab2953d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java @@ -15,7 +15,7 @@ import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.lease.domain.LeaseApplyDetails; import com.bonus.common.biz.domain.lease.LeaseOutDetails; import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo; -import com.bonus.material.lease.domain.vo.LeaseOutRequestVo; +import com.bonus.common.biz.domain.lease.LeaseOutRequestVo; import com.bonus.material.lease.mapper.LeaseApplyDetailsMapper; import com.bonus.material.lease.service.ILeaseOutDetailsService; import com.bonus.material.task.domain.TmTask; @@ -25,7 +25,7 @@ import com.bonus.material.task.mapper.TmTaskMapper; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; import com.bonus.material.lease.mapper.LeaseApplyInfoMapper; -import com.bonus.material.lease.domain.LeaseApplyInfo; +import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.material.lease.service.ILeaseApplyInfoService; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/WorkSiteDirectManageMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/WorkSiteDirectManageMapper.java index aa6f2aed..e749b1be 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/WorkSiteDirectManageMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/WorkSiteDirectManageMapper.java @@ -1,7 +1,7 @@ package com.bonus.material.ma.mapper; import com.bonus.material.lease.domain.LeaseApplyDetails; -import com.bonus.material.lease.domain.LeaseApplyInfo; +import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.common.biz.domain.lease.LeaseOutDetails; import com.bonus.material.ma.domain.DirectApplyDetails; import com.bonus.material.ma.domain.DirectApplyInfo; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/domain/vo/TmTaskRequestVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/domain/vo/TmTaskRequestVo.java index a4d2f587..b397a218 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/domain/vo/TmTaskRequestVo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/domain/vo/TmTaskRequestVo.java @@ -3,7 +3,7 @@ //import com.bonus.common.core.annotation.Excel; //import com.bonus.common.core.web.domain.BaseEntity; //import com.bonus.material.lease.domain.LeaseApplyDetails; -//import com.bonus.material.lease.domain.LeaseApplyInfo; +//import com.bonus.common.biz.domain.lease.LeaseApplyInfo; //import io.swagger.annotations.ApiModelProperty; //import lombok.Data; //import java.util.List; diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmStorageLogMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmStorageLogMapper.xml index bc216577..bf8bcbf3 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmStorageLogMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmStorageLogMapper.xml @@ -123,6 +123,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + insert into bm_storage_log (model_title, `method`, task_id, type_id, + create_time, creator, remark, manage_type, + type_name, type_model_name, pre_store_num, in_num, out_num, + back_num, pass_num, repair_num, agreement_id, + scrap_num, `status`, post_store_num, result_code, result_msg, json_result + ) values + + ( + #{item.modelTitle}, #{item.method}, #{item.taskId}, #{item.typeId}, + now(), #{item.creator}, #{item.remark}, #{item.manageType},#{item.typeName}, + #{item.typeModelName}, #{item.preStoreNum}, #{item.inNum},#{item.outNum}, + #{item.backNum}, #{item.passNum}, #{item.repairNum}, #{item.agreementId}, + #{item.scrapNum}, #{item.status}, #{item.postStoreNum}, + #{item.resultCode}, #{item.resultMsg}, #{item.jsonResult} + ) + + + update bm_storage_log diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml index b1fc4153..83d80de0 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -56,7 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join bm_project bp on bp.pro_id = bai.project_id - and lai.code = #{code} @@ -105,7 +105,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where lai.id = #{id} - + insert into lease_apply_info code, @@ -161,7 +161,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + update lease_apply_info code = #{code}, diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/WorkSiteDirectManageMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/WorkSiteDirectManageMapper.xml index 8dc226f7..ffeec4d2 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/WorkSiteDirectManageMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/WorkSiteDirectManageMapper.xml @@ -94,7 +94,7 @@ values (#{directId},#{typeId},#{maId}, #{directNum},NOW()) - + insert into lease_apply_info From 5867c5bc16aca2d3e7e88ec42c05899f711fe83e Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 11 Dec 2024 15:40:25 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E9=A2=86=E6=96=99=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=8F=98=E5=8C=96=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bonus-common-biz/pom.xml | 8 ++++++++ .../bonus/common/biz/aspect/StoreLogAspect.java | 17 ++++++++++++++++- .../service/impl/BmStorageLogServiceImpl.java | 1 - 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/bonus-common-biz/pom.xml b/bonus-common-biz/pom.xml index 4a6dedbf..8c1761e3 100644 --- a/bonus-common-biz/pom.xml +++ b/bonus-common-biz/pom.xml @@ -199,6 +199,14 @@ httpmime 4.5.6 + + com.bonus + bonus-api-system + + + com.bonus + bonus-common-security + diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java index eb319303..7dbae616 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java @@ -7,14 +7,21 @@ import com.bonus.common.biz.domain.lease.LeaseOutDetails; import com.bonus.common.biz.domain.lease.LeaseOutRequestVo; import com.bonus.common.biz.service.AsyncStoreLogService; import com.bonus.common.biz.utils.HttpResult; +import com.bonus.common.core.constant.SecurityConstants; +import com.bonus.common.core.domain.R; import com.bonus.common.core.utils.ServletUtils; import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.system.api.RemoteUserService; +import com.bonus.system.api.model.LoginUser; import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.commons.lang3.ObjectUtils; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpMethod; import org.springframework.stereotype.Component; @@ -47,6 +54,9 @@ public class StoreLogAspect { @Resource private AsyncStoreLogService asyncStoreLogService; + @Resource + private RemoteUserService remoteUserService; + /** * 处理完请求后执行 * @@ -69,6 +79,12 @@ public class StoreLogAspect { bmStorageLog.setStatus(200L); // 请求的地址 bmStorageLog.setMethod(StringUtils.substring(Objects.requireNonNull(ServletUtils.getRequest()).getRequestURI(), 0, 255)); + String username = SecurityUtils.getUsername(); + R userInfo = remoteUserService.getUserInfo(username, SecurityConstants.INNER); + if (ObjectUtils.isNotEmpty(userInfo)) + { + bmStorageLog.setCreator(userInfo.getData().getSysUser().getNickName()); + } if (e != null) { bmStorageLog.setStatus(500L); bmStorageLog.setJsonResult(StringUtils.substring(e.getMessage(), 0, 2000)); @@ -78,7 +94,6 @@ public class StoreLogAspect { String methodName = joinPoint.getSignature().getName(); bmStorageLog.setModelTitle(className + "." + methodName + "()"); // 设置请求方式 - bmStorageLog.setMethod(ServletUtils.getRequest().getMethod()); bmStorageLog.setModelTitle(storeLog.title()); if (StringUtils.isNotNull(jsonResult)) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmStorageLogServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmStorageLogServiceImpl.java index 7a02ae32..b1e4593f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmStorageLogServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmStorageLogServiceImpl.java @@ -100,7 +100,6 @@ public class BmStorageLogServiceImpl implements IBmStorageLogService { @Override public int batchInsert(List records) { log.info("batch insert log {}", records); - records.forEach(bmStorageLog -> bmStorageLog.setCreator(SecurityUtils.getUserId().toString())); return bmStorageLogMapper.batchInsert(records); } }