From 3c18ab6cd51082eefdc1e3ef28751dd46db3faab Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 01 Jul 2022 10:22:18 +0800
Subject: [PATCH] 采收修改,农事记录设置租户id,溯源信息返回为二维码图片
---
src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityServiceImpl.java | 41 +++++++++++++
src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java | 12 ++++
src/main/java/org/springblade/modules/traceability/dto/TraceabilityDTO.java | 27 +++++++++
src/main/java/org/springblade/modules/traceability/service/TraceabilityService.java | 8 ++
src/main/java/org/springblade/modules/recovery/controller/RecoveryController.java | 1
src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.java | 9 +++
src/main/java/org/springblade/common/config/TraceabilityCodeConfig.java | 22 +++++++
src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.xml | 11 +++
8 files changed, 131 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/common/config/TraceabilityCodeConfig.java b/src/main/java/org/springblade/common/config/TraceabilityCodeConfig.java
new file mode 100644
index 0000000..8cebc68
--- /dev/null
+++ b/src/main/java/org/springblade/common/config/TraceabilityCodeConfig.java
@@ -0,0 +1,22 @@
+package org.springblade.common.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * 项目基础路径配置
+ */
+@Component
+@ConfigurationProperties(prefix = "zhny")
+public class TraceabilityCodeConfig {
+
+ private static String codeUrl;
+
+ public void setCodeUrl(String codeUrl) {
+ TraceabilityCodeConfig.codeUrl = codeUrl;
+ }
+
+ public static String getCodeUrl() {
+ return codeUrl;
+ }
+}
diff --git a/src/main/java/org/springblade/modules/recovery/controller/RecoveryController.java b/src/main/java/org/springblade/modules/recovery/controller/RecoveryController.java
index b502f55..6c2d515 100644
--- a/src/main/java/org/springblade/modules/recovery/controller/RecoveryController.java
+++ b/src/main/java/org/springblade/modules/recovery/controller/RecoveryController.java
@@ -103,6 +103,7 @@
record.setType("12");
record.setLandId(recovery.getLandId());
record.setDeptId(recovery.getDeptId());
+ record.setTenantId(recovery.getTenantId());
record.setStrainId(recovery.getStrainId());
record.setOperator(recovery.getOperator());
Strain strain = strainService.getById(recovery.getStrainId());
diff --git a/src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java b/src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java
index fc2d017..c8d8cad 100644
--- a/src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java
+++ b/src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java
@@ -12,6 +12,7 @@
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.recovery.entity.Recovery;
import org.springblade.modules.recovery.service.RecoveryService;
+import org.springblade.modules.traceability.dto.TraceabilityDTO;
import org.springblade.modules.traceability.entity.Traceability;
import org.springblade.modules.traceability.service.TraceabilityService;
import org.springblade.modules.traceability.vo.TraceabilityVO;
@@ -142,4 +143,15 @@
return R.status(traceabilityService.removeByIds(Func.toLongList(ids)));
}
+ /**
+ * 获取溯源简介信息
+ * @param traceability
+ * @return
+ */
+ @GetMapping("/getSimpleInfo")
+ public R<TraceabilityDTO> getSimpleInfo(Traceability traceability) {
+ TraceabilityDTO traceabilityDTO = traceabilityService.getSimpleInfo(traceability);
+ return R.data(traceabilityDTO);
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/traceability/dto/TraceabilityDTO.java b/src/main/java/org/springblade/modules/traceability/dto/TraceabilityDTO.java
new file mode 100644
index 0000000..d16947b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/traceability/dto/TraceabilityDTO.java
@@ -0,0 +1,27 @@
+package org.springblade.modules.traceability.dto;
+
+import lombok.Data;
+
+/**
+ * 溯源信息
+ * @author zhongrj
+ * @since 2022-06-30
+ */
+@Data
+public class TraceabilityDTO {
+
+ /**
+ * 溯源码编号
+ */
+ private String code;
+
+ /**
+ * 溯源详情信息
+ */
+ private String remark;
+
+ /**
+ * 溯源二维码
+ */
+ private String qrcode;
+}
diff --git a/src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.java b/src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.java
index 4516f2e..59592e4 100644
--- a/src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.java
+++ b/src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.java
@@ -1,8 +1,10 @@
package org.springblade.modules.traceability.mapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.traceability.dto.TraceabilityDTO;
import org.springblade.modules.traceability.entity.Traceability;
import org.springblade.modules.traceability.vo.TraceabilityVO;
@@ -24,4 +26,11 @@
*/
List<TraceabilityVO> selectTraceabilityPage(@Param("page") IPage page, @Param("traceability") TraceabilityVO traceability);
String selectRevorid(String code);
+
+ /**
+ * 获取溯源简介信息
+ * @param traceability
+ * @return
+ */
+ TraceabilityDTO getSimpleInfo(@Param("traceability") Traceability traceability);
}
diff --git a/src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.xml b/src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.xml
index cb95225..25c25ed 100644
--- a/src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.xml
+++ b/src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.xml
@@ -21,4 +21,15 @@
<select id="selectRevorid" resultType="java.lang.String">
select recovery_id from sys_traceability where code=#{code}
</select>
+
+ <!--获取溯源简介信息-->
+ <select id="getSimpleInfo" resultType="org.springblade.modules.traceability.dto.TraceabilityDTO">
+ SELECT concat(sf.farm_name,'-',ifnull(sl.land_name,'-'),'-',ss.strain_name,'-',sr.time,' 采收') remark FROM `sys_traceability` st
+ left join blade_dept bd on bd.id = st.dept_id
+ left join sys_recovery sr on sr.id = st.recovery_id
+ left join sys_land sl on sl.id = sr.land_id
+ left join sys_strain ss on ss.id = sr.strain_id
+ left join sys_farm sf on sf.dept_id = bd.id
+ where st.code = #{traceability.code}
+ </select>
</mapper>
diff --git a/src/main/java/org/springblade/modules/traceability/service/TraceabilityService.java b/src/main/java/org/springblade/modules/traceability/service/TraceabilityService.java
index ce42dff..57172f8 100644
--- a/src/main/java/org/springblade/modules/traceability/service/TraceabilityService.java
+++ b/src/main/java/org/springblade/modules/traceability/service/TraceabilityService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.traceability.dto.TraceabilityDTO;
import org.springblade.modules.traceability.entity.Traceability;
import org.springblade.modules.traceability.vo.TraceabilityVO;
@@ -22,4 +23,11 @@
*/
IPage<TraceabilityVO> selectTraceabilityPage(IPage<TraceabilityVO> page, TraceabilityVO traceability);
String selectRevorid(String code);
+
+ /**
+ * 获取溯源简介信息
+ * @param traceability
+ * @return
+ */
+ TraceabilityDTO getSimpleInfo(Traceability traceability);
}
diff --git a/src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityServiceImpl.java b/src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityServiceImpl.java
index d6a445c..cdc6902 100644
--- a/src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityServiceImpl.java
+++ b/src/main/java/org/springblade/modules/traceability/service/impl/TraceabilityServiceImpl.java
@@ -1,12 +1,21 @@
package org.springblade.modules.traceability.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.zxing.WriterException;
+import org.springblade.common.config.TraceabilityCodeConfig;
+import org.springblade.common.utils.QRCodeUtil;
+import org.springblade.modules.traceability.dto.TraceabilityDTO;
import org.springblade.modules.traceability.entity.Traceability;
import org.springblade.modules.traceability.mapper.TraceabilityMapper;
import org.springblade.modules.traceability.service.TraceabilityService;
import org.springblade.modules.traceability.vo.TraceabilityVO;
import org.springframework.stereotype.Service;
+import sun.misc.BASE64Encoder;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
import java.util.List;
/**
@@ -33,4 +42,36 @@
public String selectRevorid(String code) {
return baseMapper.selectRevorid(code);
}
+
+ /**
+ * 获取溯源简介信息
+ * @param traceability
+ * @return
+ */
+ @Override
+ public TraceabilityDTO getSimpleInfo(Traceability traceability) {
+ TraceabilityDTO simpleInfo = baseMapper.getSimpleInfo(traceability);
+ simpleInfo.setCode(traceability.getCode());
+ //获取二维码信息
+ String url = TraceabilityCodeConfig.getCodeUrl();
+ String encoded = null;
+ try {
+ encoded = URLEncoder.encode(traceability.getCode(),"UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ String content = url + "?code=" + encoded;
+ byte[] qrCodeImage = new byte[0];
+ try {
+ qrCodeImage = QRCodeUtil.getQRCodeImage(content, 350, 350);
+ } catch (WriterException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ String encode = new BASE64Encoder().encode(qrCodeImage);
+ simpleInfo.setQrcode("data:image/png;base64,"+encode);
+ //返回
+ return simpleInfo;
+ }
}
--
Gitblit v1.9.3