yangdamao 1 день назад
Родитель
Сommit
965ee08739
22 измененных файлов с 437 добавлено и 52 удалено
  1. 0 43
      run-dev.sh
  2. 9 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/goods/GoodsController.java
  3. 8 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderController.java
  4. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityRecommendServiceImpl.java
  5. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/vo/ActivityRecommendGoodsVo.java
  6. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/MajorMapper.java
  7. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/IMajorService.java
  8. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/MajorServiceImpl.java
  9. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsKaoQIanBo.java
  10. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java
  11. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsService.java
  12. 249 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java
  13. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java
  14. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderQueryBo.java
  15. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/OrderGoods.java
  16. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java
  17. 36 8
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  18. 76 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderKaoQianListExportVo.java
  19. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java
  20. 13 0
      zhongzheng-system/src/main/resources/mapper/modules/course/MajorMapper.xml
  21. 1 0
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml
  22. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

+ 0 - 43
run-dev.sh

@@ -74,47 +74,4 @@ docker run \
 -d ${group_admin_name}/${app_admin_name}:${app_admin_version}
 echo '----start container admin----'
 
-echo "开始等待20秒..."
-# 1-10秒内随机
-sleep 5
-echo "等待后继续"
-
-#!/usr/bin/env bash
-# 定义应用组名
-group_admin_name='zhongzheng'
-# 定义应用名称
-app_admin_name='zhongzheng-saas-admin-top'
-# 定义应用版本
-app_admin_version='1.0-SNAPSHOT'
-# 定义应用环境
-profile_active='dev'
-echo '----copy jar admin----'
-docker stop ${app_admin_name}
-echo '----stop container admin----'
-docker rm ${app_admin_name}
-echo '----rm container admin----'
-docker rmi ${group_admin_name}/${app_admin_name}:${app_admin_version}
-echo '----rm image admin----'
-# 打包编译docker镜像
-docker build -f /mydata/maven/build/Dockerfile-saas -t ${group_admin_name}/${app_admin_name}:${app_admin_version} .
-echo '----build image admin----'
-docker run \
--p 7077:7077 \
---name ${app_admin_name} \
---restart=always \
---link mysql:db \
---log-opt max-size=50m \
---log-opt max-file=3 \
--e 'spring.profiles.active'=${profile_active} \
--e TZ="Asia/Shanghai" \
---add-host=gdxypx.xy.com:192.168.1.210 \
--v /etc/localtime:/etc/localtime \
--v /usr/share/fonts:/usr/share/fonts \
--v /data/logs/dev_admin_top:/logs \
--v /mydata/app/${app_admin_name}/logs:/var/logs \
--v /data/nginx/conf.d:/data/nginx/conf.d \
--d ${group_admin_name}/${app_admin_name}:${app_admin_version}
-echo '----start container admin top----'
-
-
 

+ 9 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/goods/GoodsController.java

@@ -457,4 +457,13 @@ public class GoodsController extends BaseController {
         ExcelUtil<QuestionAnswerVo> util = new ExcelUtil<QuestionAnswerVo>(QuestionAnswerVo.class);
         return util.exportExcel(list, major);
     }
+
+    /**
+     * 创建新考前商品
+     */
+    @ApiOperation("创建考前商品")
+    @GetMapping("/kaoqian")
+    public AjaxResult<Void> createKaoQianNew() {
+        return toAjax(iGoodsService.createKaoQianNew() ? 1 : 0);
+    }
 }

+ 8 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderController.java

@@ -89,6 +89,14 @@ public class OrderController extends BaseController {
         return getDataTable(list);
     }
 
+    @ApiOperation("导出订单列表")
+    @GetMapping("/kaoqian/exportList")
+    public AjaxResult<OrderKaoQianListExportVo> exportKaoqianList(OrderQueryBo bo) {
+        List<OrderKaoQianListExportVo> list = iOrderService.exportKaoqianList(bo);
+        ExcelUtil<OrderKaoQianListExportVo> util = new ExcelUtil<>(OrderKaoQianListExportVo.class);
+        return util.exportExcel(list,"考前订单记录");
+    }
+
     @ApiOperation("导出订单列表")
     @GetMapping("/exportList")
     public AjaxResult<OrderListExportVo> exportList(OrderQueryBo bo) {

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityRecommendServiceImpl.java

@@ -238,6 +238,7 @@ public class ActivityRecommendServiceImpl extends ServiceImpl<ActivityRecommendM
 //                    item.setSpecTemplateId(relation.getSpecTemplateId());
 //                }
 //            }
+            item.setBeforeSign(goods.getBeforeSign());
             //多规格下的价格区间
             if (ObjectUtils.isNotNull(goods.getSpecTemplateId())){
                 item.setSpecTemplateId(goods.getSpecTemplateId());

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/vo/ActivityRecommendGoodsVo.java

@@ -65,4 +65,8 @@ public class ActivityRecommendGoodsVo {
 
 	@ApiModelProperty("最大价格")
 	private BigDecimal maxPrice;
+
+
+	@ApiModelProperty("外部考前订单标签:0否1是")
+	private Integer beforeSign;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/MajorMapper.java

@@ -31,4 +31,6 @@ public interface MajorMapper extends BaseMapper<Major> {
 
     @InterceptorIgnore(tenantLine = "true")
     Major getMajorByIdNoTenant(Long majorId);
+
+    Major getOnebyName(@Param("name")String name,@Param("projectId") Long projectId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/IMajorService.java

@@ -53,4 +53,6 @@ public interface IMajorService extends IService<Major> {
     Major getMajorByTenant(String encoder, Long newTenantId);
 
     Major getMajorByIdNoTenant(Long majorId);
+
+    Major getOnebyName(String kemu, Long projectId);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/MajorServiceImpl.java

@@ -180,4 +180,9 @@ public class MajorServiceImpl extends ServiceImpl<MajorMapper, Major> implements
     public Major getMajorByIdNoTenant(Long majorId) {
         return baseMapper.getMajorByIdNoTenant(majorId);
     }
+
+    @Override
+    public Major getOnebyName(String kemu, Long projectId) {
+        return baseMapper.getOnebyName(kemu,projectId);
+    }
 }

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsKaoQIanBo.java

@@ -0,0 +1,12 @@
+package com.zhongzheng.modules.goods.bo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class GoodsKaoQIanBo implements Serializable {
+
+    private Long subId;
+    private Long majorId;
+}

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java

@@ -185,6 +185,9 @@ private static final long serialVersionUID=1L;
     private String questionRelIds;
     /** 视频标签:1保利威 2腾讯 */
     private Integer viewSign;
+
+    /** 外部考前商品标签:0否1是 */
+    private Integer beforeSign;
     /** 寄件标签:1是 0否 */
     @TableField(updateStrategy=FieldStrategy.IGNORED)
     private Integer mailSign;

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsService.java

@@ -187,4 +187,6 @@ public interface IGoodsService extends IService<Goods> {
     List<QuestionAnswerVo> getQuestionAnswer(Long goodsId);
 
     void getImageWord(MultipartFile file, String major);
+
+	boolean createKaoQianNew();
 }

+ 249 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.pagehelper.Page;
+import com.google.common.collect.Lists;
 import com.vladsch.flexmark.html.HtmlRenderer;
 import com.vladsch.flexmark.parser.Parser;
 import com.vladsch.flexmark.util.ast.Node;
@@ -6029,6 +6030,254 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
 
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean createKaoQianNew() {
+
+        //获取新考前业务层
+        ArrayList<String> list1 = Lists.newArrayList("管理", "金属冶炼安全", "法规", "煤矿安全", "技术基础", "其他安全", "道路运输安全", "化工安全", "建筑施工安全", "矿山安全");
+        ArrayList<String> list2 = Lists.newArrayList("管理","法规", "经济", "建筑", "市政", "机电", "公路", "水利", "港口与航道");
+        ArrayList<String> list3 = Lists.newArrayList("管理", "概论", "土建三控", "土建案例", "交通三控", "交通案例", "水利三控", "水利案例");
+        ArrayList<String> list4 = Lists.newArrayList("经济基础", "工商管理", "人力资源", "金融专业", "财政税收", "建筑与房地产", "知识产权", "保险经济", "运输经济", "旅游经济", "农业经济");
+        ArrayList<String> list5 = Lists.newArrayList("综合能力", "法规与政策", "实务");
+
+        Map<String,List<String>> map = new HashMap<>();
+        map.put("安全工程师",list1);
+        map.put("建造师",list2);
+        map.put("工程师",list3);
+        map.put("经济师",list4);
+        map.put("社会工作者",list5);
+
+        CourseEducationType educationType = iCourseEducationTypeService
+                .getOne(new LambdaQueryWrapper<CourseEducationType>().eq(CourseEducationType::getEducationName, "考前培训").eq(CourseEducationType::getStatus, 1).last("limit 1"));
+        Long eduId  = educationType.getId();
+        map.forEach((k,v) -> {
+            //判断是否存在
+            CourseProjectType project = iCourseProjectTypeService
+                    .getOne(new LambdaQueryWrapper<CourseProjectType>().eq(CourseProjectType::getEducationId, eduId).eq(CourseProjectType::getProjectName, k).eq(CourseProjectType::getStatus, 1).last("limit 1"));
+            Long projectId = 0L;
+            if (ObjectUtils.isNull(project)){
+                //新增
+                CourseProjectType projectType = new CourseProjectType();
+                projectType.setStatus(1);
+                projectType.setProjectName(k);
+                projectType.setEducationId(eduId.intValue());
+                projectType.setCreateTime(DateUtils.getNowTime());
+                projectType.setUpdateTime(DateUtils.getNowTime());
+                projectType.setSort(1);
+                projectType.setEncoder(ServletUtils.getEncoded("XM"));
+
+                iCourseProjectTypeService.save(projectType);
+                projectId = projectType.getId();
+            }else {
+                projectId = project.getId();
+            }
+
+
+            //添加科目和专业;
+            List<GoodsKaoQIanBo> kaoQIanBos = new ArrayList<>();
+            for (String kemu : v) {
+                CourseSubject subject = iCourseSubjectService.getOneByName(kemu,projectId);
+                Long subId = 0L;
+                if (ObjectUtils.isNull(subject)){
+                    //新增
+                    CourseSubject courseSubject = new CourseSubject();
+                    courseSubject.setSubjectName(kemu);
+                    courseSubject.setStatus(1);
+                    courseSubject.setCreateTime(DateUtils.getNowTime());
+                    courseSubject.setUpdateTime(DateUtils.getNowTime());
+                    courseSubject.setSort(1);
+                    courseSubject.setEncoder(ServletUtils.getEncoded("KM"));
+                    iCourseSubjectService.save(courseSubject);
+                    subId = courseSubject.getId();
+                    CourseSubjectProject courseSubjectProject = new CourseSubjectProject();
+                    courseSubjectProject.setCreateTime(DateUtils.getNowTime());
+                    courseSubjectProject.setUpdateTime(DateUtils.getNowTime());
+                    courseSubjectProject.setSubjectId(subId);
+                    courseSubjectProject.setProjectId(projectId);
+                    iCourseSubjectProjectService.save(courseSubjectProject);
+                }else {
+                    subId = subject.getId();
+                }
+
+                Major major = iMajorService.getOnebyName(kemu,projectId);
+                Long majorId = 0L;
+                if (ObjectUtils.isNull(major)){
+                    //新增
+                    Major major1 = new Major();
+                    major1.setCategoryName(kemu);
+                    major1.setStatus(1);
+                    major1.setCreateTime(DateUtils.getNowTime());
+                    major1.setUpdateTime(DateUtils.getNowTime());
+                    major1.setSort(1);
+                    major1.setEncoder(ServletUtils.getEncoded("ZY"));
+                    iMajorService.save(major1);
+                    majorId = major1.getId();
+                    MajorProject majorProject = new MajorProject();
+                    majorProject.setCreateTime(DateUtils.getNowTime());
+                    majorProject.setUpdateTime(DateUtils.getNowTime());
+                    majorProject.setMajorId(majorId);
+                    majorProject.setProjectId(projectId);
+                    iMajorProjectService.save(majorProject);
+                }else {
+                    majorId = major.getId();
+                }
+                GoodsKaoQIanBo bo = new GoodsKaoQIanBo();
+                bo.setSubId(subId);
+                bo.setMajorId(majorId);
+                kaoQIanBos.add(bo);
+            }
+
+            //业务乘次
+            List<Long> businessIds = new ArrayList<>();
+            switch (k){
+                case "建造师":
+                    List<String> business = Arrays.asList("一级", "二级");
+                    for (String s : business) {
+                        Long id = businessCheck(s, projectId);
+                        businessIds.add(id);
+                    }
+                    break;
+                case "安全工程师":
+                    List<String> business1 = Arrays.asList("注册");
+                    for (String s : business1) {
+                        Long id = businessCheck(s, projectId);
+                        businessIds.add(id);
+                    }
+                    break;
+                case "工程师":
+                    List<String> business2 = Arrays.asList("监理");
+                    for (String s : business2) {
+                        Long id = businessCheck(s, projectId);
+                        businessIds.add(id);
+                    }
+                    break;
+                case "经济师":
+                    List<String> business3 = Arrays.asList("中级");
+                    for (String s : business3) {
+                        Long id = businessCheck(s, projectId);
+                        businessIds.add(id);
+                    }
+                    break;
+                case "社会工作者":
+                    List<String> business4 = Arrays.asList("初级", "中级");
+                    for (String s : business4) {
+                        Long id = businessCheck(s, projectId);
+                        businessIds.add(id);
+                    }
+                    break;
+                default:
+                    break;
+            }
+
+            for (Long businessId : businessIds) {
+                CourseBusiness business = iCourseBusinessService.getById(businessId);
+                for (GoodsKaoQIanBo item : kaoQIanBos) {
+                    CourseSubject courseSubject = iCourseSubjectService.getById(item.getSubId());
+                    //创建商品
+                    List<String> goodsName = Arrays.asList("精英优享班(单科实务)", "精英优享班(全科)");
+                    for (String s : goodsName) {
+                        Goods goods = new Goods();
+                        goods.setGoodsName(String.format("【%s】%s",courseSubject.getSubjectName(),s));
+                        goods.setStatus(1);
+                        goods.setYear(2026L);
+                        goods.setSupplyId(2L);
+                        goods.setGoodsType(1);
+                        goods.setEducationTypeId(eduId);
+                        goods.setBusinessId(businessId);
+                        goods.setProjectId(projectId.intValue());
+                        goods.setMajorId(item.getMajorId());
+                        goods.setSubjectIds(item.getSubId().toString());
+                        //价格
+                        BigDecimal price = getPrice(business.getAliasName(), s);
+                        goods.setStandPrice(price);
+                        goods.setLowestPrice(price);
+                        goods.setValidityStartTime(1773713844L);
+                        goods.setValidityEndTime(1805249844L);
+                        goods.setGoodsStatus(1);
+                        goods.setCode(ServletUtils.getEncoded("SP"));
+                        List<GoodsAuditionConfigAddBo> audition = new ArrayList<>();
+                        goods.setGoodsAuditionConfig(JSONArray.toJSONString(audition));
+                        GoodsPhotographConfigAddBo configAddBo = new GoodsPhotographConfigAddBo();
+                        configAddBo.setPhotograph(0);
+                        goods.setGoodsPhotographConfig(JSON.toJSONString(configAddBo));
+                        GoodsPhotoExamConfigAddBo examConfigAddBo = new GoodsPhotoExamConfigAddBo();
+                        examConfigAddBo.setPhotograph(0);
+                        goods.setGoodsPhotoExamConfig(JSON.toJSONString(examConfigAddBo));
+                        goods.setStudyCount(1L);
+                        goods.setServiceTimeType(1);
+                        goods.setServiceTimeNum(1L);
+                        goods.setShowStatus(1);
+                        goods.setGradeType(1);
+                        goods.setMoreCertificateStatus(1);
+                        goods.setViewSign(2);
+                        goods.setBeforeSign(1);
+                        goods.setCreateTime(DateUtils.getNowTime());
+                        goods.setUpdateTime(DateUtils.getNowTime());
+                        save(goods);
+                    }
+                }
+            }
+        });
+
+        return true;
+    }
+
+    private Long businessCheck(String name,Long projectId){
+        CourseProjectType projectType = iCourseProjectTypeService.getById(projectId);
+        CourseBusiness business = iCourseBusinessService
+                .getOne(new LambdaQueryWrapper<CourseBusiness>().eq(CourseBusiness::getProjectId, projectId).eq(CourseBusiness::getBusinessName, name).eq(CourseBusiness::getStatus, 1).last("limit 1"));
+        if (ObjectUtils.isNull(business)){
+            //新增
+            CourseBusiness business1 = new CourseBusiness();
+            business1.setBusinessName(name);
+            business1.setProjectId(projectId.intValue());
+            business1.setEncoder(ServletUtils.getEncoded("YW"));
+            business1.setStatus(1);
+            business1.setSort(1);
+            business1.setCreateTime(DateUtils.getNowTime());
+            business1.setUpdateTime(DateUtils.getNowTime());
+            business1.setAliasName(name+projectType.getProjectName());
+            business1.setPeriodType(1);
+            business1.setPeriodNumber(2);
+            business1.setPeriodCheckSign(1);
+            business1.setPhotoSign(1);
+            business1.setBuySign(1);
+            iCourseBusinessService.save(business1);
+            return business1.getId();
+        }
+        return business.getId();
+    }
+
+    private BigDecimal getPrice(String businessName,String goodName){
+        if (businessName.contains("一级建造师") && goodName.contains("全科")){
+            return new BigDecimal("3580");
+        }else if (businessName.contains("一级建造师") && goodName.contains("单科实务")){
+            return new BigDecimal("1080");
+        }else if (businessName.contains("二级建造师") && goodName.contains("全科")){
+            return new BigDecimal("2280");
+        }else if (businessName.contains("二级建造师") && goodName.contains("单科实务")){
+            return new BigDecimal("980");
+        }else if (businessName.contains("注册安全工程师") && goodName.contains("全科")){
+            return new BigDecimal("3680");
+        }else if (businessName.contains("注册安全工程师") && goodName.contains("单科实务")){
+            return new BigDecimal("1280");
+        }else if (businessName.contains("监理工程师") && goodName.contains("全科")){
+            return new BigDecimal("2580");
+        }else if (businessName.contains("监理工程师") && goodName.contains("单科实务")){
+            return new BigDecimal("1080");
+        }else if (businessName.contains("中级经济师") && goodName.contains("全科")){
+            return new BigDecimal("2280");
+        }else if (businessName.contains("中级经济师") && goodName.contains("单科实务")){
+            return new BigDecimal("1280");
+        }else if (businessName.contains("初级社会工作者") && goodName.contains("全科")){
+            return new BigDecimal("1280");
+        }else if (businessName.contains("中级社会工作者") && goodName.contains("全科")){
+            return new BigDecimal("1580");
+        }
+        return BigDecimal.ZERO;
+    }
+
     /**
      * 下载Markdown文件
      */

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java

@@ -430,4 +430,7 @@ public class GoodsVo {
 
 	/** 是否有题库答案:1 有 0没有 */
 	private Integer isQuestionAnswer;
+
+	@ApiModelProperty("外部考前订单标签:0否1是")
+	private Integer beforeSign;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderQueryBo.java

@@ -146,4 +146,7 @@ public class OrderQueryBo extends BaseEntity {
 
 	@ApiModelProperty("业务员")
 	private String salesman;
+
+	@ApiModelProperty("外部考前订单标签:0否1是")
+	private Integer beforeSign;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/OrderGoods.java

@@ -143,4 +143,7 @@ private static final long serialVersionUID=1L;
     /** 技术助工id */
     private String artisanDataId;
 
+    @ApiModelProperty("外部考前订单标签:0否1是")
+    private Integer beforeSign;
+
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java

@@ -155,4 +155,5 @@ public interface IOrderService extends IService<Order> {
 
     String closeOrderImport(List<CloseOrderImport> importList);
 
+	List<OrderKaoQianListExportVo> exportKaoqianList(OrderQueryBo bo);
 }

+ 36 - 8
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.pagehelper.Page;
 import com.zhongzheng.common.constant.Constants;
@@ -616,6 +617,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             }
             OrderGoods orderGoods = BeanUtil.toBean(g, OrderGoods.class);
             orderGoods.setOrderSn(out_trade_no);
+            orderGoods.setBeforeSign(goods.getBeforeSign());
             if (g.getGoodsInputData() != null) {
                 orderGoods.setGoodsInputData(JSON.toJSONString(g.getGoodsInputData()));
             }
@@ -853,6 +855,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 //            }
             OrderGoods orderGoods = BeanUtil.toBean(g, OrderGoods.class);
             orderGoods.setOrderSn(out_trade_no);
+            orderGoods.setBeforeSign(goods.getBeforeSign());
             if (g.getGoodsInputData() != null) {
                 orderGoods.setGoodsInputData(JSON.toJSONString(g.getGoodsInputData()));
             }
@@ -1500,6 +1503,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
             OrderGoods orderGoods = BeanUtil.toBean(g, OrderGoods.class);
             orderGoods.setOrderSn(out_trade_no);
+            orderGoods.setBeforeSign(goods.getBeforeSign());
             orderGoods.setGoodsYear(goods.getYear().toString());
             if (g.getGoodsInputData() != null) {
                 orderGoods.setGoodsInputData(JSON.toJSONString(g.getGoodsInputData()));
@@ -1946,6 +1950,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
             OrderGoods orderGoods = BeanUtil.toBean(g, OrderGoods.class);
             orderGoods.setOrderSn(out_trade_no);
+            orderGoods.setBeforeSign(goods.getBeforeSign());
             if (g.getGoodsInputData() != null) {
                 orderGoods.setGoodsInputData(JSON.toJSONString(g.getGoodsInputData()));
             }
@@ -2098,16 +2103,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             if (Validator.isEmpty(userVo.getGzhOpenId())) {
                 throw new CustomException("请先授权绑定公众号信息");
             }
-            log.error("公众号opendID:"+userVo.getGzhOpenId());
-            payResult = iWxPayService.paymentGzh(pay_no, userVo.getGzhOpenId(), body, payPrice, bo.getUrl());
-            try {
+            if (tenantId.equals("480813706424615769")){
                 ObjectMapper mapper = new ObjectMapper();
-                String prettyJson = mapper.writerWithDefaultPrettyPrinter()
-                        .writeValueAsString(payResult);
-                log.error("payResul微信返回结果:"+prettyJson);
-            }catch (Exception e){
-                e.printStackTrace();
+                try {
+                    log.error("前端参数:"+ mapper.writeValueAsString(bo));
+                } catch (JsonProcessingException e) {
+                    e.printStackTrace();
+                }
             }
+            payResult = iWxPayService.paymentGzh(pay_no, userVo.getGzhOpenId(), body, payPrice, bo.getUrl());
         }else {
             instTimeSettleOrder(add,DateUtils.getNowTime());
         }
@@ -2188,6 +2192,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
             OrderGoods orderGoods = BeanUtil.toBean(g, OrderGoods.class);
             orderGoods.setOrderSn(out_trade_no);
+            orderGoods.setBeforeSign(goods.getBeforeSign());
             if (g.getGoodsInputData() != null) {
                 orderGoods.setGoodsInputData(JSON.toJSONString(g.getGoodsInputData()));
             }
@@ -3924,6 +3929,29 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return "";
     }
 
+    @Override
+    public List<OrderKaoQianListExportVo> exportKaoqianList(OrderQueryBo bo) {
+        if (Validator.isNotEmpty(bo.getOrderGoodsStatus())) {
+            if (bo.getOrderGoodsStatus() == -1) {
+                Integer[] orderStatus = new Integer[]{-2, -1};
+                bo.setOrderStatus(orderStatus);
+            } else if (bo.getOrderGoodsStatus() == 0) {
+                bo.setGoodsPayStatus(1);
+            } else if (bo.getOrderGoodsStatus() == 1) {
+                //已支付 sql实现
+            } else if (bo.getOrderGoodsStatus() == 2) {
+                bo.setRefundStatus(2);
+            }
+        }
+        List<OrderListVo> orderListVos = this.baseMapper.selectListByBo(bo);
+        List<OrderKaoQianListExportVo> list = new ArrayList<>();
+        for(OrderListVo vo : orderListVos){
+            OrderKaoQianListExportVo item = BeanUtil.toBean(vo,OrderKaoQianListExportVo.class);
+            list.add(item);
+        }
+        return list;
+    }
+
     /**
      * 根据身份证号码判断性别
      *

+ 76 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderKaoQianListExportVo.java

@@ -0,0 +1,76 @@
+package com.zhongzheng.modules.order.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+
+/**
+ * 订单视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2021-11-08
+ */
+@Data
+@ApiModel("订单视图对象")
+public class OrderKaoQianListExportVo {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 订单编号
+     */
+    @Excel(name = "订单编号")
+    @ApiModelProperty("订单编号")
+    private String orderSn;
+
+    /**
+     * 真实姓名
+     */
+    @Excel(name = "姓名")
+    @ApiModelProperty("真实姓名")
+    private String realname;
+
+    @Excel(name = "手机号码")
+    @ApiModelProperty("手机号码")
+    private String telphone;
+
+    /**
+     * 身份证号
+     */
+    @Excel(name = "身份证号")
+    @ApiModelProperty("身份证号")
+    private String idCard;
+
+
+    @ApiModelProperty("公司名称")
+    private String companyName;
+
+    /**
+     * 商品名称
+     */
+    @Excel(name = "商品名称")
+    @ApiModelProperty("商品名称")
+    private String goodsName;
+
+    /**
+     * 订单价格
+     */
+    @Excel(name = "订单价格")
+    @ApiModelProperty("订单价格")
+    private BigDecimal orderPrice;
+
+    @Excel(name = "专业")
+    @ApiModelProperty("专业")
+    private String categoryName;
+
+
+    @Excel(name = "教育名称")
+    @ApiModelProperty("教育名称")
+    private String educationName;
+
+
+
+}

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java

@@ -376,7 +376,7 @@ public class WxPayServiceImpl implements IWxPayService {
             String TenantId = ServletUtils.getRequest().getHeader("TenantId");
             data.put("attach", TenantId);
             resp = wxpay.unifiedOrder(data);
-            log.error("h5支付:"+JSON.toJSONString(resp));
+//            log.error("h5支付:"+JSON.toJSONString(resp));
             Map<String, String> result = new HashMap<>();
             //         result.put("provider","wxpay");
             result.put("appId", gzhAppid);

+ 13 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/MajorMapper.xml

@@ -110,4 +110,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="getMajorByIdNoTenant" parameterType="java.lang.Long"  resultType="com.zhongzheng.modules.course.domain.Major">
         SELECT * FROM major where id = #{majorId}
     </select>
+
+    <select id="getOnebyName" resultType="com.zhongzheng.modules.course.domain.Major">
+        SELECT
+            cs.*
+        FROM
+            major cs
+                LEFT JOIN major_project csp ON cs.id = csp.major_id
+        WHERE
+            csp.project_id = #{projectId}
+          AND cs.category_name = #{name}
+          AND cs.`status` = 1
+            LIMIT 1
+    </select>
 </mapper>

+ 1 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml

@@ -109,6 +109,7 @@
         <result property="mailSign" column="mail_sign"/>
         <result property="classHoursStr" column="classHoursStr"/>
         <result property="hoursSign" column="hours_Sign"/>
+        <result property="beforeSign" column="before_sign"/>
 
         <result property="supplyName" column="supply_name"/>
         <result property="educationName" column="education_name"/>

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

@@ -158,6 +158,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="orderType != null and orderType != ''">
             AND o.order_type = #{orderType}
         </if>
+        <if test="beforeSign != null and beforeSign != ''">
+            AND og.before_sign = #{beforeSign}
+        </if>
         <if test="orderStatus != null ">
             AND o.order_status in
             <foreach collection="orderStatus" item="item" index="index" open="(" close=")" separator=",">