|
|
@@ -32,10 +32,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @Description: 付款明细表
|
|
|
@@ -46,8 +43,8 @@ import java.util.Map;
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMapper, HlwPaymentDetail> implements IHlwPaymentDetailService {
|
|
|
- @Autowired
|
|
|
- private IHlwUserService hlwUserService;
|
|
|
+ @Autowired
|
|
|
+ private IHlwUserService hlwUserService;
|
|
|
@Autowired
|
|
|
private IHlwCompanyService hlwCompanyService;
|
|
|
@Autowired
|
|
|
@@ -124,6 +121,7 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
|
|
|
/**
|
|
|
* 导入
|
|
|
+ *
|
|
|
* @param jsonObject
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -132,21 +130,21 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
public Result<?> saveInfo(JSONObject jsonObject) {
|
|
|
Result<List<Map<String, Object>>> result = new Result<List<Map<String, Object>>>();
|
|
|
//cpType 1:服务商 2:开心
|
|
|
- Integer cpType=jsonObject.getInteger("cpType");
|
|
|
+ Integer cpType = jsonObject.getInteger("cpType");
|
|
|
//cpType=2为通过平台这时subcontractorId为cpid
|
|
|
- Integer subcontractorId=jsonObject.getInteger("subcontractorId");
|
|
|
- Integer applicationId=jsonObject.getInteger("applicationId");
|
|
|
+ Integer subcontractorId = jsonObject.getInteger("subcontractorId");
|
|
|
+ Integer applicationId = jsonObject.getInteger("applicationId");
|
|
|
//是否已存在订单 true代表开心灵工,走开心灵工导入模式
|
|
|
- Boolean existOrder=jsonObject.getBoolean("existOrder");
|
|
|
- HlwCompany hlwCompany=hlwCompanyService.getByCompanyCode(jsonObject.getString("companyCode"));
|
|
|
- List<Map<String, Object>> list= (List<Map<String, Object>>) jsonObject.get("userList");
|
|
|
- log.info("444444444444444==="+list);
|
|
|
- HlwRequirement hlwRequirement=new HlwRequirement();
|
|
|
+ Boolean existOrder = jsonObject.getBoolean("existOrder");
|
|
|
+ HlwCompany hlwCompany = hlwCompanyService.getByCompanyCode(jsonObject.getString("companyCode"));
|
|
|
+ List<Map<String, Object>> list = (List<Map<String, Object>>) jsonObject.get("userList");
|
|
|
+ log.info("444444444444444===" + list);
|
|
|
+ HlwRequirement hlwRequirement = new HlwRequirement();
|
|
|
//开心灵工模式,不创建用户需求订单,不判断60天
|
|
|
- if(!existOrder){
|
|
|
+ if (!existOrder) {
|
|
|
//判断60内是否存在相同笔数和金额的付款
|
|
|
- Double sumMoney=jsonObject.getDouble("sumMoney");
|
|
|
- int paymentSize=jsonObject.getInteger("paymentSize");
|
|
|
+ Double sumMoney = jsonObject.getDouble("sumMoney");
|
|
|
+ int paymentSize = jsonObject.getInteger("paymentSize");
|
|
|
//查询60天内所有付款
|
|
|
List<HlwPayment> hlwPaymentList = hlwPaymentService.findHlwPaymentList();
|
|
|
//遍历查询是否60内存在相同笔数和金额的付款
|
|
|
@@ -157,9 +155,9 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
if (hlgPaymentDetailList1.size() == paymentSize) {
|
|
|
Double money1 = 0.00;
|
|
|
for (int j = 0; j < hlgPaymentDetailList1.size(); j++) {
|
|
|
- if(hlgPaymentDetailList1.get(j).getPaymentType()==1){
|
|
|
+ if (hlgPaymentDetailList1.get(j).getPaymentType() == 1) {
|
|
|
money1 = businessAccountUtils.add(money1, hlgPaymentDetailList1.get(j).getNetPayment());
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
money1 = businessAccountUtils.add(money1, hlgPaymentDetailList1.get(j).getPayment());
|
|
|
}
|
|
|
}
|
|
|
@@ -169,16 +167,16 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
if (data1.compareTo(data2) == 0) {
|
|
|
result.setMessage("60天内已存在相同笔数相同金额的付款");
|
|
|
break;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
result.setMessage("导入成功");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- log.info("2222222222222233333332==="+jsonObject);
|
|
|
+ log.info("2222222222222233333332===" + jsonObject);
|
|
|
//保存用户
|
|
|
- for (int i = 0; i <list.size() ; i++) {
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
HlwUser hlwUser = new HlwUser();
|
|
|
Map<String, Object> parameters = list.get(i);
|
|
|
hlwUser.setUserId((Integer) parameters.get("id"));
|
|
|
@@ -190,56 +188,56 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
log.info("userCode========={}", userCode);
|
|
|
hlwUser.setUserCode(userCode);
|
|
|
hlwUser.setApplicationId(applicationId);
|
|
|
- parameters.put("userId",(Integer) parameters.get("id"));
|
|
|
- parameters.put("userCode",userCode);
|
|
|
- parameters.put("applicationId",applicationId);
|
|
|
+ parameters.put("userId", (Integer) parameters.get("id"));
|
|
|
+ parameters.put("userCode", userCode);
|
|
|
+ parameters.put("applicationId", applicationId);
|
|
|
hlwUser.setCreateBy(jsonObject.getString("loginUserName"));
|
|
|
hlwUser.setUpdateBy(jsonObject.getString("loginUserName"));
|
|
|
hlwUserService.save(hlwUser);
|
|
|
}
|
|
|
//保存需求
|
|
|
hlwRequirement.setApplicationId(applicationId);
|
|
|
- if(cpType==1){
|
|
|
+ if (cpType == 1) {
|
|
|
hlwRequirement.setSubcontractorId(subcontractorId);
|
|
|
- }else if(cpType==2){
|
|
|
+ } else if (cpType == 2) {
|
|
|
hlwRequirement.setCpId(subcontractorId);
|
|
|
}
|
|
|
hlwRequirement.setCompanyId(hlwCompany.getId());
|
|
|
hlwRequirementService.save(hlwRequirement);
|
|
|
}
|
|
|
//是否提示设置付款类型
|
|
|
- if(hlwCompany.getPaymentType()==null){
|
|
|
+ if (hlwCompany.getPaymentType() == null) {
|
|
|
return Result.error("请先配置支付类型");
|
|
|
}
|
|
|
|
|
|
//保存付款
|
|
|
- HlwPayment hlwPayment=new HlwPayment();
|
|
|
+ HlwPayment hlwPayment = new HlwPayment();
|
|
|
hlwPayment.setApplicationId(applicationId);
|
|
|
hlwPayment.setCompanyId(hlwCompany.getId());
|
|
|
|
|
|
- String code = "FK" + System.currentTimeMillis() +hlwCompany.getId() ;
|
|
|
+ String code = "FK" + System.currentTimeMillis() + hlwCompany.getId();
|
|
|
hlwPayment.setPaymentCode(code);
|
|
|
- List<Map<String, Object>> paymentList= (List<Map<String, Object>>) jsonObject.get("paymentList");
|
|
|
+ List<Map<String, Object>> paymentList = (List<Map<String, Object>>) jsonObject.get("paymentList");
|
|
|
Double payment = 0.00;
|
|
|
for (int i = 0; i < paymentList.size(); i++) {
|
|
|
payment = businessAccountUtils.add(payment, Double.parseDouble((String) paymentList.get(i).get("payment")));
|
|
|
}
|
|
|
hlwPayment.setPayment(payment);
|
|
|
- Double serviceFee=0.00;
|
|
|
- Double serviceRate=jsonObject.getDouble("serviceRate");
|
|
|
- if(cpType==1){
|
|
|
+ Double serviceFee = 0.00;
|
|
|
+ Double serviceRate = jsonObject.getDouble("serviceRate");
|
|
|
+ if (cpType == 1) {
|
|
|
hlwPayment.setSubcontractorId(subcontractorId);
|
|
|
- }else{
|
|
|
- Integer cpSubcontractorId=jsonObject.getInteger("cpSubcontractorId");
|
|
|
- if(cpSubcontractorId!=null){
|
|
|
- hlwPayment.setSubcontractorId(cpSubcontractorId);
|
|
|
+ } else {
|
|
|
+ Integer cpSubcontractorId = jsonObject.getInteger("cpSubcontractorId");
|
|
|
+ if (cpSubcontractorId != null) {
|
|
|
+ hlwPayment.setSubcontractorId(cpSubcontractorId);
|
|
|
}
|
|
|
}
|
|
|
- serviceFee=businessAccountUtils.mul(serviceRate*0.01,payment);
|
|
|
+ serviceFee = businessAccountUtils.mul(serviceRate * 0.01, payment);
|
|
|
hlwPayment.setServiceRate(serviceRate);
|
|
|
hlwPayment.setServiceFee(serviceFee);
|
|
|
- hlwPayment.setTotalPayment(businessAccountUtils.add(payment,serviceFee));
|
|
|
- Integer isThroughPlatform=cpType==1?0:1;
|
|
|
+ hlwPayment.setTotalPayment(businessAccountUtils.add(payment, serviceFee));
|
|
|
+ Integer isThroughPlatform = cpType == 1 ? 0 : 1;
|
|
|
hlwPayment.setIsThroughPlatform(isThroughPlatform);
|
|
|
hlwPayment.setStatus(1);
|
|
|
hlwPayment.setCreateBy(jsonObject.getString("loginUserName"));
|
|
|
@@ -248,8 +246,8 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
|
|
|
//保存付款明细
|
|
|
for (int i = 0; i < paymentList.size(); i++) {
|
|
|
- HlwOrder hlwOrder=new HlwOrder();
|
|
|
- if(!existOrder){
|
|
|
+ HlwOrder hlwOrder = new HlwOrder();
|
|
|
+ if (!existOrder) {
|
|
|
//保存订单
|
|
|
|
|
|
hlwOrder.setRequirementId(hlwRequirement.getId());
|
|
|
@@ -257,8 +255,8 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
hlwOrder.setCreateBy(jsonObject.getString("loginUserName"));
|
|
|
hlwOrder.setUpdateBy(jsonObject.getString("loginUserName"));
|
|
|
hlwOrderService.save(hlwOrder);
|
|
|
- }else{
|
|
|
- hlwOrder=hlwOrderService.getByOrderCode((String)paymentList.get(i).get("orderId"));
|
|
|
+ } else {
|
|
|
+ hlwOrder = hlwOrderService.getByOrderCode((String) paymentList.get(i).get("orderId"));
|
|
|
}
|
|
|
HlwPaymentDetail hlwPaymentDetail = new HlwPaymentDetail();
|
|
|
hlwPaymentDetail.setOrderId(hlwOrder.getId());
|
|
|
@@ -270,9 +268,9 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
hlwPaymentDetail.setBnkflg((String) paymentList.get(i).get("bnkflg"));
|
|
|
hlwPaymentDetail.setEacbnk((String) paymentList.get(i).get("eacbnk"));
|
|
|
hlwPaymentDetail.setRcveaa((String) paymentList.get(i).get("rcveaa"));
|
|
|
- if(hlwCompany.getPaymentType()==1){
|
|
|
+ if (hlwCompany.getPaymentType() == 1) {
|
|
|
hlwPaymentDetail.setNetPayment(Double.parseDouble((String) paymentList.get(i).get("payment")));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
hlwPaymentDetail.setPayment(Double.parseDouble((String) paymentList.get(i).get("payment")));
|
|
|
}
|
|
|
hlwPaymentDetail.setPaymentType(hlwCompany.getPaymentType());
|
|
|
@@ -283,10 +281,10 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
hlwPaymentDetail.setUpdateBy(jsonObject.getString("loginUserName"));
|
|
|
save(hlwPaymentDetail);
|
|
|
}
|
|
|
- if(!existOrder){
|
|
|
+ if (!existOrder) {
|
|
|
result.setResult(list);
|
|
|
result.setSuccess(true);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
result.success("导入成功");
|
|
|
}
|
|
|
return result;
|
|
|
@@ -294,6 +292,7 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
|
|
|
/**
|
|
|
* 付款申请-详情列表(不分页)
|
|
|
+ *
|
|
|
* @param hlwPaymentDetail
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -324,4 +323,25 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
public Double yearPayment() {
|
|
|
return baseMapper.yearPayment();
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 退单处理
|
|
|
+ *
|
|
|
+ * @param ids
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Result<?> chargeBack(String ids) {
|
|
|
+ List<String> list = Arrays.asList(ids.split(","));
|
|
|
+ for (String id : list) {
|
|
|
+ HlwPaymentDetail hlwPaymentDetail = this.getById(id);
|
|
|
+ if (!hlwPaymentDetail.getStatus().equals(3)) {
|
|
|
+ return Result.error("有付款明细不满足退单条件!");
|
|
|
+ }
|
|
|
+ hlwPaymentDetail.setStatus(4);
|
|
|
+ hlwPaymentDetail.setFailureReason("退单");
|
|
|
+ this.updateById(hlwPaymentDetail);
|
|
|
+ }
|
|
|
+ return Result.ok("退单成功");
|
|
|
+ }
|
|
|
}
|