许鹏程
2024-08-23 9d2b1757355487ce1d1b92b05182fbeac5b3a1ad
mobiel face
已修改2个文件
46 ■■■■ 文件已修改
src/main/java/com/product/mobile/core/controller/FaceMobileController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/mobile/core/service/FaceMobileService.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/mobile/core/controller/FaceMobileController.java
@@ -26,6 +26,25 @@
    @Resource
    FaceMobileService faceMobileService;
    /**
     * 获取表单所有组件的字段根据业务表名
     */
    @PostMapping("/get-face-field-by-table/{version}")
    @ApiVersion(1)
    public String getFaceFieldByTable(HttpServletRequest request) {
        try {
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
            return BaseUtil.success(faceMobileService.getFlowFaceField(fse));
        } catch (BaseException e) {
            e.printStackTrace();
            return error(e);
        } catch (Exception e) {
            e.printStackTrace();
            return error(MobileCoreCode.GET_FACE_FIELD_FAIL, e);
        }
    }
    /**
     * 获取表单所有组件的字段根据flow_task 表 uuid 或者 flow_detail 表 uuid
     *
@@ -38,7 +57,7 @@
        try {
            //不验证传入的表名 可能会是 product_sys_flow_task/product_sys_flow_detail
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
            return BaseUtil.success(faceMobileService.getFaceField(fse));
            return BaseUtil.success(faceMobileService.getFlowFaceField(fse));
        } catch (BaseException e) {
            e.printStackTrace();
            return error(e);
src/main/java/com/product/mobile/core/service/FaceMobileService.java
@@ -10,11 +10,9 @@
import com.product.core.entity.FieldSetEntity;
import com.product.core.exception.BaseException;
import com.product.core.service.support.AbstractBaseService;
import com.product.face.util.FaceUtil;
import com.product.mobile.core.config.MobileCoreCode;
import com.product.mobile.core.entity.FaceFieldEntity;
import com.product.tool.flow.config.CmnConst;
import com.product.tool.flow.config.FlowCode;
import com.product.tool.flow.service.FlowDetailService;
import com.product.util.BaseUtil;
import org.springframework.stereotype.Service;
@@ -33,7 +31,23 @@
    @Resource
    FlowDetailService flowDetailService;
    public List<FaceFieldEntity> getFaceField(FieldSetEntity fse) throws BaseException {
    public List<FaceFieldEntity> getFaceFieldByTable(FieldSetEntity fse) {
        String tableUuid = fse.getString("table_uuid");
        if (StringUtils.isEmpty(tableUuid)) {
            FieldSetEntity tableInfo = BaseUtil.getSingleInfoByCache("所有表信息", new String[]{fse.getString("table_name")});
            if (!FieldSetEntity.isEmpty(tableInfo)) {
                tableUuid = tableInfo.getString("uuid");
            }
        }
        if (StringUtils.isEmpty(tableUuid)) {
            throw new BaseException(MobileCoreCode.SYSTEM_FORM_COUNT);
        }
        FieldSetEntity faceFse = getBaseDao().getFieldSetByFilter("product_sys_face", "table_uuid=?", new Object[]{tableUuid}, true);
        return getFaceField(faceFse);
    }
    public List<FaceFieldEntity> getFlowFaceField(FieldSetEntity fse) throws BaseException {
        String flowBusinessForm = flowDetailService.getFlowBusinessForm(fse);
        JSONObject jsonObject = JSON.parseObject(flowBusinessForm);
        JSONObject data = jsonObject.getJSONObject("data");
@@ -65,7 +79,10 @@
            } while (false);
        }
        return getFaceField(faceFse);
    }
    private List<FaceFieldEntity> getFaceField(FieldSetEntity faceFse) {
        if (FieldSetEntity.isEmpty(faceFse) || DataTableEntity.isEmpty(faceFse.getSubDataTable("product_sys_face_control_property"))) {
            throw new BaseException(MobileCoreCode.GET_FACE_CONFIG_FAIL);
        }
@@ -141,7 +158,7 @@
            }
        }
        return result;
    }
}