19 changed files with 291 additions and 41 deletions
@ -0,0 +1,113 @@ |
|||
package cn.chjyj.szwh.service.impl; |
|||
|
|||
import cn.chjyj.szwh.bean.Order; |
|||
import cn.chjyj.szwh.bean.OrderGoodsDetail; |
|||
import cn.chjyj.szwh.bean.OrderUser; |
|||
import cn.chjyj.szwh.mapper.OrderGoodsDetailMapper; |
|||
import cn.chjyj.szwh.mapper.OrderMapper; |
|||
import cn.chjyj.szwh.mapper.OrderUserMapper; |
|||
import cn.chjyj.szwh.service.PayService; |
|||
import cn.chjyj.szwh.utils.SzwhApiUtils; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.text.SimpleDateFormat; |
|||
import java.util.*; |
|||
|
|||
@Service |
|||
@Transactional |
|||
public class PayServiceImpl implements PayService { |
|||
@Autowired |
|||
private OrderMapper orderMapper; |
|||
@Autowired |
|||
private OrderUserMapper orderUserMapper; |
|||
@Autowired |
|||
private OrderGoodsDetailMapper orderGoodsDetailMapper; |
|||
|
|||
/** |
|||
* 关闭七日以前的已经支付了的订单 |
|||
* @return |
|||
*/ |
|||
@Override |
|||
public void payComplete() { |
|||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|||
String nowStr = sdf.format(sdf)+" 23:59:59"; |
|||
List<Order> orderList=orderMapper.getOrderListUnderDate(nowStr,"2"); |
|||
for(Order od:orderList){ |
|||
// 更新订单完成状态
|
|||
payFinishOperate(od.getBatchcode()); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public int payFinishOperate(String batchcode) { |
|||
//获取订单信息
|
|||
Order order = orderMapper.getOrderByBatchcode(batchcode); |
|||
if(order==null){ |
|||
return 0; |
|||
} |
|||
if(order.getPayStatus()!=2){ |
|||
// do nothing
|
|||
} |
|||
Integer status = order.getStatus(); |
|||
Integer closeStatus= order.getCloseStatus(); |
|||
Integer type =order.getType(); |
|||
String buyIslicode = order.getBuyIslicode(); |
|||
//购买用户
|
|||
OrderUser oduser = orderUserMapper.getUserOrder(batchcode,buyIslicode); |
|||
String buyName = oduser.getName(); |
|||
Date paytime = order.getPaymenttime(); |
|||
// 同步到其他平台
|
|||
List syncList =new ArrayList<>(); |
|||
Calendar cal= Calendar.getInstance(); |
|||
|
|||
// 分配比例设置及详情
|
|||
|
|||
|
|||
//订单商品详情
|
|||
List<OrderGoodsDetail> orderGoodsDetailList = orderGoodsDetailMapper.getOrderGoodsDetailByBatchCode(batchcode); |
|||
for(OrderGoodsDetail odgd:orderGoodsDetailList){ |
|||
Map odmap = new HashMap(); |
|||
String dateStr="";//订单年限
|
|||
int transCount=1;//
|
|||
if(odgd.getGoodsEntrust()==1 || odgd.getChargesType()==1){ |
|||
dateStr="永久"; |
|||
transCount=1; |
|||
}else { |
|||
int years = odgd.getTransactionCount(); |
|||
cal.setTime(new Date()); |
|||
cal.add(Calendar.YEAR,+years); |
|||
dateStr=cal.getTime().toString(); |
|||
transCount=odgd.getTransactionCount(); |
|||
} |
|||
//
|
|||
// if(odgd.getMoney().compareTo(new BigDecimal(0))>0 &&status!=2){
|
|||
// return odgd;
|
|||
// }
|
|||
//合约关联编码(订单交易isli标识码)
|
|||
String contractcode=""; |
|||
if(StringUtils.isEmpty(odgd.getContractCode())){ |
|||
// $ratio_setting = AccountRatioSetting::where('is_deleted', 0)->where('status', 1)->find();
|
|||
// $entrust_ratio_detail = AccountRatioDetail::where('setting_id', $ratio_setting->id)->where('role_type', 1)->find();
|
|||
// $ratio = 0;
|
|||
// $entrust_number = 0;
|
|||
// if($entrust_ratio_detail['calculate'] == 1){
|
|||
// $entrust_number = $entrust_ratio_detail['ratio'];
|
|||
// }else{
|
|||
// $entrust_number = $entrust_ratio_detail['amount'];
|
|||
// }
|
|||
// $ratio = round(1 - ($entrust_number / 100), 4);
|
|||
String ratio="0.00"; |
|||
// 远程获取查询对应的 islicode
|
|||
SzwhApiUtils.getApplyLinkCode(odgd.getGoodsIslicode(),buyIslicode,ratio,transCount,dateStr,batchcode); |
|||
}else{ |
|||
contractcode = odgd.getContractCode(); |
|||
} |
|||
|
|||
} |
|||
return 0; |
|||
} |
|||
} |
|||
Loading…
Reference in new issue