| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | 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; |
| | | } |
| | | } |