瀏覽代碼

缴费项目外部订单导入

zouxuan 2 年之前
父節點
當前提交
da61f7a19a

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentImportDto.java

@@ -0,0 +1,27 @@
+package com.ym.mec.biz.dal.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class MusicGroupPaymentImportDto {
+
+    @ApiModelProperty(value = "缴费批次")
+    private String batchNo;
+
+    @ApiModelProperty(value = "学员手机号")
+    private String phone;
+
+    @ApiModelProperty(value = "交易流水号")
+    private String transNo;
+
+    @ApiModelProperty(value = "收款账户")
+    private String merNos;
+
+    @ApiModelProperty(value = "交易时间")
+    private Date payTime;
+}
+

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/TemplateTypeEnum.java

@@ -13,6 +13,7 @@ public enum TemplateTypeEnum implements BaseEnum<String, TemplateTypeEnum> {
     LIVE_TEACHER_CARD("LIVE_TEACHER_CARD","直播临时活动上课老师名片导入模板"),
     LIVE_ROOM_PURVIEW_USER("LIVE_ROOM_PURVIEW_USER", "直播间用户观看权限表"),
     ADDITIONAL_IMPORT("ADDITIONAL_IMPORT", "经营报表额外的收支导入"),
+    MUSIC_GROUP_PAYMENT_IMPORT("MUSIC_GROUP_PAYMENT_IMPORT", "缴费项目外部订单导入"),
     ;
 
     private String code;

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java

@@ -10,6 +10,7 @@ import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 import org.springframework.ui.ModelMap;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -210,4 +211,13 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
 	Map<Long, Integer>  findCooperationByIds(List<Long> calenderIds);
 
     Object queryUser(MusicGroupPaymentCalenderQueryInfo queryInfo);
+
+	/**
+	* @description: 缴费项目外部订单导入
+	 * @param file
+	* @return java.util.List<java.lang.String>
+	* @author zx
+	* @date 2023/5/5 14:03
+	*/
+    List<String> importMusicGroupPayment(MultipartFile file) throws Exception;
 }

+ 51 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -25,17 +25,24 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.excel.POIUtil;
+import com.ym.mec.util.ini.IniFileUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.ClassPathResource;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.ui.ModelMap;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
@@ -1266,6 +1273,50 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
     }
 
     @Override
+    public List<String> importMusicGroupPayment(MultipartFile file) throws Exception{
+        Map<String, List<Map<String, Object>>> sheetsListMap = POIUtil.importExcel(new ByteArrayInputStream(file.getBytes()), 2, file.getOriginalFilename());
+        InputStream inputStream = new ClassPathResource("columnMapper.ini").getInputStream();
+        Map<String, String> columns = IniFileUtil.readIniFile(inputStream, TemplateTypeEnum.MUSIC_GROUP_PAYMENT_IMPORT.getMsg());
+        List<MusicGroupPaymentImportDto> importDtos = new ArrayList<>();
+        List<String> errMsg = new ArrayList();
+        for (String sheetName : sheetsListMap.keySet()) {
+            List<Map<String, Object>> sheet = sheetsListMap.get(sheetName);
+            for (int i = 0; i < sheet.size(); i++) {
+                Map<String, Object> row = sheet.get(i);
+                if (row.size() == 0) {
+                    continue;
+                }
+                JSONObject objectMap = new JSONObject();
+                valueIsNull: for (String s : row.keySet()) {
+                    String columnValue = columns.get(s);
+                    if (StringUtils.isEmpty(columnValue)) {
+                        continue;
+                    }
+                    if (null == row.get(s)) {
+                        continue;
+                    }
+                    objectMap.put(columnValue, row.get(s));
+                }
+                try {
+                    MusicGroupPaymentImportDto cost = JSONObject.parseObject(objectMap.toJSONString(), MusicGroupPaymentImportDto.class);
+                    importDtos.add(cost);
+                } catch (Exception ex) {
+                    throw new BizException("导入数据出错", ex);
+                }
+            }
+        }
+        if (!org.springframework.util.CollectionUtils.isEmpty(errMsg)) {
+            return errMsg;
+        }
+        if(!org.springframework.util.CollectionUtils.isEmpty(importDtos)){
+            //处理数据导入
+            List<String> phoneList = importDtos.stream().map(e -> e.getPhone()).collect(Collectors.toList());
+
+        }
+        return null;
+    }
+
+    @Override
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public boolean autoUpdateMusicGroupPaymentCalenderStatus() {
         Date date = new Date();

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/OperatingReportNewMapper.xml

@@ -378,7 +378,7 @@
 			SUM(CASE WHEN hc.human_cost_type_ = 'STUDENT_MANAGEMENT_FEE_ADJUSTMENT' THEN hc.amount_ ELSE 0 END) AS studentManagementFeeAdjustment
 		FROM
 			organization o
-				left join financial_expenditure fe ON o.id_ = fe.organ_id_ AND fe.process_id_ = 28 AND effective_time_= #{month} AND fe.del_flag_ = 0
+				left join financial_expenditure fe ON o.id_ = fe.organ_id_ AND fe.process_id_ IN (19,22,23,28,51) AND fe.fee_project_ NOT IN (1,2,13,14) AND effective_time_= #{month} AND fe.del_flag_ = 0
 				left join human_cost hc ON hc.organ_id_ = o.id_  AND hc.month_ = #{month}
 		WHERE
 			o.tenant_id_ = 1 AND o.del_flag_ = 0
@@ -404,7 +404,7 @@
 		from financial_expenditure fe
 				 left join organization o ON o.id_ = fe.organ_id_
 				 left join cooperation_organ co ON co.id_ = fe.cooperation_organ_id_
-		where fe.process_id_ IN (19,22,28,51) AND fee_project_ NOT IN (1,2,13,14) AND fe.del_flag_ = 0 AND fe.effective_time_ = #{month}
+		where fe.process_id_ IN (19,22,23,28,51) AND fee_project_ NOT IN (1,2,13,14) AND fe.del_flag_ = 0 AND fe.effective_time_ = #{month}
 		order by fe.id_ DESC
 	</select>
 	<select id="sumHumanCost" resultType="com.ym.mec.biz.dal.dto.HumanTypeDto">

+ 16 - 4
mec-web/src/main/java/com/ym/mec/web/controller/ImportController.java

@@ -51,9 +51,12 @@ public class ImportController extends BaseController {
     private AppRedemptionCodeService appRedemptionCodeService;
     @Autowired
     private UploadFileService uploadFileService;
-
+    @Autowired
+    private TempBuyFreeLiveTheoryCourseService liveTheoryCourseService;
     @Autowired
     private MusicGroupService musicGroupService;
+    @Autowired
+    private MusicGroupPaymentCalenderService musicGroupPaymentCalenderService;
 
 
     @ApiOperation(value = "导入商品")
@@ -157,9 +160,6 @@ public class ImportController extends BaseController {
         }
     }
 
-    @Autowired
-    private TempBuyFreeLiveTheoryCourseService liveTheoryCourseService;
-
     @ApiOperation(value = "直播临时活动--学员购买导入")
     @PostMapping(value = "importBuyFreeLiveTheoryCourse")
     @PreAuthorize("@pcs.hasPermissions('import/importBuyFreeLiveTheoryCourseList')")
@@ -195,4 +195,16 @@ public class ImportController extends BaseController {
             return failed(StringUtils.join(errMsg, ","));
         }
     }
+
+    @ApiOperation(value = "缴费项目外部订单导入")
+    @PostMapping(value = "importMusicGroupPayment")
+    @PreAuthorize("@pcs.hasPermissions('import/importMusicGroupPayment')")
+    public HttpResponseResult<List<String>> importMusicGroupPayment(@RequestParam("file") MultipartFile file) throws Exception {
+        List<String> errMsg = musicGroupPaymentCalenderService.importMusicGroupPayment(file);
+        if (CollectionUtils.isEmpty(errMsg)) {
+            return succeed();
+        } else {
+            return failed(StringUtils.join(errMsg, ","));
+        }
+    }
 }

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupDefaultClassesUnitPriceController.java

@@ -28,7 +28,7 @@ public class VipGroupDefaultClassesUnitPriceController extends BaseController {
 
 	@ApiOperation("单查询")
 	@GetMapping(value = "/query")
-    @PreAuthorize("@pcs.hasPermissions('vipGroupDefaultClassesUnitPrice/query')")
+    @PreAuthorize("@pcs.hasPermissions('c')")
 	public Object query(int id) {
 		return succeed(vipGroupDefaultClassesUnitPriceService.get(id));
 	}

+ 8 - 1
mec-web/src/main/resources/columnMapper.ini

@@ -108,4 +108,11 @@ ID = id
 分部 = organName
 收支类型 = humanCostType
 金额 = amount
-日期 = month
+日期 = month
+
+[缴费项目外部订单导入]
+缴费批次 = batchNo
+学员手机号 = phone
+交易流水号 = transNo
+收款账户 = merNos
+交易日期 = payTime