You've already forked FrameTour-BE
Compare commits
4 Commits
cf235d38bb
...
a361b59d74
Author | SHA1 | Date | |
---|---|---|---|
a361b59d74 | |||
f779b0e040 | |||
78c4548d02 | |||
842310f73c |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,3 +4,4 @@ target/
|
|||||||
.serena
|
.serena
|
||||||
.claude
|
.claude
|
||||||
.vscode
|
.vscode
|
||||||
|
*.jpg
|
||||||
|
@@ -196,7 +196,7 @@ public class AppOrderV2Controller {
|
|||||||
if (cachedResult.getFinalAmount().compareTo(request.getExpectedFinalAmount()) != 0) {
|
if (cachedResult.getFinalAmount().compareTo(request.getExpectedFinalAmount()) != 0) {
|
||||||
log.warn("移动端下单:价格不匹配, cached={}, expected={}, userId={}, scenicId={}",
|
log.warn("移动端下单:价格不匹配, cached={}, expected={}, userId={}, scenicId={}",
|
||||||
cachedResult.getFinalAmount(), request.getExpectedFinalAmount(), currentUserId, scenicId);
|
cachedResult.getFinalAmount(), request.getExpectedFinalAmount(), currentUserId, scenicId);
|
||||||
return ApiResponse.fail("请重新下单!");
|
return ApiResponse.fail("价格信息变化,请退出后重新查询价格!");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 验证原价是否匹配(可选)
|
// 验证原价是否匹配(可选)
|
||||||
@@ -215,6 +215,7 @@ public class AppOrderV2Controller {
|
|||||||
Long orderId = oldOrderService.createOrderCompact(currentUserId, request, cachedResult);
|
Long orderId = oldOrderService.createOrderCompact(currentUserId, request, cachedResult);
|
||||||
return ApiResponse.success(String.valueOf(orderId));
|
return ApiResponse.success(String.valueOf(orderId));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
log.warn("移动端下单:订单创建失败, userId={}, scenicId={}, error={}", currentUserId, scenicId, e.getMessage(), e);
|
||||||
return ApiResponse.fail("订单创建失败,请稍后重试");
|
return ApiResponse.fail("订单创建失败,请稍后重试");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -51,18 +51,18 @@ public class AppStatisticsFunnelVO {
|
|||||||
return "-"; // TODO: REAL
|
return "-"; // TODO: REAL
|
||||||
}
|
}
|
||||||
|
|
||||||
// 扫码访问人数_上传头像人数_转化率
|
// 扫码访问人数_推送订阅人数_转化率
|
||||||
@JsonProperty("scaom_ufom")
|
@JsonProperty("scaom_ufom")
|
||||||
public String getScaom_ufom() {
|
public String getScaom_ufom() {
|
||||||
if (uploadFaceOfMemberNum == 0 || scanCodeVisitorOfMemberNum == 0) {
|
if (scanCodeVisitorOfMemberNum == 0 || pushOfMemberNum == 0) {
|
||||||
return "0.00";
|
return "0.00";
|
||||||
}
|
}
|
||||||
return new BigDecimal(uploadFaceOfMemberNum)
|
return new BigDecimal(pushOfMemberNum)
|
||||||
.multiply(new BigDecimal(100))
|
.multiply(new BigDecimal(100))
|
||||||
.divide(new BigDecimal(scanCodeVisitorOfMemberNum), 2, RoundingMode.HALF_UP)
|
.divide(new BigDecimal(scanCodeVisitorOfMemberNum), 2, RoundingMode.HALF_UP)
|
||||||
.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
// 上传头像人数_推送订阅人数_转化率
|
// 推送订阅人数_上传头像人数_转化率
|
||||||
@JsonProperty("ufom_pom")
|
@JsonProperty("ufom_pom")
|
||||||
public String getUfom_pom() {
|
public String getUfom_pom() {
|
||||||
if (pushOfMemberNum == 0 || uploadFaceOfMemberNum == 0) {
|
if (pushOfMemberNum == 0 || uploadFaceOfMemberNum == 0) {
|
||||||
@@ -76,12 +76,12 @@ public class AppStatisticsFunnelVO {
|
|||||||
// 上传头像人数_生成视频人数_转化率
|
// 上传头像人数_生成视频人数_转化率
|
||||||
@JsonProperty("pom_cvom")
|
@JsonProperty("pom_cvom")
|
||||||
public String getPom_cvom() {
|
public String getPom_cvom() {
|
||||||
if (uploadFaceOfMemberNum == 0 || pushOfMemberNum == 0) {
|
if (uploadFaceOfMemberNum == 0 || completeVideoOfMemberNum == 0) {
|
||||||
return "0.00";
|
return "0.00";
|
||||||
}
|
}
|
||||||
return new BigDecimal(completeVideoOfMemberNum)
|
return new BigDecimal(completeVideoOfMemberNum)
|
||||||
.multiply(new BigDecimal(100))
|
.multiply(new BigDecimal(100))
|
||||||
.divide(new BigDecimal(pushOfMemberNum), 2, RoundingMode.HALF_UP)
|
.divide(new BigDecimal(uploadFaceOfMemberNum), 2, RoundingMode.HALF_UP)
|
||||||
.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
// 生成视频人数_预览视频人数_转化率
|
// 生成视频人数_预览视频人数_转化率
|
||||||
|
@@ -14,4 +14,5 @@ public class TemplateConfigEntity {
|
|||||||
private Date createDate;
|
private Date createDate;
|
||||||
private Integer minimalPlaceholderFill;
|
private Integer minimalPlaceholderFill;
|
||||||
private Integer automaticPlaceholderFill;
|
private Integer automaticPlaceholderFill;
|
||||||
|
private Integer duplicateEnable;
|
||||||
}
|
}
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
values (#{id}, #{scenicId}, #{name}, #{pid}, #{isPlaceholder}, #{sourceUrl}, #{effects}, #{luts}, #{overlays}, #{audios}, #{coverUrl}, #{frameRate}, #{speed}, #{price}, #{slashPrice}, #{sort}, #{cropEnable}, #{zoomCut}, #{onlyIf}, #{resolution}, now())
|
values (#{id}, #{scenicId}, #{name}, #{pid}, #{isPlaceholder}, #{sourceUrl}, #{effects}, #{luts}, #{overlays}, #{audios}, #{coverUrl}, #{frameRate}, #{speed}, #{price}, #{slashPrice}, #{sort}, #{cropEnable}, #{zoomCut}, #{onlyIf}, #{resolution}, now())
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="addConfig">
|
<insert id="addConfig">
|
||||||
insert into template_config(id, template_id, create_time)
|
insert into template_config(id, template_id, duplicate_enable, create_time)
|
||||||
values (#{id}, #{templateId}, now())
|
values (#{id}, #{templateId}, #{duplicateEnable}, now())
|
||||||
</insert>
|
</insert>
|
||||||
<update id="update">
|
<update id="update">
|
||||||
update template
|
update template
|
||||||
@@ -52,7 +52,8 @@
|
|||||||
<set>
|
<set>
|
||||||
<if test="isDefault!= null">is_default = #{isDefault}, </if>
|
<if test="isDefault!= null">is_default = #{isDefault}, </if>
|
||||||
minimal_placeholder_fill = #{minimalPlaceholderFill},
|
minimal_placeholder_fill = #{minimalPlaceholderFill},
|
||||||
automatic_placeholder_fill = #{automaticPlaceholderFill}
|
automatic_placeholder_fill = #{automaticPlaceholderFill},
|
||||||
|
duplicate_enable = #{duplicateEnable}
|
||||||
</set>
|
</set>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
Reference in New Issue
Block a user