Browse Source

//..

private_deployment
xhxu 1 year ago
parent
commit
a0efa14bdf
9 changed files with 54 additions and 33 deletions
  1. +9
    -21
      suimangCApi/src/main/java/com/iformall/controller/UserDigitalAvatarPhotoController.java
  2. +2
    -0
      suimangService/src/main/java/com/iformall/domain/po/sm/UserDigitalAvatarOrder.java
  3. +2
    -0
      suimangService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java
  4. +1
    -0
      suimangService/src/main/java/com/iformall/service/sm/UserDigitalAvatarOrderService.java
  5. +1
    -1
      suimangService/src/main/java/com/iformall/service/sm/UserDigitalAvatarPhotoService.java
  6. +30
    -8
      suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarOrderServiceImpl.java
  7. +1
    -0
      suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarPhotoServiceImpl.java
  8. +2
    -2
      suimangService/src/main/resources/mapper/UserBasicPropertyMapper.xml
  9. +6
    -1
      suimangService/src/main/resources/mapper/UserDigitalAvatarOrderMapper.xml

+ 9
- 21
suimangCApi/src/main/java/com/iformall/controller/UserDigitalAvatarPhotoController.java View File

@@ -1,41 +1,20 @@
package com.iformall.controller;

import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.iformall.annotation.AuthIgnore;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.sm.*;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.service.sm.*;
import com.iformall.video.VideoFactory;
import com.iformall.video.entity.VideUploadResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Date;
import java.util.List;


@RestController
@RequestMapping("/api/digitalAvatarPhoto")
@@ -70,6 +49,7 @@ public class UserDigitalAvatarPhotoController extends BaseController {
if(record.getId() == null){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"参数异常");
}

record.setUserId(getMemberId());
UserDigitalAvatarOrder userDigitalAvatarOrder = userDigitalAvatarOrderService.selectById(record.getId());
if(userDigitalAvatarOrder == null || !record.getUserId().equals(userDigitalAvatarOrder.getUserId())){
@@ -153,4 +133,12 @@ public class UserDigitalAvatarPhotoController extends BaseController {
}
return new ResultData(userDigitalAvatarPhoto);
}

@ApiOperation("获取照片生成次数")
@GetMapping("/getCount")
public ResultData getCount() {
logger.debug("[" + getIpAddr() + "] UserDigitalAvatarPhotoController::getCount");
Integer count = userDigitalAvatarOrderService.selectCount(getMemberId());
return new ResultData(count);
}
}

+ 2
- 0
suimangService/src/main/java/com/iformall/domain/po/sm/UserDigitalAvatarOrder.java View File

@@ -23,6 +23,8 @@ public class UserDigitalAvatarOrder extends TenantEntity {

protected Long id;

private Integer plat;

@TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value="查询-创建起始时间",name="startDate")
private Date startDate;


+ 2
- 0
suimangService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java View File

@@ -26,6 +26,7 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;

import java.util.Date;
@@ -128,6 +129,7 @@ public class WxTemplateMsgServiceImpl implements WxTemplateMsgService {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxTemplateMsgMapper.findListForMiniApp(record));
}

@Async
@Override
public void sendTemplateMsg(WxAppinfo appinfo, Long userId, String toPage, Map<String, String> param) {
WxTemplateMsg templateMsgQ = new WxTemplateMsg();


+ 1
- 0
suimangService/src/main/java/com/iformall/service/sm/UserDigitalAvatarOrderService.java View File

@@ -62,4 +62,5 @@ public interface UserDigitalAvatarOrderService {

void sendPhotoSuccess(UserDigitalAvatarOrder record);

Integer selectCount(Long userId);
}

+ 1
- 1
suimangService/src/main/java/com/iformall/service/sm/UserDigitalAvatarPhotoService.java View File

@@ -19,7 +19,7 @@ public interface UserDigitalAvatarPhotoService {

void handleSuperPhoto(UserDigitalAvatarPhoto record, String img);

void updateById(UserDigitalAvatarPhoto updPhoto);
void updateById(UserDigitalAvatarPhoto record);

void handlePhoto(UserDigitalAvatarOrder record,List<String> imgList);
}

+ 30
- 8
suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarOrderServiceImpl.java View File

@@ -1,5 +1,6 @@
package com.iformall.service.sm.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
@@ -135,6 +136,11 @@ public class UserDigitalAvatarOrderServiceImpl implements UserDigitalAvatarOrder
if(record.getUserId() == null){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未查询到用户");
}
boolean first = true;
if(this.selectCount(record.getUserId()) > 0){
first = false;
}

if(record.getDigitalAvatarId() == null){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"风格模板为空");
}
@@ -150,10 +156,15 @@ public class UserDigitalAvatarOrderServiceImpl implements UserDigitalAvatarOrder
}
record.setDigitalAvatarSm(digitalAvatarMould.getMouldSmId());
record.setDigitalAvatarType(digitalAvatarMould.getMouldType());
record.setPrice(digitalAvatarMould.getSalePrice());
if(record.getUserImageList().size() != record.getDigitalAvatarType()){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"照片数据格式错误");
}
if(first){
record.setPrice(0);
}else{
record.setPrice(digitalAvatarMould.getSalePrice());
}

if(record.getPrice() > 0){
UserBasicProperty userBasicProperty = userBasicPropertyMapper.selectById(record.getUserId());
@@ -283,6 +294,8 @@ public class UserDigitalAvatarOrderServiceImpl implements UserDigitalAvatarOrder
DigitalAvatarResult result = AiDigitalAvatarHelper.digitalAvatarPhoto(param,record.getId());
if(result.isSuccess()){
userDigitalAvatarPhotoService.handlePhoto(record,result.getImgList());

this.sendPhotoSuccess(record);
}else{
updOrder.setStatus(EnumDigitalAvatarOrderStatus.fail.getCode());
updOrder.setMsg(result.getMsg());
@@ -310,15 +323,24 @@ public class UserDigitalAvatarOrderServiceImpl implements UserDigitalAvatarOrder
if(!EnumDigitalAvatarOrderStatus.finish.getCode().equals(userDigitalAvatarOrder.getStatus())){
return;
}
//默认先发微信订阅消息
WxAppinfo appinfo = wxAppinfoService.getProjectCAppInfoFromRedis(EnumProject.PROJECT_5.getCode(), EnumAppPlat.WX.getCode());
String toPage = "/pages/lookPhoto/index?id="+record.getId();
if(userDigitalAvatarOrder.getPlat() == null){
return;
}
WxAppinfo appinfo = wxAppinfoService.getProjectCAppInfoFromRedis(EnumProject.PROJECT_5.getCode(), userDigitalAvatarOrder.getPlat());
String toPage = "/pages/lookPhoto/index?id="+userDigitalAvatarOrder.getId();
Map<String,String> param = new HashMap<>();
param.put("thing1",record.getTitle());
param.put("character_string3",record.getId().toString());
param.put("time4", DateUtils.date2String(record.getUpdateDate()));
param.put("thing1",userDigitalAvatarOrder.getTitle());
param.put("character_string3",userDigitalAvatarOrder.getId().toString());
param.put("time4", DateUtils.date2String(userDigitalAvatarOrder.getUpdateDate()));

wxTemplateMsgService.sendTemplateMsg(appinfo,record.getUserId(),toPage,param);
wxTemplateMsgService.sendTemplateMsg(appinfo,userDigitalAvatarOrder.getUserId(),toPage,param);
}

@Override
public Integer selectCount(Long userId) {
UserDigitalAvatarOrder userDigitalAvatarOrderQ = new UserDigitalAvatarOrder();
userDigitalAvatarOrderQ.setUserId(userId);
return userDigitalAvatarOrderMapper.selectCount(new QueryWrapper<>(userDigitalAvatarOrderQ));
}

}

+ 1
- 0
suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarPhotoServiceImpl.java View File

@@ -217,4 +217,5 @@ public class UserDigitalAvatarPhotoServiceImpl implements UserDigitalAvatarPhoto
redisLock.unlock(lockKey, timeStr);
}
}

}

+ 2
- 2
suimangService/src/main/resources/mapper/UserBasicPropertyMapper.xml View File

@@ -54,9 +54,9 @@
<update id="reduceDigitalAvatarGlod" parameterType="com.iformall.domain.po.UserBasicProperty">
update user_basic_property
set `update_date` = #{updateDate}
,`digital_avatar_residue_glod` = digital_avatar_residue_glod-#{reduceGlod}
,`digital_avatar_residue_glod` = digital_avatar_residue_glod+#{reduceGlod}
where id = #{id}
and digital_avatar_residue_glod &gt;= #{reduceGlod}
and digital_avatar_residue_glod+#{reduceGlod} &gt; 0
</update>

</mapper>

+ 6
- 1
suimangService/src/main/resources/mapper/UserDigitalAvatarOrderMapper.xml View File

@@ -5,6 +5,7 @@
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
<result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId" />
<result column="plat" jdbcType="INTEGER" property="plat"/>
<result column="order_id" jdbcType="BIGINT" property="orderId"/>
<result column="user_id" jdbcType="BIGINT" property="userId"/>
<result column="user_images" jdbcType="VARCHAR" property="userImages"/>
@@ -23,7 +24,7 @@
</resultMap>

<sql id="allColumns">
`id`, `tenant_id`, `parent_tenant_id`, `order_id`, `user_id`,
`id`, `tenant_id`, `parent_tenant_id`, `plat`, `order_id`, `user_id`,
`user_images`, `digital_avatar_id`, `digital_avatar_type`, `digital_avatar_sm`, `price`,
`title`, `remark`, `status`, `msg`, `create_date`, `update_date`
</sql>
@@ -35,6 +36,10 @@
and `id` = #{id}
</if>

<if test=" null != plat ">
and `plat` = #{plat}
</if>

<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>


Loading…
Cancel
Save