| | |
| | | package com.product.face.service; |
| | | |
| | | import cn.hutool.core.map.MapBuilder; |
| | | import cn.hutool.core.map.MapUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.fastjson.serializer.SerializerFeature; |
| | | import com.google.common.collect.Lists; |
| | | import com.product.admin.entity.FaceListEntity; |
| | | import com.product.admin.service.SystemFaceService; |
| | | import com.product.common.lang.StringUtils; |
| | | import com.product.core.cache.util.RedisUtil; |
| | |
| | | import com.product.core.service.support.AbstractBaseService; |
| | | import com.product.face.config.ErrorCode; |
| | | import com.product.face.config.FaceConst; |
| | | import com.product.face.entity.FaceEntity; |
| | | import com.product.face.entity.FaceListEntity; |
| | | import com.product.face.entity.TableColumn; |
| | | import com.product.face.util.FaceUtil; |
| | | import com.product.util.BaseUtil; |
| | |
| | | @Resource |
| | | private FaceCacheService faceCacheService; |
| | | |
| | | /** |
| | | * 获取表单配置 |
| | | * @param fse |
| | | * @return |
| | | */ |
| | | public Object getFaceListConf(FieldSetEntity fse) { |
| | | String faceUuid = fse.getString(FaceConst.FIELD_FACE_UUID); |
| | | String faceNumber = fse.getString(FaceConst.FIELD_FACE_NUMBER); |
| | |
| | | if (!StringUtils.isEmpty(faceUuid) && StringUtils.isEmpty(faceNumber)) { |
| | | return systemFaceService.getFaceFieldList(faceUuid); |
| | | } |
| | | final String redisKey = FaceConst.FACE_LIST_KEY + ":face-number" + faceNumber; |
| | | if (RedisUtil.exists(redisKey)) { |
| | | return RedisUtil.get(redisKey); |
| | | FaceListEntity faceListCache = faceCacheService.getFaceListCache(faceNumber); |
| | | if (faceListCache == null) { |
| | | throw new BaseException(ErrorCode.GET_FACE_CONF_FAIL); |
| | | } |
| | | |
| | | |
| | | return null; |
| | | return faceListCache; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @throws BaseException |
| | | */ |
| | | public String getFaceFormConfig(FieldSetEntity fse) throws BaseException { |
| | | String faceNumber = fse.getString(FaceConst.FIELD_FACE_NUMBER); |
| | | if (StringUtils.isEmpty(faceNumber)) { |
| | | throw new BaseException(ErrorCode.REQUEST_PARAM_ERROR); |
| | | FaceEntity faceFormCache = faceCacheService.getFaceFormCache(fse.getString(FaceConst.FIELD_FACE_NUMBER)); |
| | | if (faceFormCache == null) { |
| | | throw new BaseException(ErrorCode.GET_FACE_CONF_FAIL); |
| | | } |
| | | //根据表单号查询 |
| | | FieldSetEntity faceConf = getBaseDao().getFieldSetByFilter(FaceConst.TABLE_FACE_CONFIG, "face_number=?", new Object[]{faceNumber}, true); |
| | | DataTableEntity fieldPropertyDt = faceConf.getSubDataTable(FaceConst.TABLE_FACE_FIELD_CONTROL_PROPERTY); |
| | | if (DataTableEntity.isEmpty(fieldPropertyDt)) { |
| | | throw new BaseException(ErrorCode.GET_FACE_CONFIG_FAIL); |
| | | } |
| | | List<JSONObject> faceControlList = FaceUtil.getFaceControlList(fieldPropertyDt); |
| | | Map<String, Object> other = new HashMap<>(); |
| | | other.put("drawingList", faceControlList); |
| | | faceConf.getSubData().clear(); |
| | | return BaseUtil.success(faceConf, other); |
| | | return BaseUtil.success(faceFormCache.getData(), MapUtil.builder("drawingList", (Object) faceFormCache.getDrawingList()).map()); |
| | | } |
| | | |
| | | } |