yangdamao 1 gadu atpakaļ
vecāks
revīzija
b54f0b5bf1

+ 10 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java

@@ -21,6 +21,7 @@ import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.ToolsUtils;
 import com.zhongzheng.common.utils.file.FileUploadUtils;
 import com.zhongzheng.common.utils.file.FileUtils;
+import com.zhongzheng.common.utils.poi.EasyPoiUtil;
 import com.zhongzheng.common.utils.poi.ExcelUtil;
 import com.zhongzheng.framework.config.ServerConfig;
 import com.zhongzheng.framework.web.service.WxLoginService;
@@ -80,12 +81,14 @@ import com.zhongzheng.modules.system.vo.SysTenantVo;
 import com.zhongzheng.modules.tencentcloud.bo.FaceQueryBo;
 import com.zhongzheng.modules.tencentcloud.service.IFaceOcrService;
 import com.zhongzheng.modules.tencentcloud.service.IVodService;
+import com.zhongzheng.modules.top.order.bo.TopOldOrderCustomerBo;
 import com.zhongzheng.modules.top.user.bo.TopSysTenantRegisterAddBo;
 import com.zhongzheng.modules.top.user.service.ITopSysTenantRegisterService;
 import com.zhongzheng.modules.user.bo.UserBusinessGoodsBo;
 import com.zhongzheng.modules.user.service.IUserService;
 import com.zhongzheng.modules.user.service.IUserSubscribeService;
 import com.zhongzheng.modules.user.vo.UserBusinessGoodsVo;
+import com.zhongzheng.modules.user.vo.UserStudyExportVo;
 import com.zhongzheng.modules.user.vo.UserStudyTimeVo;
 import com.zhongzheng.modules.wx.bo.WxShareGoodsBo;
 import com.zhongzheng.modules.wx.service.IWxPayService;
@@ -915,4 +918,11 @@ public class CommonController extends BaseController {
         return toAjax(iGoodsService.updateExamBusiness() ? 1 : 0);
     }
 
+    @ApiOperation("获取用户同专业下课程")
+    @PostMapping("/common/free/studyRecord")
+    public AjaxResult<Void> studyRecord(MultipartFile file) {
+        List<UserStudyExportVo> customerBos = EasyPoiUtil.importExcel(file,0,1,UserStudyExportVo.class);
+        return AjaxResult.success(iUserService.studyRecord(customerBos));
+    }
+
 }

+ 10 - 4
zhongzheng-admin/src/main/java/com/zhongzheng/controller/course/CourseController.java

@@ -235,10 +235,16 @@ public class CourseController extends BaseController {
             return  AjaxResult.success(listVos);
         }
         for(CourseProgressQueryBo queryBo : bo.getTelphoneList()){
-            User user = iUserService.getOne(new LambdaQueryWrapper<User>()
-                    .and(x -> x.eq(StringUtils.isNotBlank(queryBo.getTelphone()),User::getTelphone,EncryptHandler.encrypt(queryBo.getTelphone())).or()
-                    .eq(StringUtils.isNotBlank(queryBo.getIdCard()),User::getIdCard,EncryptHandler.encrypt(queryBo.getIdCard())))
-                    .last("limit 1"));
+            User user = null;
+            if (ObjectUtils.isNotNull(queryBo.getIdCard())){
+                user = iUserService.getOne(new LambdaQueryWrapper<User>()
+                        .eq(User::getIdCard,EncryptHandler.encrypt(queryBo.getIdCard()))
+                        .last("limit 1"));
+            }else if (ObjectUtils.isNotNull(queryBo.getTelphone())){
+                user = iUserService.getOne(new LambdaQueryWrapper<User>()
+                        .eq(User::getTelphone,EncryptHandler.encrypt(queryBo.getTelphone()))
+                        .last("limit 1"));
+            }
             if(Validator.isEmpty(user)){
                 continue;
             }

+ 62 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/utils/poi/ExcelUtil.java

@@ -30,6 +30,8 @@ import java.io.*;
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -1236,6 +1238,66 @@ public class ExcelUtil<T>
         }
     }
 
+    public void exportEasyExcelUtil(List<T> list,Class<T> clazz,String path)
+    {
+        OutputStream out = null;
+        //     Workbook workbook = null;
+        ExportParams deptExportParams = new ExportParams();
+        // 设置sheet得名称
+        deptExportParams.setSheetName("表1");
+        String timeStr= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+        Map<String, Object> deptExportMap = new HashMap<>();
+        deptExportMap.put("title", deptExportParams);
+        deptExportMap.put("entity", clazz);
+        // sheet中要填充得数据
+        deptExportMap.put("data", list);
+        List<Map<String, Object>> sheetsList = new ArrayList<>();
+        sheetsList.add(deptExportMap);
+        try
+        {
+            Workbook workbook = ExcelExportUtil.exportExcel(sheetsList, ExcelType.HSSF);
+            File desc = new File(path);
+            if (!desc.getParentFile().exists())
+            {
+                desc.getParentFile().mkdirs();
+            }
+            out = new FileOutputStream(path);
+            workbook.write(out);
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+            log.error("导出Excel异常{}", e.getMessage());
+            throw new CustomException("导出Excel失败,请联系网站管理员!");
+        }
+        finally
+        {
+
+            if (wb != null)
+            {
+                try
+                {
+                    wb.close();
+                }
+                catch (IOException e1)
+                {
+                    e1.printStackTrace();
+                }
+            }
+            if (out != null)
+            {
+                try
+                {
+                    out.close();
+                }
+                catch (IOException e1)
+                {
+                    e1.printStackTrace();
+                }
+            }
+        }
+    }
+
     /**
      * 编码文件名
      */

+ 17 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -28,6 +28,7 @@ import com.zhongzheng.common.utils.*;
 import com.zhongzheng.common.utils.file.FileUtils;
 import com.zhongzheng.common.utils.http.HttpUtils;
 import com.zhongzheng.common.utils.ip.IpUtils;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
 import com.zhongzheng.modules.alioss.bo.OssRequest;
 import com.zhongzheng.modules.alioss.service.OssService;
 import com.zhongzheng.modules.alisms.service.IAliSmsService;
@@ -55,6 +56,7 @@ import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
 import com.zhongzheng.modules.grade.service.impl.ClassGradeServiceImpl;
 import com.zhongzheng.modules.grade.vo.ClassGradeUserGoodsVo;
+import com.zhongzheng.modules.order.vo.OrderListVo;
 import com.zhongzheng.modules.system.domain.SysTask;
 import com.zhongzheng.modules.system.domain.SysTenant;
 import com.zhongzheng.modules.system.service.ISysConfigService;
@@ -2112,6 +2114,21 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         return goodsBoList;
     }
 
+    @Override
+    public String studyRecord(List<UserStudyExportVo> customerBos) {
+        customerBos.forEach(x -> {
+            x.setUserCard(EncryptHandler.decrypt(x.getUserCard()));
+            x.setUserPhone(EncryptHandler.decrypt(x.getUserPhone()));
+        });
+
+        ExcelUtil<UserStudyExportVo> util2 = new ExcelUtil<>(UserStudyExportVo.class);
+        String zhiyuan = System.getProperty("user.dir");
+        String toPath = zhiyuan + "/zhongzheng-admin/src/main/resources/zhiliao"+DateUtils.getNowTime();
+        String path2 = toPath + "/"+"学员学习记录.xlsx";
+        util2.exportEasyExcelUtil(customerBos, UserStudyExportVo.class,path2);
+        return "";
+    }
+
     @Override
     public Map<String, Object> accountLogin(UserAppAccountLoginBo bo) {
         if(Validator.isEmpty(bo.getAccount())){

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamApplyServiceImpl.java

@@ -1392,9 +1392,9 @@ public class ExamApplyServiceImpl extends ServiceImpl<ExamApplyMapper, ExamApply
             ossRequest.setFile(multipartFile);
             try {
                 String upload = ossService.upload(ossRequest);
-                subscribe.setCertificateUrl(ALIYUN_OSS_ENDPOINT+upload);
+                subscribe.setCertificateUrl(upload);
                 ExamApplyCertificateBo examAp = new ExamApplyCertificateBo();
-                examAp.setCertificateUrl(upload);
+                examAp.setCertificateUrl(ALIYUN_OSS_ENDPOINT+upload);
                 examAp.setCertificateEndTime(timeTwo);
                 examAp.setCertificateStartTime(time);
                 examAp.setCertificateCode(collect.get(2));

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserService.java

@@ -166,4 +166,6 @@ public interface IUserService extends IService<User> {
 	UserStudyTimeVo getStudyTimeByCard(String idCard,Integer type);
 
 	List<UserBusinessGoodsVo> getUserBusinessGoods(List<UserBusinessGoodsBo> bos);
+
+    String studyRecord(List<UserStudyExportVo> customerBos);
 }

+ 45 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserStudyExportVo.java

@@ -0,0 +1,45 @@
+package com.zhongzheng.modules.user.vo;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2024年05月14日 15:25
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+public class UserStudyExportVo implements Serializable {
+
+    @Excel(name = "学员姓名")
+    private String userName;
+
+    @Excel(name = "学员身份证")
+    private String userCard;
+
+    @Excel(name = "手机号码")
+    private String userPhone;
+
+    @Excel(name = "所属公司")
+    private String companyMame;
+
+    @Excel(name = "学时")
+    private String classHours;
+
+    @Excel(name = "商品名称")
+    private String goodsName;
+
+    @Excel(name = "学时审核状态")
+    private String periodStatus;
+
+    @Excel(name = "所在班级")
+    private String className;
+
+    @Excel(name = "学习进度")
+    private String studyRecord;
+}