Jelajahi Sumber

Merge remote-tracking branch 'origin/zx_saas_goods' into zx_saas_goods

zouxuan 1 tahun lalu
induk
melakukan
d108adae94

+ 70 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MusicGroupCalenderRefundPeriodWrapper.java

@@ -0,0 +1,70 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import java.math.BigDecimal;
+
+public class MusicGroupCalenderRefundPeriodWrapper {
+
+
+    @Data
+    public static class MusicGroupCalenderRefundPeriod {
+
+        /**  */
+        private Integer id;
+
+        @ApiModelProperty(value = "分部",required = false)
+        private Integer organId;
+
+        @ApiModelProperty(value = "合作单位编号",required = false)
+        private Integer cooperationOrganId;
+
+        @ApiModelProperty(value = "缴费项目编号",required = false)
+        private Long calenderId;
+
+        @ApiModelProperty(value = "回款时间",required = false)
+        private String refundDate;
+
+        @ApiModelProperty(value = "回款金额",required = false)
+        private java.math.BigDecimal refundAmount;
+
+        @ApiModelProperty(value = "已回款金额",required = false)
+        private java.math.BigDecimal income = BigDecimal.ZERO;
+
+        @ApiModelProperty(value = "剩余待回款金额",required = false)
+        private java.math.BigDecimal subRefundAmount;
+
+        @ApiModelProperty(value = "是否完成回款",required = false)
+        private Boolean refundFlag = false;
+
+        @ApiModelProperty(value = "订单编号",required = false)
+        private String orderNos;
+
+        @ApiModelProperty(value = "备注",required = false)
+        private String memo;
+
+        @ApiModelProperty(value = "责任人",required = false)
+        private Integer responsiblePerson;
+
+
+        @ApiModelProperty(value = "责任人",required = false)
+        private String responsiblePersonName;
+
+        @ApiModelProperty(value = "是否发送回款提醒",required = false)
+        private Boolean sendRemind = false;
+
+        /**  */
+        private java.util.Date createTime;
+
+        /**  */
+        private java.util.Date updateTime;
+
+        @Override
+        public String toString() {
+            return ToStringBuilder.reflectionToString(this);
+        }
+
+    }
+}

+ 67 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MusicGroupPaymentCalenderAddressWrapper.java

@@ -0,0 +1,67 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class MusicGroupPaymentCalenderAddressWrapper {
+
+
+    @Data
+    public static class MusicGroupPaymentCalenderAddress{
+        @ApiModelProperty(value = "主键")
+        private Long id;
+
+        @ApiModelProperty(value = "缴费项目编号")
+        private Long calenderId;
+
+        @ApiModelProperty("订单编号")
+        private String orderNo;
+
+        @ApiModelProperty("是否发货")
+        private Boolean deliveryFlag = false;
+
+        @ApiModelProperty(value = "收货人")
+        private String name;
+
+        @ApiModelProperty(value = "收货人手机号")
+        private String phone;
+
+        @ApiModelProperty(value = "省")
+        private String province;
+
+        @ApiModelProperty(value = "市")
+        private String city;
+
+        @ApiModelProperty(value = "区")
+        private String region;
+
+
+        @ApiModelProperty(value = "省")
+        private String provinceName;
+
+        @ApiModelProperty(value = "市")
+        private String cityName;
+
+        @ApiModelProperty(value = "区")
+        private String regionName;
+
+        @ApiModelProperty(value = "邮编")
+        private String postCode;
+
+        @ApiModelProperty(value = "详细地址")
+        private String address;
+
+        @ApiModelProperty(value = "创建时间")
+        private Date createTime;
+
+        @ApiModelProperty(value = "更新时间")
+        private Date updateTime;
+    }
+}

+ 35 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -14,6 +14,8 @@ import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.BaseOrganQueryInfo;
 import com.ym.mec.biz.dal.page.MusicGroupPaymentCalenderQueryInfo;
+import com.ym.mec.biz.dal.wrapper.MusicGroupCalenderRefundPeriodWrapper;
+import com.ym.mec.biz.dal.wrapper.MusicGroupPaymentCalenderAddressWrapper;
 import com.ym.mec.biz.event.source.GroupEventSource;
 import com.ym.mec.biz.event.source.SendSeoMessageSource;
 import com.ym.mec.biz.service.*;
@@ -579,7 +581,21 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
         }
         //获取商品采购信息
         result.put("goods",musicGroupPaymentCalenderGoodsService.lambdaQuery().eq(MusicGroupPaymentCalenderGoods::getCalenderId,calenderId).list());
-        result.put("address",musicGroupPaymentCalenderAddressService.lambdaQuery().eq(MusicGroupPaymentCalenderAddress::getCalenderId,calenderId).one());
+        MusicGroupPaymentCalenderAddress one = musicGroupPaymentCalenderAddressService.lambdaQuery().eq(MusicGroupPaymentCalenderAddress::getCalenderId, calenderId).one();
+        MusicGroupPaymentCalenderAddressWrapper.MusicGroupPaymentCalenderAddress musicGroupPaymentCalenderAddress = JSON
+            .parseObject(JSON.toJSONString(one), MusicGroupPaymentCalenderAddressWrapper.MusicGroupPaymentCalenderAddress.class);
+
+        // 查询地区信息
+        List<String> areaIds = new ArrayList<>();
+        areaIds.add(one.getProvince());
+        areaIds.add(one.getCity());
+        areaIds.add(one.getRegion());
+        areaIds = areaIds.stream().filter(StringUtils::isNotBlank).distinct().collect(Collectors.toList());
+        Map<String, String> nameMapByIds = sysAreaService.getNameMapByIds(areaIds);
+        musicGroupPaymentCalenderAddress.setProvinceName(nameMapByIds.getOrDefault(one.getProvince(),""));
+        musicGroupPaymentCalenderAddress.setCityName(nameMapByIds.getOrDefault(one.getCity(),""));
+        musicGroupPaymentCalenderAddress.setRegionName(nameMapByIds.getOrDefault(one.getRegion(),""));
+        result.put("address", musicGroupPaymentCalenderAddress);
         return result;
     }
 
@@ -600,7 +616,24 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
         }
         //如果是学校缴费并且金额不为0,返回费用信息
         if (calender.getPayUserType() == SCHOOL && calender.getCurrentTotalAmount().compareTo(BigDecimal.ZERO) > 0){
-            result.put("calenderRefundPeriods",musicGroupCalenderRefundPeriodService.findByCalenderId(id));
+            List<MusicGroupCalenderRefundPeriod> list = musicGroupCalenderRefundPeriodService.findByCalenderId(id);
+            if (CollectionUtils.isEmpty(list)) {
+
+                result.put("calenderRefundPeriods", list);
+            } else {
+                List<MusicGroupCalenderRefundPeriodWrapper.MusicGroupCalenderRefundPeriod> parseArray = JSON.parseArray(JSON.toJSONString(list), MusicGroupCalenderRefundPeriodWrapper.MusicGroupCalenderRefundPeriod.class);
+
+                List<Integer> userIds = list.stream().map(o -> o.getResponsiblePerson()).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+                if (CollectionUtils.isNotEmpty(userIds)) {
+                    Map<Long, SysUser> mapByIds = sysUserService.getMapByIds(userIds);
+                    parseArray.forEach(o -> {
+                        if (o.getResponsiblePerson() != null) {
+                            o.setResponsiblePersonName(mapByIds.getOrDefault(o.getResponsiblePerson().longValue(),new SysUser()).getRealName());
+                        }
+                    });
+                }
+                result.put("calenderRefundPeriods", parseArray);
+            }
         }
 
         if (calender.getOrganId() != null) {