|
|
|
@@ -4,12 +4,20 @@ import com.alibaba.fastjson.JSON; |
|
|
|
import com.iformall.common.ErrorCode; |
|
|
|
import com.iformall.common.Result; |
|
|
|
import com.iformall.common.ResultData; |
|
|
|
import com.iformall.domain.po.WxFlowModel; |
|
|
|
import com.iformall.domain.po.WxMerchant; |
|
|
|
import com.iformall.domain.po.WxMerchantBUser; |
|
|
|
import com.iformall.domain.po.WxRentContract; |
|
|
|
import com.iformall.domain.vo.WxBillAll; |
|
|
|
import com.iformall.enums.EnumBillUpdateType; |
|
|
|
import com.iformall.enums.EnumContractOperationType; |
|
|
|
import com.iformall.enums.EnumFilterSettle; |
|
|
|
import com.iformall.enums.EnumFlowKey; |
|
|
|
import com.iformall.enums.EnumMerchantStatus; |
|
|
|
import com.iformall.enums.EnumRentShopType; |
|
|
|
import com.iformall.service.WxBillAllService; |
|
|
|
import com.iformall.service.WxBillSettleService; |
|
|
|
import com.iformall.service.WxFlowService; |
|
|
|
import com.iformall.service.WxMerchantService; |
|
|
|
import io.swagger.annotations.Api; |
|
|
|
import io.swagger.annotations.ApiImplicitParam; |
|
|
|
@@ -19,6 +27,9 @@ import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
@@ -38,6 +49,8 @@ public class WxBillController extends BaseController { |
|
|
|
WxMerchantService wxMerchantService; |
|
|
|
@Autowired |
|
|
|
WxBillSettleService wxBillSettleService; |
|
|
|
@Autowired |
|
|
|
private WxFlowService wxFlowService; |
|
|
|
|
|
|
|
// @ApiOperation("所有欠缴和待缴的数据") |
|
|
|
// @PostMapping("listBillOweAndWaitPay") |
|
|
|
@@ -63,7 +76,6 @@ public class WxBillController extends BaseController { |
|
|
|
@ApiOperation("账单") |
|
|
|
@PostMapping("listBill") |
|
|
|
public ResultData listBill(@RequestBody WxBillAll wxBillAll) { |
|
|
|
logger.info(">>>>>>>listBill>>>>"+JSON.toJSONString(wxBillAll)); |
|
|
|
if(StringUtils.isEmpty(wxBillAll.getTenantId())){ |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"tenantId不能为空"); |
|
|
|
} |
|
|
|
@@ -98,5 +110,56 @@ public class WxBillController extends BaseController { |
|
|
|
public ResultData findById(Long id) { |
|
|
|
return new ResultData(Result.SUCCESS, "查询成功", wxBillSettleService.getById(id, EnumFilterSettle.NO.getCode())); |
|
|
|
} |
|
|
|
|
|
|
|
@ApiOperation("完结账单") |
|
|
|
@PostMapping("finishBill") |
|
|
|
public ResultData finishBill(@RequestBody WxBillAll wxBillAll) { |
|
|
|
if(!billFinishHasWorkFlow(wxBillAll)) { |
|
|
|
return new ResultData(ErrorCode.FLOW_FAIL.getCode(),"商户账单完结审批不存在工作流,不能提交审批。"); |
|
|
|
} |
|
|
|
WxMerchantBUser buser = this.getLoginBUser(); |
|
|
|
|
|
|
|
Map<String,Object> map = new HashMap<String,Object>(); |
|
|
|
map.put("businessType", EnumFlowKey.BILL_FINISH.getCode()); |
|
|
|
//map.put("payMoney", wxBillAll.getNewPrice()); |
|
|
|
map.put("businessId", wxBillAll.getId()); |
|
|
|
map.put("payImg", wxBillAll.getPayImg()); |
|
|
|
List<Map> variablesList = new ArrayList<Map>(); |
|
|
|
Map billTypeMap = new HashMap<String,Object>(); |
|
|
|
billTypeMap.put("key","billType"); |
|
|
|
billTypeMap.put("value",wxBillAll.getBillTypeValue()); |
|
|
|
variablesList.add(billTypeMap); |
|
|
|
|
|
|
|
Map billUpdateTypeMap = new HashMap<String,Object>(); |
|
|
|
billUpdateTypeMap.put("key","billUpdateType"); |
|
|
|
billUpdateTypeMap.put("value",EnumBillUpdateType.OTHER.getCode()); |
|
|
|
variablesList.add(billUpdateTypeMap); |
|
|
|
|
|
|
|
Map oldPriceMap = new HashMap<String,Object>(); |
|
|
|
oldPriceMap.put("key","oldPrice"); |
|
|
|
oldPriceMap.put("value",wxBillAll.getOldPrice()); |
|
|
|
variablesList.add(oldPriceMap); |
|
|
|
|
|
|
|
Map newPriceMap = new HashMap<String,Object>(); |
|
|
|
newPriceMap.put("key","newPrice"); |
|
|
|
newPriceMap.put("value",wxBillAll.getNewPrice()); |
|
|
|
variablesList.add(newPriceMap); |
|
|
|
|
|
|
|
map.put("variables", variablesList); |
|
|
|
map.put("phone", buser.getPhone()); |
|
|
|
wxFlowService.start(map, buser.getId(), buser.getName(), this.getTenantInfo()); |
|
|
|
return new ResultData(); |
|
|
|
} |
|
|
|
|
|
|
|
private boolean billFinishHasWorkFlow(WxBillAll wxBillAll) { |
|
|
|
WxFlowModel wxFlowModel = new WxFlowModel(); |
|
|
|
wxFlowModel.setFlowType(EnumFlowKey.BILL_FINISH.getCode()); |
|
|
|
wxFlowModel.updateTenantInfo(this.getTenantInfo()); |
|
|
|
List<WxFlowModel> flows = wxFlowService.getModelBybusiness(wxFlowModel); |
|
|
|
if (null != flows && flows.size() > 0) { |
|
|
|
return true; |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
} |