Browse Source

二维码生成

master
liwenxuan 10 months ago
parent
commit
0b744ce131
  1. 4
      pom.xml
  2. 3
      src/main/java/com/hxgk/lowcode/mapper/CustomerFormViewMapper.java
  3. 27
      src/main/java/com/hxgk/lowcode/model/entity/response/QrCodeDetailsResponseEntity.java
  4. 3
      src/main/java/com/hxgk/lowcode/service/CustomerFormViewService.java
  5. 6
      src/main/java/com/hxgk/lowcode/service/impl/CustomerFormViewServiceImpl.java
  6. 15
      src/main/java/com/hxgk/lowcode/service/impl/QrCodeServiceImpl.java
  7. 30
      src/main/resources/mapper/CustomerFormvViewMapper.xml

4
pom.xml

@ -123,11 +123,11 @@
<version>4.5.14</version>
</dependency>
<!--guava依赖包-->
<!--<dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>-->
</dependency>
<!-- zxing生成二维码 -->
<dependency>
<groupId>com.google.zxing</groupId>

3
src/main/java/com/hxgk/lowcode/mapper/CustomerFormViewMapper.java

@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.ArrayList;
import java.util.Map;
@Mapper
public interface CustomerFormViewMapper {
@ -21,4 +22,6 @@ public interface CustomerFormViewMapper {
ArrayList<CustomerFormView> getAppsByGroupId(@Param("groupid") String id);
CustomerFormView getCustomerFormViewByCfid(String cfid);
Map<String, String> getAppNameAndGroupNameByCfid(@Param("cfid")String cfid);
}

27
src/main/java/com/hxgk/lowcode/model/entity/response/QrCodeDetailsResponseEntity.java

@ -8,6 +8,9 @@ import java.util.LinkedHashMap;
public class QrCodeDetailsResponseEntity {
//二维码图片
private String bufferedImage;
private String groupName;
private String appName;
private String formName;
//要显示在表格中的字段map
private LinkedHashMap<String,String> fieldsMap;
@ -26,4 +29,28 @@ public class QrCodeDetailsResponseEntity {
public void setFieldsMap(LinkedHashMap<String, String> fieldsMap) {
this.fieldsMap = fieldsMap;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public String getAppName() {
return appName;
}
public void setAppName(String appName) {
this.appName = appName;
}
public String getFormName() {
return formName;
}
public void setFormName(String formName) {
this.formName = formName;
}
}

3
src/main/java/com/hxgk/lowcode/service/CustomerFormViewService.java

@ -4,9 +4,12 @@ import com.hxgk.lowcode.model.entity.CustomerFormGroup;
import com.hxgk.lowcode.model.entity.CustomerFormView;
import java.util.ArrayList;
import java.util.Map;
public interface CustomerFormViewService {
ArrayList<CustomerFormView> getAppsByGroupId(CustomerFormGroup item);
CustomerFormView getCustomerFormViewByCfid(String cfid);
Map<String, String> getAppNameAndGroupNameByCfid(String cfid);
}

6
src/main/java/com/hxgk/lowcode/service/impl/CustomerFormViewServiceImpl.java

@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Map;
@Service
@ -26,4 +27,9 @@ public class CustomerFormViewServiceImpl implements CustomerFormViewService {
CustomerFormView customerFormView = customerFormViewMapper.getCustomerFormViewByCfid(cfid);
return customerFormView;
}
@Override
public Map<String, String> getAppNameAndGroupNameByCfid(String cfid) {
return customerFormViewMapper.getAppNameAndGroupNameByCfid(cfid);
}
}

15
src/main/java/com/hxgk/lowcode/service/impl/QrCodeServiceImpl.java

@ -43,7 +43,7 @@ public class QrCodeServiceImpl implements QrCodeService {
CustomerFormView c = customerFormViewService.getCustomerFormViewByCfid(cfid);
//上线修改
qrCodeStr = prefixout+"id="+c.getCfid()+"&key="+c.getGroupid()+"&formid="+c.getId()+"&formKey="+c.getSignCode()+"&title="+c.getName()+"&state="+c.getStates();
System.out.println(qrCodeStr);
//System.out.println(qrCodeStr);
try {
BufferedImage bufferedImage = qrCodeUtil.getQRCodeImage(qrCodeStr, "生成的二维码");
String base64 = qrCodeUtil.bufferedImageToBase64(bufferedImage);
@ -70,6 +70,9 @@ public class QrCodeServiceImpl implements QrCodeService {
ArrayList<String> qrCodeShowFields = new ArrayList<>();
Object qrCodePrintStyle = settings.get("qrCodePrintStyle");
String qrCodePrintStyleStr = "";
//查询分组,App,表名信息
String formName = (String) settings.get("formName");
Map<String,String> appAndGroupNameMap = customerFormViewService.getAppNameAndGroupNameByCfid(cfid);
if(qrCodePrintStyle==null){
qrCodePrintStyle = (Object) "1";
}
@ -104,10 +107,14 @@ public class QrCodeServiceImpl implements QrCodeService {
LinkedHashMap<String,String> map = fieldRecordMapper.getQrCodeTableFields(dbFormName,stringArrayList,id);
map = convertMap(map);
currentFieldsMap = mergeMaps(fieldsAndCommentsResult, map);
System.out.println(1);
currentFieldsMap.put("qrCodeBase64","二维码"+"!@#@!"+currentBase64);
}
qrCodeDetailsResponseEntity.setBufferedImage(currentBase64);
qrCodeDetailsResponseEntity.setFieldsMap(currentFieldsMap);
qrCodeDetailsResponseEntity.setGroupName((String)appAndGroupNameMap.get("groupName"));
qrCodeDetailsResponseEntity.setAppName((String)appAndGroupNameMap.get("appName"));
qrCodeDetailsResponseEntity.setFormName(formName);
result.put(id,qrCodeDetailsResponseEntity);
}
}else{
@ -125,7 +132,9 @@ public class QrCodeServiceImpl implements QrCodeService {
//LinkedHashMap<String,String> currentFieldsMap = new LinkedHashMap<>();
qrCodeDetailsResponseEntity.setBufferedImage(currentBase64);
//qrCodeDetailsResponseEntity.setFieldsMap(currentFieldsMap);
qrCodeDetailsResponseEntity.setGroupName((String)appAndGroupNameMap.get("groupName"));
qrCodeDetailsResponseEntity.setAppName((String)appAndGroupNameMap.get("appName"));
qrCodeDetailsResponseEntity.setFormName(formName);
result.put(id,qrCodeDetailsResponseEntity);
}
}

30
src/main/resources/mapper/CustomerFormvViewMapper.xml

@ -57,4 +57,34 @@
and status = 1 and states = 1
</select>
<select id="getAppNameAndGroupNameByCfid" parameterType="string" resultType="map">
SELECT
cfg.title AS groupName,
(
SELECT cfv2.name
FROM customer_form_view cfv2
WHERE cfv2.signCode = (
SELECT cfv3.groupid
FROM customer_form_view cfv3
WHERE cfv3.cfid = #{cfid}
AND cfv3.status = 1
AND cfv3.states = 1
)
AND cfv2.classify = 3
) AS appName
FROM customer_form_group cfg
WHERE cfg.id = (
SELECT cfv1.groupid
FROM customer_form_view cfv1
WHERE cfv1.signCode = (
SELECT cfv4.groupid
FROM customer_form_view cfv4
WHERE cfv4.cfid = #{cfid}
AND cfv4.status = 1
AND cfv4.states = 1
)
AND cfv1.classify = 3
)
</select>
</mapper>
Loading…
Cancel
Save