You've already forked FrameTour-BE
生成bindFace小程序码
This commit is contained in:
@@ -177,6 +177,10 @@ public class AioDeviceController {
|
|||||||
return ApiResponse.success(false);
|
return ApiResponse.success(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@GetMapping("/face/{faceId}/bindWxaCode")
|
||||||
|
public ApiResponse<String> bindWxaCode(@PathVariable Long faceId) {
|
||||||
|
return ApiResponse.success(faceService.bindWxaCode(faceId));
|
||||||
|
}
|
||||||
// 照片商品列表
|
// 照片商品列表
|
||||||
@GetMapping("/{faceId}/photo")
|
@GetMapping("/{faceId}/photo")
|
||||||
public ApiResponse<List<GoodsDetailVO>> sourceGoodsList(@PathVariable Long faceId) {
|
public ApiResponse<List<GoodsDetailVO>> sourceGoodsList(@PathVariable Long faceId) {
|
||||||
|
@@ -38,4 +38,6 @@ public interface FaceService {
|
|||||||
ApiResponse<List<ContentPageVO>> contentListUseDefaultFace();
|
ApiResponse<List<ContentPageVO>> contentListUseDefaultFace();
|
||||||
|
|
||||||
void bindFace(Long faceId, Long memberId);
|
void bindFace(Long faceId, Long memberId);
|
||||||
|
|
||||||
|
String bindWxaCode(Long faceId);
|
||||||
}
|
}
|
||||||
|
@@ -24,6 +24,7 @@ import com.ycwl.basic.model.pc.face.entity.FaceEntity;
|
|||||||
import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
|
import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
|
||||||
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||||
import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity;
|
import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity;
|
||||||
|
import com.ycwl.basic.model.pc.mp.MpConfigEntity;
|
||||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||||
import com.ycwl.basic.model.pc.source.entity.MemberSourceEntity;
|
import com.ycwl.basic.model.pc.source.entity.MemberSourceEntity;
|
||||||
import com.ycwl.basic.model.pc.source.entity.SourceEntity;
|
import com.ycwl.basic.model.pc.source.entity.SourceEntity;
|
||||||
@@ -45,6 +46,7 @@ import com.ycwl.basic.service.task.TaskFaceService;
|
|||||||
import com.ycwl.basic.service.task.TaskService;
|
import com.ycwl.basic.service.task.TaskService;
|
||||||
import com.ycwl.basic.storage.StorageFactory;
|
import com.ycwl.basic.storage.StorageFactory;
|
||||||
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
||||||
|
import com.ycwl.basic.storage.enums.StorageAcl;
|
||||||
import com.ycwl.basic.storage.utils.StorageUtil;
|
import com.ycwl.basic.storage.utils.StorageUtil;
|
||||||
import com.ycwl.basic.task.VideoPieceGetter;
|
import com.ycwl.basic.task.VideoPieceGetter;
|
||||||
import com.ycwl.basic.utils.*;
|
import com.ycwl.basic.utils.*;
|
||||||
@@ -53,6 +55,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@@ -529,5 +532,31 @@ public class FaceServiceImpl implements FaceService {
|
|||||||
faceRepository.clearFaceCache(faceId);
|
faceRepository.clearFaceCache(faceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String bindWxaCode(Long faceId) {
|
||||||
|
FaceEntity face = faceRepository.getFace(faceId);
|
||||||
|
|
||||||
|
MpConfigEntity mpConfig = scenicRepository.getScenicMpConfig(face.getScenicId());
|
||||||
|
if (mpConfig == null) {
|
||||||
|
throw new BaseException("小程序配置不存在");
|
||||||
|
}
|
||||||
|
String appId = mpConfig.getAppId();
|
||||||
|
String appSecret = mpConfig.getAppSecret();
|
||||||
|
String path = "pages/videoSynthesis/bind_face";
|
||||||
|
String filePath = "qr_code_bf" + faceId + ".jpg";
|
||||||
|
IStorageAdapter adapter = StorageFactory.use();
|
||||||
|
if (adapter.isExists(filePath)) {
|
||||||
|
return adapter.getUrl(filePath);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
File file = new File(filePath);
|
||||||
|
WxMpUtil.generateUnlimitedWXAQRCode(appId, appSecret, path, faceId.toString(), file);
|
||||||
|
String s = adapter.uploadFile(null, file, filePath);
|
||||||
|
file.delete();
|
||||||
|
adapter.setAcl(StorageAcl.PUBLIC_READ, filePath);
|
||||||
|
return s;
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new BaseException("生成二维码失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user