java110 лет назад: 3
Родитель
Сommit
bfafb2c107

+ 65 - 40
java110-bean/src/main/java/com/java110/po/communitySpacePerson/CommunitySpacePersonPo.java

@@ -16,7 +16,7 @@
 package com.java110.po.communitySpacePerson;
 
 import java.io.Serializable;
-import java.util.Date;
+
 /**
  * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
  * add by 吴学文 at 2022-09-30 11:36:52 mail: 928255095@qq.com
@@ -28,97 +28,122 @@ import java.util.Date;
 public class CommunitySpacePersonPo implements Serializable {
 
     private String receivableAmount;
-private String payWay;
-private String remark;
-private String statusCd = "0";
-private String receivedAmount;
-private String personName;
-private String spaceId;
-private String cspId;
-private String appointmentTime;
-private String personId;
-private String state;
-private String personTel;
-private String communityId;
-public String getReceivableAmount() {
+    private String payWay;
+    private String remark;
+    private String statusCd = "0";
+    private String receivedAmount;
+    private String personName;
+    private String spaceId;
+    private String cspId;
+    private String appointmentTime;
+    private String personId;
+    private String state;
+    private String personTel;
+    private String communityId;
+
+    public String getReceivableAmount() {
         return receivableAmount;
     }
-public void setReceivableAmount(String receivableAmount) {
+
+    public void setReceivableAmount(String receivableAmount) {
         this.receivableAmount = receivableAmount;
     }
-public String getPayWay() {
+
+    public String getPayWay() {
         return payWay;
     }
-public void setPayWay(String payWay) {
+
+    public void setPayWay(String payWay) {
         this.payWay = payWay;
     }
-public String getRemark() {
+
+    public String getRemark() {
         return remark;
     }
-public void setRemark(String remark) {
+
+    public void setRemark(String remark) {
         this.remark = remark;
     }
-public String getStatusCd() {
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getReceivedAmount() {
+
+    public String getReceivedAmount() {
         return receivedAmount;
     }
-public void setReceivedAmount(String receivedAmount) {
+
+    public void setReceivedAmount(String receivedAmount) {
         this.receivedAmount = receivedAmount;
     }
-public String getPersonName() {
+
+    public String getPersonName() {
         return personName;
     }
-public void setPersonName(String personName) {
+
+    public void setPersonName(String personName) {
         this.personName = personName;
     }
-public String getSpaceId() {
+
+    public String getSpaceId() {
         return spaceId;
     }
-public void setSpaceId(String spaceId) {
+
+    public void setSpaceId(String spaceId) {
         this.spaceId = spaceId;
     }
-public String getCspId() {
+
+    public String getCspId() {
         return cspId;
     }
-public void setCspId(String cspId) {
+
+    public void setCspId(String cspId) {
         this.cspId = cspId;
     }
-public String getAppointmentTime() {
+
+    public String getAppointmentTime() {
         return appointmentTime;
     }
-public void setAppointmentTime(String appointmentTime) {
+
+    public void setAppointmentTime(String appointmentTime) {
         this.appointmentTime = appointmentTime;
     }
-public String getPersonId() {
+
+    public String getPersonId() {
         return personId;
     }
-public void setPersonId(String personId) {
+
+    public void setPersonId(String personId) {
         this.personId = personId;
     }
-public String getState() {
+
+    public String getState() {
         return state;
     }
-public void setState(String state) {
+
+    public void setState(String state) {
         this.state = state;
     }
-public String getPersonTel() {
+
+    public String getPersonTel() {
         return personTel;
     }
-public void setPersonTel(String personTel) {
+
+    public void setPersonTel(String personTel) {
         this.personTel = personTel;
     }
-public String getCommunityId() {
+
+    public String getCommunityId() {
         return communityId;
     }
-public void setCommunityId(String communityId) {
+
+    public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
 
 
-
 }

+ 69 - 52
service-acct/src/main/java/com/java110/acct/payment/business/venue/VenueReservationPaymentBusiness.java

@@ -7,7 +7,6 @@ import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.communitySpace.CommunitySpaceDto;
 import com.java110.dto.communitySpacePerson.CommunitySpacePersonDto;
-import com.java110.dto.communitySpacePersonTime.CommunitySpacePersonTimeDto;
 import com.java110.dto.payment.PaymentOrderDto;
 import com.java110.intf.community.ICommunitySpacePersonTimeV1InnerServiceSMO;
 import com.java110.intf.community.ICommunitySpacePersonV1InnerServiceSMO;
@@ -18,7 +17,6 @@ import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.StringUtil;
-import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -29,7 +27,7 @@ import java.util.List;
  * 场地预约
  */
 @Service("venueReservation")
-public class VenueReservationPaymentBusiness implements IPaymentBusiness{
+public class VenueReservationPaymentBusiness implements IPaymentBusiness {
 
     @Autowired
     private ICommunitySpaceV1InnerServiceSMO communitySpaceV1InnerServiceSMOImpl;
@@ -43,86 +41,105 @@ public class VenueReservationPaymentBusiness implements IPaymentBusiness{
     @Autowired
     private ICommunitySpacePersonTimeV1InnerServiceSMO communitySpacePersonTimeV1InnerServiceSMOImpl;
 
+    /**
+     *
+     * @param context
+     * @param reqJson{
+     *          personName:"",
+     *          personTel:"",
+     *          appointmentTime:"",
+     *          payWay:"",
+     *          communityId:"",
+     *          spaces:[{spaceId:'123',openTimes:[{hours:1},{hours:2}]}]
+     * }
+     * @return
+     */
     @Override
-    public PaymentOrderDto unified(ICmdDataFlowContext context,JSONObject reqJson) {
+    public PaymentOrderDto unified(ICmdDataFlowContext context, JSONObject reqJson) {
 
-        Assert.hasKeyAndValue(reqJson, "spaceId", "请求报文中未包含spaceId");
+        //Assert.hasKeyAndValue(reqJson, "spaceId", "请求报文中未包含spaceId");
         Assert.hasKeyAndValue(reqJson, "personName", "请求报文中未包含personName");
         Assert.hasKeyAndValue(reqJson, "personTel", "请求报文中未包含personTel");
         Assert.hasKeyAndValue(reqJson, "appointmentTime", "请求报文中未包含appointmentTime");
-        Assert.hasKeyAndValue(reqJson, "receivableAmount", "请求报文中未包含receivableAmount");
-        Assert.hasKeyAndValue(reqJson, "receivedAmount", "请求报文中未包含receivedAmount");
         Assert.hasKeyAndValue(reqJson, "payWay", "请求报文中未包含payWay");
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
 
-        if(!reqJson.containsKey("openTimes")){
-            throw new IllegalArgumentException("未包含 预约时间") ;
+        if (!reqJson.containsKey("spaces")) {
+            throw new IllegalArgumentException("未包含 场地");
         }
 
-        JSONArray openTimes = reqJson.getJSONArray("openTimes");
+        JSONArray spaces = reqJson.getJSONArray("spaces");
 
-        if(openTimes == null || openTimes.size() <1){
-            throw new IllegalArgumentException("未包含 预约时间") ;
-        }
+        JSONArray openTimes = null;
+        BigDecimal money = new BigDecimal(0);
+        for (int spaceIndex = 0; spaceIndex < spaces.size(); spaceIndex++) {
+            openTimes = spaces.getJSONObject(spaceIndex).getJSONArray("openTimes");
+
+            if (openTimes == null || openTimes.size() < 1) {
+                throw new IllegalArgumentException("未包含 预约时间");
+            }
 
-        CommunitySpaceDto communitySpaceDto = new CommunitySpaceDto();
-        List<CommunitySpaceDto> communitySpaceDtos = communitySpaceV1InnerServiceSMOImpl.queryCommunitySpaces(communitySpaceDto);
+            CommunitySpaceDto communitySpaceDto = new CommunitySpaceDto();
+            communitySpaceDto.setSpaceId(spaces.getJSONObject(spaceIndex).getString("spaceId"));
+            List<CommunitySpaceDto> communitySpaceDtos = communitySpaceV1InnerServiceSMOImpl.queryCommunitySpaces(communitySpaceDto);
 
-        Assert.listOnlyOne(communitySpaceDtos,"场地不存在");
+            Assert.listOnlyOne(communitySpaceDtos, "场地不存在" + communitySpaceDto.getSpaceId());
 
-        int openTime = 0;
+            int openTime = 0;
 
-        for(int timeIndex = 0 ;timeIndex < openTimes.size(); timeIndex++) {
-            if("N".equals(openTimes.getJSONObject(timeIndex).getString("isOpen"))){
-                continue;
+            for (int timeIndex = 0; timeIndex < openTimes.size(); timeIndex++) {
+                openTime += 1;
             }
-            openTime += 1;
+            money = money.add(new BigDecimal(openTime).multiply(new BigDecimal(communitySpaceDtos.get(0).getFeeMoney())).setScale(2, BigDecimal.ROUND_HALF_UP));
         }
 
-        BigDecimal money = new BigDecimal(openTime).multiply(new BigDecimal(communitySpaceDtos.get(0).getFeeMoney())).setScale(2,BigDecimal.ROUND_HALF_UP);
-
         PaymentOrderDto paymentOrderDto = new PaymentOrderDto();
         paymentOrderDto.setOrderId(GenerateCodeFactory.getOId());
         paymentOrderDto.setMoney(money.doubleValue());
-        paymentOrderDto.setName("预约"+communitySpaceDtos.get(0).getName()+"费用");
+        paymentOrderDto.setName("预约费用");
+
+        reqJson.put("receivableAmount",money.doubleValue());
+        reqJson.put("receivedAmount",money.doubleValue());
         return paymentOrderDto;
     }
 
     @Override
     public void notifyPayment(PaymentOrderDto paymentOrderDto, JSONObject reqJson) {
+        JSONArray spaces = reqJson.getJSONArray("spaces");
+        JSONObject spaceObj = null;
+        for (int spaceIndex = 0; spaceIndex < spaces.size(); spaceIndex++) {
+            spaceObj = spaces.getJSONObject(spaceIndex);
+            CommunitySpacePersonPo communitySpacePersonPo = BeanConvertUtil.covertBean(reqJson, CommunitySpacePersonPo.class);
+            communitySpacePersonPo.setSpaceId(spaceObj.getString("spaceId"));
+            communitySpacePersonPo.setCspId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+            if (StringUtil.isEmpty(communitySpacePersonPo.getState())) {
+                communitySpacePersonPo.setState(CommunitySpacePersonDto.STATE_W);
+            }
+            int flag = communitySpacePersonV1InnerServiceSMOImpl.saveCommunitySpacePerson(communitySpacePersonPo);
 
-        CommunitySpacePersonPo communitySpacePersonPo = BeanConvertUtil.covertBean(reqJson, CommunitySpacePersonPo.class);
-        communitySpacePersonPo.setCspId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
-        if(StringUtil.isEmpty(communitySpacePersonPo.getState())){
-            communitySpacePersonPo.setState(CommunitySpacePersonDto.STATE_W);
-        }
-        int flag = communitySpacePersonV1InnerServiceSMOImpl.saveCommunitySpacePerson(communitySpacePersonPo);
-
-        if (flag < 1) {
-            throw new CmdException("保存数据失败");
-        }
+            if (flag < 1) {
+                throw new CmdException("保存数据失败");
+            }
 
-        if(!reqJson.containsKey("openTimes")){
-            return ;
-        }
+            if (!spaceObj.containsKey("openTimes")) {
+                return;
+            }
 
-        JSONArray openTimes = reqJson.getJSONArray("openTimes");
+            JSONArray openTimes = spaceObj.getJSONArray("openTimes");
 
-        if(openTimes == null || openTimes.size() <1){
-            return ;
-        }
-        CommunitySpacePersonTimePo communitySpacePersonTimePo = null;
-        for(int timeIndex = 0 ;timeIndex < openTimes.size(); timeIndex++) {
-            if("N".equals(openTimes.getJSONObject(timeIndex).getString("isOpen"))){
-                continue;
+            if (openTimes == null || openTimes.size() < 1) {
+                return;
+            }
+            CommunitySpacePersonTimePo communitySpacePersonTimePo = null;
+            for (int timeIndex = 0; timeIndex < openTimes.size(); timeIndex++) {
+                communitySpacePersonTimePo = new CommunitySpacePersonTimePo();
+                communitySpacePersonTimePo.setCommunityId(communitySpacePersonPo.getCommunityId());
+                communitySpacePersonTimePo.setCspId(communitySpacePersonPo.getCspId());
+                communitySpacePersonTimePo.setHours(openTimes.getJSONObject(timeIndex).getString("hours"));
+                communitySpacePersonTimePo.setSpaceId(communitySpacePersonPo.getSpaceId());
+                communitySpacePersonTimePo.setTimeId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+                communitySpacePersonTimeV1InnerServiceSMOImpl.saveCommunitySpacePersonTime(communitySpacePersonTimePo);
             }
-            communitySpacePersonTimePo = new CommunitySpacePersonTimePo();
-            communitySpacePersonTimePo.setCommunityId(communitySpacePersonPo.getCommunityId());
-            communitySpacePersonTimePo.setCspId(communitySpacePersonPo.getCspId());
-            communitySpacePersonTimePo.setHours(openTimes.getJSONObject(timeIndex).getString("hours"));
-            communitySpacePersonTimePo.setSpaceId(communitySpacePersonPo.getSpaceId());
-            communitySpacePersonTimePo.setTimeId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
-            communitySpacePersonTimeV1InnerServiceSMOImpl.saveCommunitySpacePersonTime(communitySpacePersonTimePo);
         }
 
     }