Browse Source

//..

private_deployment
xhxu 1 year ago
parent
commit
8739364076
5 changed files with 39 additions and 22 deletions
  1. +12
    -2
      suimangCApi/src/main/java/com/iformall/controller/CallbackPayController.java
  2. +5
    -4
      suimangCApi/src/main/java/com/iformall/controller/CallbackSmController.java
  3. +2
    -2
      suimangService/src/main/java/com/iformall/service/sm/UserDigitalAvatarPhotoService.java
  4. +5
    -3
      suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarOrderServiceImpl.java
  5. +15
    -11
      suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarPhotoServiceImpl.java

+ 12
- 2
suimangCApi/src/main/java/com/iformall/controller/CallbackPayController.java View File

@@ -98,13 +98,23 @@ public class CallbackPayController extends BaseController {


Map<String, Object> pMap = JSONObject.parseObject(msg, Map.class); Map<String, Object> pMap = JSONObject.parseObject(msg, Map.class);
String appid = (String) pMap.get("app_id"); String appid = (String) pMap.get("app_id");
WxAppinfo appInfo = wxAppinfoService.getOnlyByAppIdFromRedis(appid);
WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(appInfo.getPayId());
if("payment".equals(type)){ if("payment".equals(type)){
String out_order_no = (String)pMap.get("cp_orderno"); String out_order_no = (String)pMap.get("cp_orderno");
//todo 处理订单支付状态


ProductOrder productOrder = productOrderService.getById(Long.parseLong(out_order_no));

PayAdapterService payAdapterService = payServiceFactory.getPayAdapterService(productOrder.getPayVendor());
productOrderService.handleProductOrderByQuery(appInfo,payAccount,productOrder,payAdapterService);

resultMap.put("err_no",0);
resultMap.put("err_tips","success");
} }
}catch(Exception e){ }catch(Exception e){

logger.error("抖音支付回调处理异常"+e);
resultMap.put("err_no",ErrorCode.SYS_SERVER_ERROR.getCode());
resultMap.put("err_tips","抖音支付回调处理异常");
} }
return resultMap; return resultMap;
} }


+ 5
- 4
suimangCApi/src/main/java/com/iformall/controller/CallbackSmController.java View File

@@ -188,9 +188,10 @@ public class CallbackSmController extends BaseController {
imgList.add(data.get("img_1")); imgList.add(data.get("img_1"));
imgList.add(data.get("img_2")); imgList.add(data.get("img_2"));
imgList.add(data.get("img_3")); imgList.add(data.get("img_3"));
userDigitalAvatarPhotoService.handlePhoto(userDigitalAvatarOrder,imgList);

userDigitalAvatarOrderService.sendPhotoSuccess(userDigitalAvatarOrder);
boolean flag = userDigitalAvatarPhotoService.handlePhoto(userDigitalAvatarOrder, imgList);
if(flag){
userDigitalAvatarOrderService.sendPhotoSuccess(userDigitalAvatarOrder);
}
}else{ }else{
UserDigitalAvatarOrder updOrder = new UserDigitalAvatarOrder(); UserDigitalAvatarOrder updOrder = new UserDigitalAvatarOrder();
updOrder.setId(userDigitalAvatarOrder.getId()); updOrder.setId(userDigitalAvatarOrder.getId());
@@ -232,7 +233,7 @@ public class CallbackSmController extends BaseController {
if("3000".equals(code)){ if("3000".equals(code)){
Map<String,String> data = (Map) paranMap.get("data"); Map<String,String> data = (Map) paranMap.get("data");
String img = data.get("img"); String img = data.get("img");
userDigitalAvatarPhotoService.handleSuperPhoto(userDigitalAvatarPhoto,img);
boolean flag = userDigitalAvatarPhotoService.handleSuperPhoto(userDigitalAvatarPhoto, img);
}else{ }else{
UserDigitalAvatarPhoto updPhoto = new UserDigitalAvatarPhoto(); UserDigitalAvatarPhoto updPhoto = new UserDigitalAvatarPhoto();
updPhoto.setId(userDigitalAvatarPhoto.getId()); updPhoto.setId(userDigitalAvatarPhoto.getId());


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

@@ -17,9 +17,9 @@ public interface UserDigitalAvatarPhotoService {


void superPhoto(UserDigitalAvatarPhoto record); void superPhoto(UserDigitalAvatarPhoto record);


void handleSuperPhoto(UserDigitalAvatarPhoto record, String img);
boolean handleSuperPhoto(UserDigitalAvatarPhoto record, String img);


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


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

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

@@ -290,9 +290,11 @@ public class UserDigitalAvatarOrderServiceImpl implements UserDigitalAvatarOrder


DigitalAvatarResult result = AiDigitalAvatarHelper.digitalAvatarPhoto(param,record.getId()); DigitalAvatarResult result = AiDigitalAvatarHelper.digitalAvatarPhoto(param,record.getId());
if(result.isSuccess()){ if(result.isSuccess()){
userDigitalAvatarPhotoService.handlePhoto(record,result.getImgList());

this.sendPhotoSuccess(record);
boolean flag = userDigitalAvatarPhotoService.handlePhoto(record, result.getImgList());
if(flag){
this.sendPhotoSuccess(record);
}
return;
}else{ }else{
updOrder.setStatus(EnumDigitalAvatarOrderStatus.fail.getCode()); updOrder.setStatus(EnumDigitalAvatarOrderStatus.fail.getCode());
updOrder.setMsg(result.getMsg()); updOrder.setMsg(result.getMsg());


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

@@ -128,21 +128,22 @@ public class UserDigitalAvatarPhotoServiceImpl implements UserDigitalAvatarPhoto
} }


@Override @Override
public void handleSuperPhoto(UserDigitalAvatarPhoto record, String img) {
public boolean handleSuperPhoto(UserDigitalAvatarPhoto record, String img) {
String lockKey = "digitalAvatar:superPhoto:"+record.getId(); String lockKey = "digitalAvatar:superPhoto:"+record.getId();
long time = System.currentTimeMillis() + 10000; long time = System.currentTimeMillis() + 10000;
String timeStr = String.valueOf(time); String timeStr = String.valueOf(time);
try{ try{
if(!redisLock.lock2(lockKey, timeStr)){ if(!redisLock.lock2(lockKey, timeStr)){
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"请稍后重试");
return false;
// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"请稍后重试");
} }
UserDigitalAvatarPhoto userDigitalAvatarPhoto = userDigitalAvatarPhotoMapper.selectById(record.getId()); UserDigitalAvatarPhoto userDigitalAvatarPhoto = userDigitalAvatarPhotoMapper.selectById(record.getId());
if(EnumDigitalAvatarPhotoStatus.finish.getCode().equals(userDigitalAvatarPhoto.getStatus())){ if(EnumDigitalAvatarPhotoStatus.finish.getCode().equals(userDigitalAvatarPhoto.getStatus())){
return;
return false;
} }


InputStream inputStream = Base64Util.base2InputStream(img); InputStream inputStream = Base64Util.base2InputStream(img);
String img_url = aliyunOSS.upload(record.getTenantId(), ".jpg", inputStream);
String img_url = aliyunOSS.upload(userDigitalAvatarPhoto.getTenantId(), ".jpg", inputStream);


UserDigitalAvatarPhoto updPhoto = new UserDigitalAvatarPhoto(); UserDigitalAvatarPhoto updPhoto = new UserDigitalAvatarPhoto();
updPhoto.setId(userDigitalAvatarPhoto.getId()); updPhoto.setId(userDigitalAvatarPhoto.getId());
@@ -158,6 +159,7 @@ public class UserDigitalAvatarPhotoServiceImpl implements UserDigitalAvatarPhoto
}finally { }finally {
redisLock.unlock(lockKey, timeStr); redisLock.unlock(lockKey, timeStr);
} }
return true;


} }


@@ -168,23 +170,24 @@ public class UserDigitalAvatarPhotoServiceImpl implements UserDigitalAvatarPhoto


@Override @Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public void handlePhoto(UserDigitalAvatarOrder record,List<String> imgList){
public boolean handlePhoto(UserDigitalAvatarOrder record,List<String> imgList){
String lockKey = "digitalAvatar:handlePhoto:"+record.getId(); String lockKey = "digitalAvatar:handlePhoto:"+record.getId();
long time = System.currentTimeMillis() + 30000; long time = System.currentTimeMillis() + 30000;
String timeStr = String.valueOf(time); String timeStr = String.valueOf(time);


try{ try{
if (!redisLock.lock2(lockKey, timeStr)){ if (!redisLock.lock2(lockKey, timeStr)){
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"请稍后重试");
return false;
// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"请稍后重试");
} }
UserDigitalAvatarOrder userDigitalAvatarOrder = userDigitalAvatarOrderMapper.selectById(record.getId()); UserDigitalAvatarOrder userDigitalAvatarOrder = userDigitalAvatarOrderMapper.selectById(record.getId());
if(EnumDigitalAvatarOrderStatus.finish.getCode().equals(userDigitalAvatarOrder.getStatus())){ if(EnumDigitalAvatarOrderStatus.finish.getCode().equals(userDigitalAvatarOrder.getStatus())){
return;
return false;
} }


Date now = new Date(); Date now = new Date();
UserDigitalAvatarOrder updOrder = new UserDigitalAvatarOrder(); UserDigitalAvatarOrder updOrder = new UserDigitalAvatarOrder();
updOrder.setId(record.getId());
updOrder.setId(userDigitalAvatarOrder.getId());
updOrder.setStatus(EnumDigitalAvatarOrderStatus.finish.getCode()); updOrder.setStatus(EnumDigitalAvatarOrderStatus.finish.getCode());
updOrder.setMsg("success"); updOrder.setMsg("success");
updOrder.setUpdateDate(now); updOrder.setUpdateDate(now);
@@ -194,12 +197,12 @@ public class UserDigitalAvatarPhotoServiceImpl implements UserDigitalAvatarPhoto
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
for (String img: imgList) { for (String img: imgList) {
InputStream inputStream = Base64Util.base2InputStream(img); InputStream inputStream = Base64Util.base2InputStream(img);
String img_url = aliyunOSS.upload(record.getTenantId(), ".jpg", inputStream);
String img_url = aliyunOSS.upload(userDigitalAvatarOrder.getTenantId(), ".jpg", inputStream);


UserDigitalAvatarPhoto userDigitalAvatarPhoto = new UserDigitalAvatarPhoto(); UserDigitalAvatarPhoto userDigitalAvatarPhoto = new UserDigitalAvatarPhoto();
userDigitalAvatarPhoto.setId(idWorker.nextId()); userDigitalAvatarPhoto.setId(idWorker.nextId());
userDigitalAvatarPhoto.setOrderId(record.getId());
userDigitalAvatarPhoto.setUserId(record.getUserId());
userDigitalAvatarPhoto.setOrderId(userDigitalAvatarOrder.getId());
userDigitalAvatarPhoto.setUserId(userDigitalAvatarOrder.getUserId());
userDigitalAvatarPhoto.setImage(img_url); userDigitalAvatarPhoto.setImage(img_url);
userDigitalAvatarPhoto.setStatus(EnumDigitalAvatarPhotoStatus.def.getCode()); userDigitalAvatarPhoto.setStatus(EnumDigitalAvatarPhotoStatus.def.getCode());
userDigitalAvatarPhoto.setCreateDate(now); userDigitalAvatarPhoto.setCreateDate(now);
@@ -216,6 +219,7 @@ public class UserDigitalAvatarPhotoServiceImpl implements UserDigitalAvatarPhoto
}finally { }finally {
redisLock.unlock(lockKey, timeStr); redisLock.unlock(lockKey, timeStr);
} }
return true;
} }


} }

Loading…
Cancel
Save