he2802 vor 2 Jahren
Ursprung
Commit
b6faf848ab
58 geänderte Dateien mit 816 neuen und 375 gelöschten Zeilen
  1. 12 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/order/TopOldOrderCheckLogController.java
  2. 6 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/system/SuperSysLoginController.java
  3. 10 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/system/SysTenantController.java
  4. 2 2
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/top/TopSysRoleController.java
  5. 1 1
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/top/TopSysUserController.java
  6. 10 10
      zhongzheng-admin-saas/src/main/resources/application-dev.yml
  7. 14 0
      zhongzheng-admin-saas/src/main/resources/application-prod.yml
  8. 14 0
      zhongzheng-admin/src/main/resources/application-prod.yml
  9. 11 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserStudyRecordController.java
  10. 14 0
      zhongzheng-api/src/main/resources/application-prod.yml
  11. 1 1
      zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/TopSysRole.java
  12. 1 1
      zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/TopSysUser.java
  13. 4 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java
  14. 13 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java
  15. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/UserPeriodServiceImpl.java
  16. 5 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassPeriodVo.java
  17. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/domain/InformRemindRelevance.java
  18. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderInvoiceAddBo.java
  19. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderInvoiceBo.java
  20. 2 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java
  21. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderInvoiceServiceImpl.java
  22. 44 38
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  23. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTenantQueryBo.java
  24. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTopTenantEditBo.java
  25. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/bo/TopDivideLogQueryBo.java
  26. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/bo/TopDivideOrderQueryBo.java
  27. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/domain/TopInformRemindRelevance.java
  28. 9 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/vo/TopDivideOrderVo.java
  29. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderAddBo.java
  30. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderGoodsAddBo.java
  31. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopOldOrder.java
  32. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/ITopOldOrderCheckLogService.java
  33. 7 10
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopCourseProjectTypeServiceImpl.java
  34. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderCheckLogServiceImpl.java
  35. 311 246
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java
  36. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderVo.java
  37. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/order/service/impl/TopOrderBankPayServiceImpl.java
  38. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/mapper/TopSysRoleMapper.java
  39. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/mapper/TopSysUserRoleMapper.java
  40. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/ITopSysRoleService.java
  41. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/impl/TopSysDeptServiceImpl.java
  42. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/impl/TopSysMenuServiceImpl.java
  43. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/impl/TopSysRoleServiceImpl.java
  44. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/impl/TopSysUserServiceImpl.java
  45. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserStudyRecordAddBo.java
  46. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyRecordService.java
  47. 111 8
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java
  48. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/SectionStudyRecordVo.java
  49. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserStudyRecordVo.java
  50. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java
  51. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/top/TopDivideLogMapper.xml
  52. 20 4
      zhongzheng-system/src/main/resources/mapper/modules/top/TopDivideOrderMapper.xml
  53. 27 5
      zhongzheng-system/src/main/resources/mapper/modules/top/TopOldOrderMapper.xml
  54. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/top/TopSysRoleMapper.xml
  55. 27 16
      zhongzheng-system/src/main/resources/mapper/modules/top/TopSysUserMapper.xml
  56. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/user/UserBankRecordMapper.xml
  57. 3 18
      zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml
  58. 50 1
      zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyRecordMapper.xml

+ 12 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/order/TopOldOrderCheckLogController.java

@@ -97,4 +97,16 @@ public class TopOldOrderCheckLogController extends BaseController {
     }
 
 
+    @ApiOperation("批量修改订单分成审核记录")
+    @PreAuthorize("@ss.hasPermi('system:log:edit')")
+    @Log(title = "批量修改订单分成审核记录", businessType = BusinessType.UPDATE)
+    @PostMapping("/updateBatchDivideByEditBo")
+    public AjaxResult<Void> updateBatchDivideByEditBo(@RequestBody List<TopOldOrderCheckLogEditBo> bo) {
+        TopLoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        for(TopOldOrderCheckLogEditBo editBo : bo){
+            editBo.setLoginId(loginUser.getUser().getUserId());
+            editBo.setLoginName(loginUser.getUser().getUserName());
+        }
+        return toAjax(iTopOldOrderCheckLogService.updateBatchDivideByEditBo(bo) ? 1 : 0);
+    }
 }

+ 6 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/system/SuperSysLoginController.java

@@ -12,6 +12,7 @@ import com.zhongzheng.framework.web.service.TopSysPermissionService;
 import com.zhongzheng.framework.web.service.TopTokenService;
 import com.zhongzheng.modules.top.user.domain.TopSysMenu;
 import com.zhongzheng.modules.top.user.service.ITopSysMenuService;
+import com.zhongzheng.modules.top.user.service.ITopSysRoleService;
 import com.zhongzheng.modules.top.user.service.ITopSysUserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -54,6 +55,9 @@ public class SuperSysLoginController
 
     @Autowired
     private ITopSysUserService userService;
+
+    @Autowired
+    private ITopSysRoleService iTopSysRoleService;
     /**
      * 登录方法
      *
@@ -89,10 +93,12 @@ public class SuperSysLoginController
         Set<String> roles = permissionService.getRolePermission(user);
         // 权限集合
         Set<String> permissions = permissionService.getMenuPermission(user);
+        List<Integer> rolesId = iTopSysRoleService.selectRoleListByUserId(user.getUserId());
         Map<String,Object> map = new HashMap<>();
         map.put("user", user);
         map.put("roles", roles);
         map.put("permissions", permissions);
+        map.put("rolesId", rolesId);
 
         return AjaxResult.success(map);
 

+ 10 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/system/SysTenantController.java

@@ -135,6 +135,16 @@ public class SysTenantController extends BaseController {
         return toAjax(iSysTenantService.deleteTopTenant(bo) ? 1 : 0);
     }
 
+    /**
+     * 查询系统商户列表
+     */
+    @ApiOperation("查询系统商户列表")
+    @GetMapping("/top/list")
+    public AjaxResult<List<SysTenantVo>> getTopListAll(SysTenantQueryBo bo) {
+        List<SysTenantVo> list = iSysTenantService.queryList(bo);
+        return AjaxResult.success(list);
+    }
+
     /**
      * 删除系统商户
      */

+ 2 - 2
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/top/TopSysRoleController.java

@@ -6,6 +6,7 @@ import com.zhongzheng.common.annotation.Log;
 import com.zhongzheng.common.constant.UserConstants;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.core.domain.entity.TopSysRole;
 import com.zhongzheng.common.core.domain.model.TopLoginUser;
 import com.zhongzheng.common.core.page.TableDataInfo;
 import com.zhongzheng.common.enums.BusinessType;
@@ -14,7 +15,6 @@ import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.poi.ExcelUtil;
 import com.zhongzheng.framework.web.service.TopSysPermissionService;
 import com.zhongzheng.framework.web.service.TopTokenService;
-import com.zhongzheng.modules.top.user.domain.TopSysRole;
 import com.zhongzheng.modules.top.user.service.ITopSysRoleService;
 import com.zhongzheng.modules.top.user.service.ITopSysUserService;
 import io.swagger.annotations.Api;
@@ -29,7 +29,7 @@ import java.util.List;
 
 /**
  * 角色信息Controller
- * 
+ *
  * @author ruoyi
  * @date 2023-03-10
  */

+ 1 - 1
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/top/TopSysUserController.java

@@ -8,6 +8,7 @@ import com.zhongzheng.common.constant.UserConstants;
 import com.zhongzheng.common.core.bo.SysUserEditBo;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.core.domain.entity.TopSysRole;
 import com.zhongzheng.common.core.domain.entity.TopSysUser;
 import com.zhongzheng.common.core.domain.model.TopLoginUser;
 import com.zhongzheng.common.core.page.TableDataInfo;
@@ -19,7 +20,6 @@ import com.zhongzheng.common.utils.ToolsUtils;
 import com.zhongzheng.common.utils.poi.ExcelUtil;
 import com.zhongzheng.framework.web.service.TopTokenService;
 import com.zhongzheng.modules.course.bo.CourseBusinessQueryBo;
-import com.zhongzheng.modules.top.user.domain.TopSysRole;
 import com.zhongzheng.modules.top.user.service.ITopSysPostService;
 import com.zhongzheng.modules.top.user.service.ITopSysRoleService;
 import com.zhongzheng.modules.top.user.service.ITopSysUserService;

+ 10 - 10
zhongzheng-admin-saas/src/main/resources/application-dev.yml

@@ -154,18 +154,18 @@ Nuonuo:
     APPSecret: 07168A248B2844E0
 
 oldOrder:
-    studyRecord: http://test.jqbao.net/WitSystem/BussinessApi/GetStudyRecord
-    orderCheck: http://test.jqbao.net/WitSystem/BussinessApi/AuditUnderOrder
-    finishOrder: http://test.jqbao.net/WitSystem/BussinessApi/CompleteOrder
-    refuseCheck: http://test.jqbao.net/WitSystem/BussinessApi/ReFundAuditResult
-    inputOrderSn: http://test.jqbao.net/WitSystem/BussinessApi/GetNewYxtinputOrderSn
-    checkOrderStudent: http://test.jqbao.net/WitSystem/BussinessApi/ReAuditUnderOrder
-    checkOrderBrokerage: http://test.jqbao.net/WitSystem/BussinessApi/CommissionRate
-    refundPay: http://192.168.1.222:6030/common/platform/pay
-    refundPayHandle: http://192.168.1.222:6030/common/platform/pay/handle
+    studyRecord: http://gdxypx.xy.com/WitSystem/BussinessApi/GetStudyRecord
+    orderCheck: http://gdxypx.xy.com/WitSystem/BussinessApi/AuditUnderOrder
+    finishOrder: http://gdxypx.xy.com/WitSystem/BussinessApi/CompleteOrder
+    refuseCheck: http://gdxypx.xy.com/WitSystem/BussinessApi/ReFundAuditResult
+    inputOrderSn: http://gdxypx.xy.com/WitSystem/BussinessApi/GetNewYxtinputOrderSn
+    checkOrderStudent: http://gdxypx.xy.com/WitSystem/BussinessApi/ReAuditUnderOrder
+    checkOrderBrokerage: http://gdxypx.xy.com/WitSystem/BussinessApi/CommissionRate
+    refundPay: http://192.168.1.222:5030/common/platform/pay
+    refundPayHandle: http://192.168.1.222:5030/common/platform/pay/handle
 
 oldSys:
     host: http://gdxypx.xy.com
 
 invoice:
-    host: http://192.168.1.222:8077/sys/common/openMplatform/log
+    host: http://192.168.1.222:7077/sys/common/openMplatform/log

+ 14 - 0
zhongzheng-admin-saas/src/main/resources/application-prod.yml

@@ -153,5 +153,19 @@ Nuonuo:
     APPkey: 39149760
     APPSecret: 07168A248B2844E0
 
+oldOrder:
+    studyRecord: http://www.xyyxt.net/WitSystem/BussinessApi/GetStudyRecord
+    orderCheck: http://www.xyyxt.net/WitSystem/BussinessApi/AuditUnderOrder
+    finishOrder: http://www.xyyxt.net/WitSystem/BussinessApi/CompleteOrder
+    refuseCheck: http://www.xyyxt.net/WitSystem/BussinessApi/ReFundAuditResult
+    inputOrderSn: http://www.xyyxt.net/WitSystem/BussinessApi/GetNewYxtinputOrderSn
+    checkOrderStudent: http://www.xyyxt.net/WitSystem/BussinessApi/ReAuditUnderOrder
+    checkOrderBrokerage: http://www.xyyxt.net/WitSystem/BussinessApi/CommissionRate
+    refundPay: https://cloud.xyyxt.net/common/platform/pay
+    refundPayHandle: https://cloud.xyyxt.net/common/platform/pay/handle
+
 oldSys:
     host: https://www.xyyxt.net
+
+invoice:
+    host: https://ptapi.gdzzkj.net/sys/common/openMplatform/log

+ 14 - 0
zhongzheng-admin/src/main/resources/application-prod.yml

@@ -153,5 +153,19 @@ Nuonuo:
     APPkey: 39149760
     APPSecret: 07168A248B2844E0
 
+oldOrder:
+    studyRecord: http://www.xyyxt.net/WitSystem/BussinessApi/GetStudyRecord
+    orderCheck: http://www.xyyxt.net/WitSystem/BussinessApi/AuditUnderOrder
+    finishOrder: http://www.xyyxt.net/WitSystem/BussinessApi/CompleteOrder
+    refuseCheck: http://www.xyyxt.net/WitSystem/BussinessApi/ReFundAuditResult
+    inputOrderSn: http://www.xyyxt.net/WitSystem/BussinessApi/GetNewYxtinputOrderSn
+    checkOrderStudent: http://www.xyyxt.net/WitSystem/BussinessApi/ReAuditUnderOrder
+    checkOrderBrokerage: http://www.xyyxt.net/WitSystem/BussinessApi/CommissionRate
+    refundPay: https://cloud.xyyxt.net/common/platform/pay
+    refundPayHandle: https://cloud.xyyxt.net/common/platform/pay/handle
+
 oldSys:
     host: http://test.jqbao.net
+
+invoice:
+    host: https://ptapi.gdzzkj.net/sys/common/openMplatform/log

+ 11 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserStudyRecordController.java

@@ -131,6 +131,17 @@ public class UserStudyRecordController extends BaseController {
         return AjaxResult.success(iUserStudyRecordService.menuAllList(bo));
     }
 
+    /**
+     * 查询课程目录结构列表
+     */
+    @ApiOperation("查询课程所有子目录带试卷结构列表")
+    @GetMapping("/menuAllListWithExam")
+    public AjaxResult<List<ClassPeriodVo>> menuAllListWithExam(UserStudyRecordQueryBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        return AjaxResult.success(iUserStudyRecordService.menuAllListWithExam(bo));
+    }
+
     @ApiOperation("查询用户每天学习记录列表")
     @GetMapping("/listUserRecord")
     public TableDataInfo<SectionStudyRecordVo> listUserRecord(UserStudyRecordQueryBo bo) {

+ 14 - 0
zhongzheng-api/src/main/resources/application-prod.yml

@@ -165,5 +165,19 @@ Nuonuo:
     APPkey: 39149760
     APPSecret: 07168A248B2844E0
 
+oldOrder:
+    studyRecord: http://www.xyyxt.net/WitSystem/BussinessApi/GetStudyRecord
+    orderCheck: http://www.xyyxt.net/WitSystem/BussinessApi/AuditUnderOrder
+    finishOrder: http://www.xyyxt.net/WitSystem/BussinessApi/CompleteOrder
+    refuseCheck: http://www.xyyxt.net/WitSystem/BussinessApi/ReFundAuditResult
+    inputOrderSn: http://www.xyyxt.net/WitSystem/BussinessApi/GetNewYxtinputOrderSn
+    checkOrderStudent: http://www.xyyxt.net/WitSystem/BussinessApi/ReAuditUnderOrder
+    checkOrderBrokerage: http://www.xyyxt.net/WitSystem/BussinessApi/CommissionRate
+    refundPay: https://cloud.xyyxt.net/common/platform/pay
+    refundPayHandle: https://cloud.xyyxt.net/common/platform/pay/handle
+
 oldSys:
     host: http://test.jqbao.net
+
+invoice:
+    host: https://ptapi.gdzzkj.net/sys/common/openMplatform/log

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/domain/TopSysRole.java → zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/TopSysRole.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.top.user.domain;
+package com.zhongzheng.common.core.domain.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.zhongzheng.common.annotation.Excel;

+ 1 - 1
zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/TopSysUser.java

@@ -144,7 +144,7 @@ public class TopSysUser implements Serializable
 
     /** 角色对象 */
     @TableField(exist = false)
-    private List<SysRole> roles;
+    private List<TopSysRole> roles;
 
     /** 角色组 */
     @TableField(exist = false)

+ 4 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java

@@ -97,6 +97,7 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
         LambdaQueryWrapper<SysTenant> lqw = Wrappers.lambdaQuery();
         lqw.ne(SysTenant::getStatus, -1);
         lqw.like(StrUtil.isNotBlank(bo.getTenantName()), SysTenant::getTenantName, bo.getTenantName());
+        lqw.eq(ObjectUtils.isNotNull(bo.getTenantid()),SysTenant::getTenantId, bo.getTenantid());
         return entity2Vo(this.list(lqw));
     }
 
@@ -444,6 +445,7 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
         add.setTenantId(createTenantId());
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
+        add.setStatus(1);
         if (ObjectUtils.isNotNull(bo.getAccountList())){
             add.setAccountInformation(JSONArray.toJSONString(bo.getAccountList()));
         }
@@ -463,6 +465,8 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
 //        if(checkNameUnique(tenant)){
 //            throw new CustomException("公司名已存在");
 //        }
+        tenant.setHostH5(bo.getHostH5());
+        tenant.setHostPc(bo.getHostPc());
         tenant.setBillType(bo.getBillType());
         tenant.setBillDay(bo.getBillDay());
         tenant.setAccountInformation(JSONArray.toJSONString(bo.getAccountList()));

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

@@ -35,6 +35,7 @@ import com.zhongzheng.modules.course.service.ICourseSubjectService;
 import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
 import com.zhongzheng.modules.grade.vo.ClassGradeUserGoodsVo;
+import com.zhongzheng.modules.inform.domain.InformRemind;
 import com.zhongzheng.modules.system.service.ISysConfigService;
 import com.zhongzheng.modules.user.bo.*;
 import com.zhongzheng.modules.user.domain.*;
@@ -185,6 +186,18 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
             List<ClassGradeUserGoodsVo> classGradeUserGoodsVos = iClassGradeUserService.listUser(classGradeUserQueryBo);
             userVo.setClassGradeUserGoodsVoList(classGradeUserGoodsVos);
             userVo.setOrderNum(userVo.getGoodsCourseNum());
+
+            UserVisitLog userVisitLog = iUserVisitLogService.getOne(new LambdaQueryWrapper<UserVisitLog>().eq(UserVisitLog::getUserId, userVo.getUserId()).orderByDesc(UserVisitLog::getId).last("limit 1"));
+            if(Validator.isNotEmpty(userVisitLog)){
+                userVo.setLastVisitTime(userVisitLog.getCreateTime());
+                userVo.setVisitFromPlat(Integer.parseInt(userVisitLog.getFromPlat()));
+            }
+
+            UserStudyLog userStudyLog = iUserStudyLogService.getOne(new LambdaQueryWrapper<UserStudyLog>().eq(UserStudyLog::getUserId, userVo.getUserId()).orderByDesc(UserStudyLog::getId).last("limit 1"));
+            if(Validator.isNotEmpty(userStudyLog)){
+                userVo.setLastStudyTime(userStudyLog.getCreateTime());
+                userVo.setStudyFromPlat(Integer.parseInt(userStudyLog.getFromPlat()));
+            }
         }
         return list;
     }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/UserPeriodServiceImpl.java

@@ -556,6 +556,8 @@ public class UserPeriodServiceImpl extends ServiceImpl<UserPeriodMapper, UserPer
             if(Validator.isNotEmpty(business7)&&"七大员".equals(business7.getBusinessName())){
                 hasSeven = true;
                 studyRec.setCourseType(17);
+                //去掉七大员推送
+                return true;
             }
         }
         UserVo userVo = iUserService.queryById(bo.getUserId());

+ 5 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassPeriodVo.java

@@ -113,8 +113,8 @@ public class ClassPeriodVo implements Comparable<ClassPeriodVo> {
 
 
 	/** 1模块 2章 3节 4卷 */
-	@Excel(name = "1模块 2章 3节 4卷")
-	@ApiModelProperty("1模块 2章 3节 4卷")
+	@Excel(name = "1模块 2章 3节 4章卷 5模块卷")
+	@ApiModelProperty("1模块 2章 3节 4章卷 5模块卷")
 	private Long type;
 
 	/** 當前位置 */
@@ -206,6 +206,9 @@ public class ClassPeriodVo implements Comparable<ClassPeriodVo> {
 	private Long endTotalTime;
 
 	private Long secTotalTime;
+
+	@ApiModelProperty("试卷ID")
+	private Long examId;
 	@Override
 	public int compareTo(ClassPeriodVo o) {
 		if(o.getCourseSort()==this.getCourseSort()){

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/domain/InformRemindRelevance.java

@@ -37,4 +37,6 @@ private static final long serialVersionUID=1L;
     private Long updateTime;
 
     private Long tenantId;
+    /** 关联类型:1云学堂后台 2中正总平台 */
+    private Long relevanceType;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderInvoiceAddBo.java

@@ -109,4 +109,6 @@ public class OrderInvoiceAddBo {
     private Long periodTime;
     @ApiModelProperty("订单商品ID数组")
     private List<Long> orderGoodsIds;
+    @ApiModelProperty("发票备注")
+    private String invoiceRemark;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderInvoiceBo.java

@@ -40,4 +40,6 @@ public class OrderInvoiceBo implements Serializable {
     private String SalerAddress = "广东省广州市天河区燕岭路123号3楼";
 
     private OrderInvoiceDetailBo invoiceDetail;
+
+    private String remark;
 }

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java

@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.Page;
 import com.zhongzheng.common.exception.CustomException;
+import com.zhongzheng.common.type.EncryptHandler;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
@@ -496,7 +497,7 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
         List<OrderUserGoodsVo> allList = new ArrayList<>();
         for(String tel : bo.getTel()){
             User user = iUserService.getOne(new LambdaQueryWrapper<User>()
-                    .eq(User::getTelphone,tel).last("limit 1"));
+                    .eq(User::getTelphone, EncryptHandler.encrypt(tel)).last("limit 1"));
             if(Validator.isNull(user)){
                 OrderUserGoodsVo goodsBo = new OrderUserGoodsVo();
                 goodsBo.setTel(tel);

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderInvoiceServiceImpl.java

@@ -151,6 +151,7 @@ public class OrderInvoiceServiceImpl extends ServiceImpl<OrderInvoiceMapper, Ord
         String invoiceOrderSn = DateUtils.getInvoiceOrderSn();
         invoiceBo.setOrderNo(invoiceOrderSn);
         invoiceBo.setInvoiceDate(DateUtils.timestampToDateFormat(DateUtils.getNowTime(),"yyyy-MM-dd HH:mm:ss"));
+        invoiceBo.setRemark(bo.getInvoiceRemark());
         if (bo.getSubject() == 1){
             //个人
             invoiceBo.setBuyerName(bo.getInvoiceTitle());
@@ -183,6 +184,7 @@ public class OrderInvoiceServiceImpl extends ServiceImpl<OrderInvoiceMapper, Ord
         params.put("sign", sign);
         params.put("content", JSONObject.toJSONString(hostBo));
         params.put("orderNo", invoiceOrderSn);
+        params.put("fromPlat", "1");
         params.put("tenantId", ServletUtils.getRequest().getHeader("TenantId"));
         String respone = "";
         try {

+ 44 - 38
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -3,6 +3,7 @@ package com.zhongzheng.modules.order.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -986,6 +987,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             //后台录单
             add.setOrderUncollected(BigDecimal.ZERO);
             add.setOrderReceived(add.getPayPrice());
+            add.setAccomplishTime(DateUtils.getNowTime());
         }else {
             add.setOrderUncollected(add.getPayPrice());
             add.setOrderReceived(BigDecimal.ZERO);
@@ -1027,7 +1029,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                 List<TopCostTpItem> tpItems = new ArrayList<>();
                 for (TopCostTpItem x : items) {
                     BigDecimal price = goodsPrice;
-                    if (x.getDockStatus() == 1){
+                    if (ObjectUtil.isNotNull(x.getDockStatus()) && x.getDockStatus() == 1){
                         //启用成本扣除项
                         switch (x.getDockType()){
                             case 1://百分比
@@ -1045,8 +1047,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                     }
 
                     if ((ObjectUtils.isNull(x.getMinValue()) && ObjectUtils.isNull(x.getMaxValue()))
-                            || (price.compareTo(x.getMinValue()) > 0 && price.compareTo(x.getMaxValue()) < 0)
-                            || (price.compareTo(x.getMinValue()) == 0 && price.compareTo(x.getMaxValue()) == 0)){
+                            || (price.compareTo(x.getMinValue()) > 0 && (x.getMaxValue().compareTo(new BigDecimal("-1.00")) == 0 || price.compareTo(x.getMaxValue()) < 0))
+                            || (price.compareTo(x.getMinValue()) == 0 && (x.getMaxValue().compareTo(new BigDecimal("-1.00")) == 0 || price.compareTo(x.getMaxValue()) == 0))){
                         tpItems.add(x);
                     }
                 }
@@ -1054,51 +1056,55 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                     //匹配不到成本项阶梯值
                     continue;
                 }
-                if (tpItems.size() > 1) {
-                    //匹配到多个成本项
-                    throw new CustomException(String.format("成本项阶梯匹配有误!(有多个)请检查【%s,价格:%s】", businessName, goodsPrice.toString()));
-                }
-                //换算订单成本和盈亏
-                TopCostTpItem topCostTpItem = tpItems.stream().findFirst().get();
-                BigDecimal cost = new BigDecimal("0.00");//成本
+//                if (tpItems.size() > 1) {
+//                    //匹配到多个成本项
+//                    throw new CustomException(String.format("成本项阶梯匹配有误!(有多个)请检查【%s,价格:%s】", businessName, goodsPrice.toString()));
+//                }
                 BigDecimal divideMoney = new BigDecimal("0.00");//分成
+                BigDecimal cost = new BigDecimal("0.00");//成本
                 BigDecimal bigDecimal = new BigDecimal("100");
-                if (topCostTpItem.getDockStatus() == 1){
-                    //启用成本扣除项
-                    switch (topCostTpItem.getDockType()){
+                for (TopCostTpItem tpItem : tpItems) {
+                    BigDecimal goodsDecimal = goodsPrice;
+                    //换算订单成本和盈亏
+                    TopCostTpItem topCostTpItem = tpItem;
+                    if (ObjectUtil.isNotNull(topCostTpItem.getDockStatus()) && topCostTpItem.getDockStatus() == 1){
+                        //启用成本扣除项
+                        switch (topCostTpItem.getDockType()){
+                            case 1://百分比
+                                //成本扣除金额
+                                BigDecimal divide1 = topCostTpItem.getDockValue().divide(bigDecimal);
+                                BigDecimal multiply = goodsDecimal.multiply(divide1);
+                                goodsDecimal = goodsDecimal.subtract(multiply);
+                                break;
+                            case 2://固定金额
+                                goodsDecimal = goodsDecimal.subtract(topCostTpItem.getDockValue());
+                                break;
+                            default:
+                                break;
+                        }
+                    }
+                    switch (topCostTpItem.getItemType()) {
                         case 1://百分比
-                            //成本扣除金额
-                            BigDecimal divide = topCostTpItem.getDockValue().divide(bigDecimal);
-                            BigDecimal multiply = goodsPrice.multiply(divide);
-                            goodsPrice = goodsPrice.subtract(multiply);
+                            BigDecimal divide = topCostTpItem.getTypeValue().divide(bigDecimal);
+                            BigDecimal multiply = goodsDecimal.multiply(divide);
+                            cost = cost.add(multiply);
+                            if (topCostTpItem.getItemCategory() == 1 && add.getFinishStatus() == 1){
+                                //订单已完单 并且是分成成本
+                                divideMoney = divideMoney.add(multiply);
+                            }
                             break;
                         case 2://固定金额
-                            goodsPrice = goodsPrice.subtract(topCostTpItem.getDockValue());
+                            cost = cost.add(topCostTpItem.getTypeValue());
+                            if (topCostTpItem.getItemCategory() == 1 && add.getFinishStatus() == 1){
+                                //分成
+                                divideMoney = divideMoney.add(topCostTpItem.getTypeValue());
+                            }
                             break;
                         default:
                             break;
                     }
-
-                }
-                switch (topCostTpItem.getItemType()) {
-                    case 1://百分比
-                        BigDecimal divide = topCostTpItem.getTypeValue().divide(bigDecimal);
-                        cost = goodsPrice.multiply(divide);
-                        if (topCostTpItem.getItemCategory() == 1 && add.getFinishStatus() == 1){
-                            //订单已完单 并且是分成成本
-                            divideMoney = goodsPrice.multiply(divide);
-                        }
-                        break;
-                    case 2://固定金额
-                        cost = topCostTpItem.getTypeValue();
-                        if (topCostTpItem.getItemCategory() == 1 && add.getFinishStatus() == 1){
-                            //分成
-                            divideMoney = topCostTpItem.getTypeValue();
-                        }
-                        break;
-                    default:
-                        break;
                 }
+
                 if (add.getFinishStatus() == 1 && divideTotal.compareTo(BigDecimal.ZERO) >0 ){
                     orderGoods.setDivideModel(divideModel);
                     orderGoods.setDivideMoney(divideMoney);

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTenantQueryBo.java

@@ -35,6 +35,8 @@ public class SysTenantQueryBo extends BaseEntity {
 	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
 	private String isAsc;
 
+	@ApiModelProperty("机构ID")
+	private Long tenantid;
 
 	/** 0 失效 1启用 */
 	@ApiModelProperty("0 失效 1启用")

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTopTenantEditBo.java

@@ -28,6 +28,12 @@ public class SysTopTenantEditBo {
     @NotNull(message = "名称不能为空")
     private String tenantName;
 
+    @ApiModelProperty("")
+    private String hostH5;
+
+    @ApiModelProperty("")
+    private String hostPc;
+
     @ApiModelProperty("账单类型 (1月份 2季度 3半年 4年度)")
     private Integer billType;
 

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/bo/TopDivideLogQueryBo.java

@@ -79,4 +79,6 @@ public class TopDivideLogQueryBo extends BaseEntity {
 	/** 业务号 */
 	@ApiModelProperty("业务号")
 	private String createNo;
+	@ApiModelProperty("账单类型 (1月份 2季度 3半年 4年度)")
+	private Integer billType;
 }

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/bo/TopDivideOrderQueryBo.java

@@ -96,4 +96,10 @@ public class TopDivideOrderQueryBo extends BaseEntity {
 
 	@ApiModelProperty("角色ID")
 	private Long roleId;
+
+	@ApiModelProperty("起始金额")
+	private BigDecimal startPrice;
+
+	@ApiModelProperty("结束金额")
+	private BigDecimal endPrice;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/domain/TopInformRemindRelevance.java

@@ -38,4 +38,6 @@ private static final long serialVersionUID=1L;
     /** 修改时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
+    /** 关联类型:1云学堂后台 2中正总平台 */
+    private Integer relevanceType;
 }

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/vo/TopDivideOrderVo.java

@@ -97,4 +97,13 @@ public class TopDivideOrderVo {
 	private BigDecimal brokerage;
 	@ApiModelProperty("角色名称")
 	private String roleName;
+
+	@ApiModelProperty("订单来源 1新系统C端订单,2旧系统C端订单,3旧系统B端订单 ")
+	private Integer orderFrom;
+	@ApiModelProperty("角色ID")
+	private Long roleId;
+	@ApiModelProperty("订单标准价格(合同金额)")
+	private BigDecimal orderPrice;
+	@ApiModelProperty("税前佣金")
+	private BigDecimal pretaxBrokerage;
 }

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderAddBo.java

@@ -182,4 +182,10 @@ public class TopOldOrderAddBo {
     /** 佣金 */
     @ApiModelProperty("佣金")
     private BigDecimal brokerage;
+
+    @ApiModelProperty("下单企业")
+    private String purchaseOrg;
+
+    @ApiModelProperty("是否需要完单标识:0不需要,1需要")
+    private Integer finishSign;
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderGoodsAddBo.java

@@ -87,4 +87,8 @@ public class TopOldOrderGoodsAddBo {
     private String userCard;
     @ApiModelProperty("学员手机号码")
     private String userPhone;
+    @ApiModelProperty("分成模式 1机构分成 2业务员分成")
+    private Integer divideModel;
+    @ApiModelProperty("分成钱")
+    private BigDecimal divideMoney;
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopOldOrder.java

@@ -148,4 +148,8 @@ private static final long serialVersionUID=1L;
     private Long checkTime;
     /** 账款结清时间 */
     private Long creditTime;
+    /** 下单企业 */
+    private String purchaseOrg;
+    /** 是否需要完单标识:0不需要,1需要 */
+    private Integer finishSign;
 }

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

@@ -45,6 +45,8 @@ public interface ITopOldOrderCheckLogService extends IService<TopOldOrderCheckLo
 
 	Boolean updateDivideByEditBo(TopOldOrderCheckLogEditBo bo);
 
+	Boolean updateBatchDivideByEditBo(List<TopOldOrderCheckLogEditBo> bo);
+
 	/**
 	 * 校验并删除数据
 	 * @param ids 主键集合

+ 7 - 10
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopCourseProjectTypeServiceImpl.java

@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -90,16 +91,12 @@ public class TopCourseProjectTypeServiceImpl extends ServiceImpl<TopCourseProjec
         TopCourseProjectType update = BeanUtil.toBean(bo, TopCourseProjectType.class);
         //判断是否有重复命名
         if (bo.getStatus() != -1) {
-            TopCourseProjectTypeQueryBo courseProjectTypeQueryBo = new TopCourseProjectTypeQueryBo();
-            courseProjectTypeQueryBo.setProjectName(bo.getProjectName());
-            courseProjectTypeQueryBo.setEducationId(bo.getEducationId());
-            courseProjectTypeQueryBo.setId(bo.getId());
-            List<Integer> longs = new ArrayList<>();
-            longs.add(1);
-            longs.add(0);
-            courseProjectTypeQueryBo.setStatus(longs);
-            Collection<TopCourseProjectTypeVo> courseProjectTypeVos = baseMapper.queryList(courseProjectTypeQueryBo);
-            if (CollectionUtils.isEmpty(courseProjectTypeVos)) {
+            List<TopCourseProjectType> topCourseProjectTypes = baseMapper.selectList(new LambdaQueryWrapper<TopCourseProjectType>()
+                    .eq(TopCourseProjectType::getProjectName, bo.getProjectName())
+                    .eq(TopCourseProjectType::getEducationId, bo.getEducationId())
+                    .eq(TopCourseProjectType::getId, bo.getId())
+                    .in(TopCourseProjectType::getStatus, Arrays.asList(0, 1)));
+            if (CollectionUtils.isEmpty(topCourseProjectTypes)) {
                 validEntityBeforeSave(update);
             }
         }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderCheckLogServiceImpl.java

@@ -157,6 +157,14 @@ public class TopOldOrderCheckLogServiceImpl extends ServiceImpl<TopOldOrderCheck
         return true;
     }
 
+    @Override
+    public Boolean updateBatchDivideByEditBo(List<TopOldOrderCheckLogEditBo> bo) {
+        for(TopOldOrderCheckLogEditBo editBo : bo){
+            updateDivideByEditBo(editBo);
+        }
+        return true;
+    }
+
     public void consentCheck(TopOldOrderCheckLog checkLog, TopOldOrderCheckLogEditBo bo) {
         List<TopOldOrderCheckLog> checkLogList = list(new LambdaQueryWrapper<TopOldOrderCheckLog>()
                         .eq(TopOldOrderCheckLog::getOrderSn, checkLog.getOrderSn())

Datei-Diff unterdrückt, da er zu groß ist
+ 311 - 246
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java


+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderVo.java

@@ -237,6 +237,9 @@ public class TopOldOrderVo {
 	@ApiModelProperty("退款审核角色名称")
 	private String refundName;
 
+	@ApiModelProperty("退款审核角色ID")
+	private Long refundRoleId;
+
 	@ApiModelProperty("审核进度")
 	private List<TopOldOrderCheckLogVo> checkLogVos;
 
@@ -270,4 +273,13 @@ public class TopOldOrderVo {
 
 	@ApiModelProperty("是否坏账")
 	private boolean badBill;
+
+	@ApiModelProperty("下单企业")
+	private String purchaseOrg;
+
+	@ApiModelProperty("审核标识:0审核,1不审核")
+	private Integer commercialTenant;
+
+	@ApiModelProperty("是否需要完单标识:0不需要,1需要")
+	private Integer finishSign;
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/order/service/impl/TopOrderBankPayServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.zhongzheng.common.core.domain.entity.TopSysRole;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.ToolsUtils;
@@ -23,7 +24,6 @@ import com.zhongzheng.modules.top.order.domain.TopOrderBankPay;
 import com.zhongzheng.modules.top.order.mapper.TopOrderBankPayMapper;
 import com.zhongzheng.modules.top.order.service.ITopOrderBankPayService;
 import com.zhongzheng.modules.top.order.vo.TopOrderBankPayVo;
-import com.zhongzheng.modules.top.user.domain.TopSysRole;
 import com.zhongzheng.modules.top.user.domain.TopSysUserRole;
 import com.zhongzheng.modules.top.user.service.ITopSysRoleService;
 import com.zhongzheng.modules.top.user.service.ITopSysUserRoleService;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/mapper/TopSysRoleMapper.java

@@ -1,7 +1,7 @@
 package com.zhongzheng.modules.top.user.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zhongzheng.modules.top.user.domain.TopSysRole;
+import com.zhongzheng.common.core.domain.entity.TopSysRole;
 
 import java.util.List;
 

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/mapper/TopSysUserRoleMapper.java

@@ -3,7 +3,7 @@ package com.zhongzheng.modules.top.user.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.common.core.domain.entity.SysRole;
-import com.zhongzheng.modules.top.user.domain.TopSysRole;
+import com.zhongzheng.common.core.domain.entity.TopSysRole;
 import com.zhongzheng.modules.top.user.domain.TopSysUserRole;
 
 import java.util.List;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/ITopSysRoleService.java

@@ -2,7 +2,7 @@ package com.zhongzheng.modules.top.user.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.common.core.domain.entity.SysRole;
-import com.zhongzheng.modules.top.user.domain.TopSysRole;
+import com.zhongzheng.common.core.domain.entity.TopSysRole;
 
 import java.util.List;
 import java.util.Set;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/impl/TopSysDeptServiceImpl.java

@@ -7,10 +7,10 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zhongzheng.common.annotation.DataScope;
 import com.zhongzheng.common.constant.UserConstants;
+import com.zhongzheng.common.core.domain.entity.TopSysRole;
 import com.zhongzheng.common.core.domain.entity.TopSysUser;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.modules.top.user.domain.TopSysDept;
-import com.zhongzheng.modules.top.user.domain.TopSysRole;
 import com.zhongzheng.modules.top.user.mapper.TopSysDeptMapper;
 import com.zhongzheng.modules.top.user.mapper.TopSysRoleMapper;
 import com.zhongzheng.modules.top.user.mapper.TopSysUserMapper;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/impl/TopSysMenuServiceImpl.java

@@ -5,12 +5,12 @@ import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zhongzheng.common.constant.UserConstants;
+import com.zhongzheng.common.core.domain.entity.TopSysRole;
 import com.zhongzheng.common.core.domain.entity.TopSysUser;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.modules.system.domain.vo.MetaVo;
 import com.zhongzheng.modules.system.domain.vo.RouterVo;
 import com.zhongzheng.modules.top.user.domain.TopSysMenu;
-import com.zhongzheng.modules.top.user.domain.TopSysRole;
 import com.zhongzheng.modules.top.user.domain.TopSysRoleMenu;
 import com.zhongzheng.modules.top.user.mapper.TopSysMenuMapper;
 import com.zhongzheng.modules.top.user.mapper.TopSysRoleMapper;

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/impl/TopSysRoleServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zhongzheng.common.annotation.DataScope;
 import com.zhongzheng.common.constant.UserConstants;
+import com.zhongzheng.common.core.domain.entity.TopSysRole;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.spring.SpringUtils;
 import com.zhongzheng.modules.top.user.domain.*;

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/impl/TopSysUserServiceImpl.java

@@ -14,6 +14,7 @@ import com.zhongzheng.common.annotation.DataScope;
 import com.zhongzheng.common.constant.UserConstants;
 import com.zhongzheng.common.core.domain.entity.SysRole;
 import com.zhongzheng.common.core.domain.entity.SysUser;
+import com.zhongzheng.common.core.domain.entity.TopSysRole;
 import com.zhongzheng.common.core.domain.entity.TopSysUser;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
@@ -25,7 +26,6 @@ import com.zhongzheng.modules.top.user.bo.TopSysUserAddBo;
 import com.zhongzheng.modules.top.user.bo.TopSysUserEditBo;
 import com.zhongzheng.modules.top.user.bo.TopSysUserQueryBo;
 import com.zhongzheng.modules.top.user.domain.TopSysPost;
-import com.zhongzheng.modules.top.user.domain.TopSysRole;
 import com.zhongzheng.modules.top.user.domain.TopSysUserPost;
 import com.zhongzheng.modules.top.user.domain.TopSysUserRole;
 import com.zhongzheng.modules.top.user.mapper.*;
@@ -191,7 +191,7 @@ public class TopSysUserServiceImpl extends ServiceImpl<TopSysUserMapper, TopSysU
                 sysUser.setRoleIds(collect);
                 List<TopSysRole> sysRoles = iTopSysRoleService.listByIds(collect);
                 if (CollectionUtils.isNotEmpty(sysRoles)){
-                    List<SysRole> collect1 = sysRoles.stream().map(x -> BeanUtil.toBean(x, SysRole.class)).collect(Collectors.toList());
+                    List<TopSysRole> collect1 = sysRoles.stream().map(x -> BeanUtil.toBean(x, TopSysRole.class)).collect(Collectors.toList());
                     sysUser.setRoles(collect1);
                 }
             }else {

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserStudyRecordAddBo.java

@@ -92,5 +92,5 @@ public class UserStudyRecordAddBo {
     /** 相似度 */
     @ApiModelProperty("相似度")
     private Integer similarity;
-
+    private Boolean erJianErZao;
 }

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

@@ -95,6 +95,8 @@ public interface IUserStudyRecordService extends IService<UserStudyRecord> {
 
 	List<ClassPeriodVo> menuAllList(UserStudyRecordQueryBo bo);
 
+	List<ClassPeriodVo> menuAllListWithExam(UserStudyRecordQueryBo bo);
+
 	List<SectionStudyRecordVo> listUserRecord(UserStudyRecordQueryBo bo);
 
 	Integer getStudyStatus(ClassPeriodVo bo);

+ 111 - 8
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java

@@ -34,18 +34,18 @@ import com.zhongzheng.modules.grade.bo.UserPeriodQueryBo;
 import com.zhongzheng.modules.grade.domain.ClassGradeUser;
 import com.zhongzheng.modules.grade.domain.UserPeriod;
 import com.zhongzheng.modules.grade.domain.UserPeriodStatus;
+import com.zhongzheng.modules.grade.mapper.ClassGradeUserMapper;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
 import com.zhongzheng.modules.grade.service.IUserPeriodService;
 import com.zhongzheng.modules.grade.service.IUserPeriodStatusService;
-import com.zhongzheng.modules.grade.vo.ClassPeriodStudentVo;
-import com.zhongzheng.modules.grade.vo.ClassPeriodVo;
-import com.zhongzheng.modules.grade.vo.UserPeriodStatusVo;
+import com.zhongzheng.modules.grade.vo.*;
 import com.zhongzheng.modules.inform.bo.InformRemindQueryBo;
 import com.zhongzheng.modules.inform.bo.InformUserAddBo;
 import com.zhongzheng.modules.inform.service.IInformRemindService;
 import com.zhongzheng.modules.inform.service.IInformUserService;
 import com.zhongzheng.modules.inform.vo.InformRemindBusinessVo;
 import com.zhongzheng.modules.inform.vo.InformRemindVo;
+import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.polyv.bo.PolyvLiveQueryBo;
 import com.zhongzheng.modules.polyv.service.IPolyvLiveService;
 import com.zhongzheng.modules.user.bo.*;
@@ -150,6 +150,9 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
     @Autowired
     private ICourseMenuExamService courseMenuExamService;
 
+    @Autowired
+    private ClassGradeUserMapper classGradeUserMapper;
+
     @Override
     public UserStudyRecordVo queryById(Long recordId) {
         UserStudyRecord db = this.baseMapper.selectById(recordId);
@@ -214,6 +217,10 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
             vo.setSectionType(sectionVo.getSectionType());
             vo.setLiveUrl(sectionVo.getLiveUrl());
             vo.setRecordingUrl(sectionVo.getRecordingUrl());
+            Integer learning = courseChapterSectionMapper.learningCheck(vo.getSectionId(), vo.getGradeId(), bo.getUserId(), vo.getModuleId(), vo.getChapterId(), 0L,vo.getCourseId());
+            if (learning > 0) {
+                vo.setLearning(1L);
+            }
         }
         return vo;
     }
@@ -427,7 +434,11 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
             UserStudyRecordVo lastVo = queryLast(queryBo);
             if(Validator.isEmpty(lastVo)||Validator.isNotEmpty(bo.getPhoto())||Validator.isEmpty(lastVo.getVideoCurrentTime())||lastVo.getVideoCurrentTime().longValue()>add.getVideoCurrentTime().longValue()){
                 //如果没有历史数据或者之前播放时长比现在晚,或者携带照片则新增观看记录
-                this.save(add);
+                if(Validator.isNotEmpty(lastVo)&&Validator.isNotEmpty(bo.getErJianErZao())&&bo.getErJianErZao()&&Validator.isEmpty(bo.getPhoto())&&(lastVo.getVideoCurrentTime().longValue()>add.getVideoCurrentTime().longValue())){
+                    return 0;
+                }else{
+                    this.save(add);
+                }
             }else{
                 if(Validator.isNotEmpty(add.getStatus())&&add.getStatus()==1){
                     lastVo.setStatus(1);
@@ -671,6 +682,92 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
         return sectionList;
     }
 
+    @Override
+    public List<ClassPeriodVo> menuAllListWithExam(UserStudyRecordQueryBo bo) {
+        //存储整个目录节列表
+        List<ClassPeriodVo> sectionList = new ArrayList<>();
+        //获取课程目录
+        List<ClassPeriodVo> list = baseMapper.listMenu(bo);
+        //排序目录
+        Collections.sort(list);
+        for (ClassPeriodVo classPeriodVo : list) {
+            //为模块搜索下面的章 和节
+            if (classPeriodVo.getType() == 1){
+                UserStudyRecordQueryBo moduleQueryBo = new UserStudyRecordQueryBo();
+                moduleQueryBo.setModuleId(classPeriodVo.getId());
+                List<ClassPeriodVo> classPeriodChapterVos = baseMapper.listModuleChapter(moduleQueryBo);
+                //排序章目录
+                Collections.sort(classPeriodChapterVos);
+                for (ClassPeriodVo classChapterVo : classPeriodChapterVos) {
+                    UserStudyRecordQueryBo chapterQueryBo = new UserStudyRecordQueryBo();
+                    chapterQueryBo.setChapterId(classChapterVo.getId());
+                    List<ClassPeriodVo> classPeriodSectionVos = baseMapper.listChapterSection(chapterQueryBo);
+                    //排序节目录
+                    Collections.sort(classPeriodSectionVos);
+                    for (ClassPeriodVo classSectionVo : classPeriodSectionVos) {
+                        classSectionVo.setModuleId(classPeriodVo.getId());
+                        classSectionVo.setChapterId(classChapterVo.getId());
+                        classSectionVo.setSectionId(classSectionVo.getId());
+                        classSectionVo.setType(3L);
+                        sectionList.add(classSectionVo);
+                    }
+                    List<ClassPeriodSectionVo> cExamList= classGradeUserMapper.listperiodExam(classChapterVo.getId(), null, classPeriodVo.getCourseId(), null, classPeriodVo.getId());
+                    for (ClassPeriodSectionVo sectionVo : cExamList) {
+                        ClassPeriodVo classSectionVo = BeanUtil.toBean(sectionVo,ClassPeriodVo.class);
+                        classSectionVo.setType(4L);
+                        classSectionVo.setExamId(sectionVo.getId());
+                        sectionList.add(classSectionVo);
+                    }
+                }
+                List<ClassPeriodChapterVo> mExamList =  classGradeUserMapper.listperiodModuleExam( null, classPeriodVo.getCourseId(), null, classPeriodVo.getId());
+                for (ClassPeriodChapterVo chapterVo : mExamList) {
+                    ClassPeriodVo classSectionVo = BeanUtil.toBean(chapterVo,ClassPeriodVo.class);
+                    classSectionVo.setType(5L);
+                    classSectionVo.setExamId(chapterVo.getId());
+                    sectionList.add(classSectionVo);
+                }
+            }
+            //为章搜索节记录
+            if (classPeriodVo.getType() == 2){
+                UserStudyRecordQueryBo chapterQueryBo = new UserStudyRecordQueryBo();
+                chapterQueryBo.setChapterId(classPeriodVo.getId());
+                List<ClassPeriodVo> classPeriodSectionVos = baseMapper.listChapterSection(chapterQueryBo);
+                //排序节目录
+                Collections.sort(classPeriodSectionVos);
+                for (ClassPeriodVo classSectionVo : classPeriodSectionVos) {
+                    classSectionVo.setModuleId(0L);
+                    classSectionVo.setChapterId(classPeriodVo.getId());
+                    classSectionVo.setSectionId(classSectionVo.getId());
+                    classSectionVo.setType(3L);
+                    sectionList.add(classSectionVo);
+                }
+                List<ClassPeriodSectionVo> cExamList= classGradeUserMapper.listperiodExam(classPeriodVo.getId(), null, classPeriodVo.getCourseId(), null, 0L);
+                for (ClassPeriodSectionVo sectionVo : cExamList) {
+                    ClassPeriodVo classSectionVo = BeanUtil.toBean(sectionVo,ClassPeriodVo.class);
+                    classSectionVo.setType(4L);
+                    classSectionVo.setExamId(sectionVo.getId());
+                    sectionList.add(classSectionVo);
+                }
+
+            }
+            //为节搜索学时记录
+            if (classPeriodVo.getType() == 3){
+                classPeriodVo.setModuleId(0L);
+                classPeriodVo.setChapterId(0L);
+                classPeriodVo.setSectionId(classPeriodVo.getId());
+                sectionList.add(classPeriodVo);
+            }
+        }
+        for(ClassPeriodVo section : sectionList){
+            section.setGoodsId(bo.getGoodsId());
+            section.setGradeId(bo.getGradeId());
+            section.setUserId(bo.getUserId());
+            section.setCourseId(bo.getCourseId());
+            section.setStudyStatus(baseMapper.getStudyStatus(section));
+        }
+        return sectionList;
+    }
+
     @Override
     public List<SectionStudyRecordVo> listUserRecord(UserStudyRecordQueryBo bo) {
         return this.baseMapper.listUserRecord(bo);
@@ -748,18 +845,24 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
         queryBo.setUserId(bo.getUserId());
         UserBankRecord bankVo = iUserBankRecordService.getUserLastExam(queryBo);
         if(Validator.isEmpty(vo)&&Validator.isNotEmpty(bankVo)){
-            vo = new SectionStudyRecordVo();
-            vo.setOrderGoodsId(bankVo.getOrderGoodsId());
+            vo = mergeToData(bankVo);
         }
         if(Validator.isNotEmpty(vo)&&Validator.isNotEmpty(bankVo)){
             if(vo.getUpdateTime().longValue()<bankVo.getUpdateTime().longValue()){
-                vo = new SectionStudyRecordVo();
-                vo.setOrderGoodsId(bankVo.getOrderGoodsId());
+                vo = mergeToData(bankVo);
+
             }
         }
         return vo;
     }
 
+    private SectionStudyRecordVo mergeToData(UserBankRecord bankVo){
+        SectionStudyRecordVo vo = BeanUtil.toBean(bankVo, SectionStudyRecordVo.class);
+        vo.setLearning((long)bankVo.getReportStatus());
+        vo.setExamType(bankVo.getType());
+        return vo;
+    }
+
 
     //判断当前未看完的节是否是点击播放的节
     private boolean compareSection(UserStudyRecordVo recordVo,UserStudyRecordQueryBo entity){

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/SectionStudyRecordVo.java

@@ -125,4 +125,7 @@ public class SectionStudyRecordVo {
     private Long learning;
     @ApiModelProperty("更新时间")
     private Long updateTime;
+    private Long examId;
+    /** 题卷类型 1章卷 2节卷 3模块卷 */
+    private Integer examType;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserStudyRecordVo.java

@@ -122,4 +122,6 @@ public class UserStudyRecordVo {
 	@Excel(name = "访问IP")
 	@ApiModelProperty("访问IP")
 	private String ip;
+	@ApiModelProperty("1已学习")
+	private Long learning;
 }

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

@@ -486,6 +486,7 @@ public class WxPayServiceImpl implements IWxPayService {
             order.setOrderReceived(payPrice);//实收
             order.setCreditStatus(1);
             order.setFinishStatus(1);//完单
+            order.setAccomplishTime(DateUtils.getNowTime());//完单时间
             //处理分成
             if (StringUtils.isNotBlank(order.getCostJson())){
                 handleDivide(order);

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/top/TopDivideLogMapper.xml

@@ -37,6 +37,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="tenantId != null and tenantId != ''">
             AND dl.tenant_id = #{tenantId}
         </if>
+        <if test="billType != null and billType != ''">
+            AND st.bill_type = #{billType}
+        </if>
         <if test="payStatus != null ">
             AND dl.pay_status = #{payStatus}
         </if>

+ 20 - 4
zhongzheng-system/src/main/resources/mapper/modules/top/TopDivideOrderMapper.xml

@@ -26,7 +26,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             oo.divide_company_money,
             oo.divide_seller_money,
             oo.brokerage,
-            r.role_name
+            oo.pretax_brokerage,
+            oo.order_price,
+            oo.order_from,
+            r.role_name,
+            r.role_id
         FROM
             top_divide_order tdo
                 LEFT JOIN top_divide_log dl ON tdo.divide_log_id = dl.id
@@ -38,8 +42,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE
             tdo.order_type = 1
           AND tdo.divide_log_id = #{divideLogId}
-        <if test="roleId != null and roleId != ''">
-            AND cl.role_id = #{roleId}
+        <if test="startPrice != null and startPrice != ''">
+            AND (oo.order_price - oo.pretax_brokerage) <![CDATA[ >= ]]> #{startPrice}
+        </if>
+        <if test="endPrice != null and endPrice != ''">
+            AND (oo.order_price - oo.pretax_brokerage) <![CDATA[ <= ]]> #{endPrice}
         </if>
     </select>
 
@@ -49,7 +56,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             st.tenant_name,
             dl.pay_status,
             dl.divide_type,
-               oo.remark,
+            oo.remark,
+            oo.order_price,
+            oo.brokerage,
+            oo.pretax_brokerage,
             tor.divide_money,
             tor.refund_time as order_time
         FROM
@@ -61,6 +71,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE
             tdo.order_type = 2
           AND tdo.divide_log_id = #{divideLogId}
+        <if test="startPrice != null and startPrice != ''">
+            AND (oo.order_price - oo.pretax_brokerage) <![CDATA[ >= ]]> #{startPrice}
+        </if>
+        <if test="endPrice != null and endPrice != ''">
+            AND (oo.order_price - oo.pretax_brokerage) <![CDATA[ <= ]]> #{endPrice}
+        </if>
     </select>
 
     <select id="getMonthFinishAllTenant" parameterType="com.zhongzheng.modules.top.financial.bo.TopDivideOrderQueryBo"  resultType="String">

+ 27 - 5
zhongzheng-system/src/main/resources/mapper/modules/top/TopOldOrderMapper.xml

@@ -90,6 +90,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="creditStatus != null and creditStatus == 1">
             AND vto.pay_price = vto.order_received
         </if>
+        <if test="finishStatus != null">
+            AND vto.finish_status = #{finishStatus}
+        </if>
         <if test="invoiceStatus != null and invoiceStatus != ''">
             AND vto.invoice_status = #{invoiceStatus}
         </if>
@@ -102,6 +105,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="orderSn != null and orderSn != ''">
             AND vto.order_sn = #{orderSn}
         </if>
+        <if test="tenantId != null and tenantId != ''">
+            AND vto.tenant_id = #{tenantId}
+        </if>
         <if test="orderSnList != null and orderSnList.size()!=0 ">
             AND vto.order_sn in
             <foreach collection="orderSnList" item="item" index="index" open="(" close=")" separator=",">
@@ -110,9 +116,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
         <if test="keyword != null and keyword != ''">
             AND (
-            vto.create_org LIKE CONCAT( '%', #{keyword}, '%' )
---             OR vto.course_org LIKE CONCAT( '%', #{keyword}, '%' )
-            OR vto.order_org LIKE CONCAT( '%', #{keyword}, '%' ))
+            vto.order_sn LIKE CONCAT( '%', #{keyword}, '%' )
+            OR vto.create_no LIKE CONCAT( '%', #{keyword}, '%' )
+            OR vto.purchase_org LIKE CONCAT( '%', #{keyword}, '%' ))
         </if>
         order by vto.create_time DESC
     </select>
@@ -160,6 +166,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="orderSn != null and orderSn != ''">
             AND ot.order_sn = #{orderSn}
         </if>
+        <if test="finishStatus != null">
+            AND ot.finish_status = #{finishStatus}
+        </if>
+        <if test="tenantId != null and tenantId != ''">
+            AND ot.tenant_id = #{tenantId}
+        </if>
         <if test="orderSnList != null and orderSnList.size()!=0 ">
             AND ot.order_sn in
             <foreach collection="orderSnList" item="item" index="index" open="(" close=")" separator=",">
@@ -168,8 +180,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
         <if test="keyword != null and keyword != ''">
             AND (
-            ot.create_org LIKE CONCAT( '%', #{keyword}, '%' )
-            OR ot.order_org LIKE CONCAT( '%', #{keyword}, '%' ))
+            ot.order_sn LIKE CONCAT( '%', #{keyword}, '%' )
+            OR ot.create_no LIKE CONCAT( '%', #{keyword}, '%' )
+            OR ot.purchase_org LIKE CONCAT( '%', #{keyword}, '%' ))
         </if>
             ) + (SELECT
         COUNT( DISTINCT o.order_sn ) AS num
@@ -213,6 +226,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="invoiceStatus != null and invoiceStatus != ''">
             AND o.invoice_status = #{invoiceStatus}
         </if>
+        <if test="finishStatus != null">
+            AND o.finish_status = #{finishStatus}
+        </if>
+        <if test="tenantId != null and tenantId != ''">
+            AND o.tenant_id = #{tenantId}
+        </if>
         <if test="startTime != null and startTime != ''">
             AND o.create_time <![CDATA[ >= ]]> #{startTime}
         </if>
@@ -227,6 +246,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <foreach collection="orderSnList" item="item" index="index" open="(" close=")" separator=",">
                 #{item}
             </foreach>
+        </if>
+        <if test="keyword != null and keyword != ''">
+            AND o.order_sn LIKE CONCAT( '%', #{keyword}, '%' )
         </if>
                 )) as number
     </select>

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/top/TopSysRoleMapper.xml

@@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zhongzheng.modules.top.user.mapper.TopSysRoleMapper">
 
-    <resultMap type="com.zhongzheng.modules.top.user.domain.TopSysRole" id="TopSysRoleResult">
+    <resultMap type="com.zhongzheng.common.core.domain.entity.TopSysRole" id="TopSysRoleResult">
         <result property="roleId" column="role_id"/>
         <result property="roleName" column="role_name"/>
         <result property="roleKey" column="role_key"/>

+ 27 - 16
zhongzheng-system/src/main/resources/mapper/modules/top/TopSysUserMapper.xml

@@ -23,6 +23,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateBy" column="update_by"/>
         <result property="updateTime" column="update_time"/>
         <result property="remark" column="remark"/>
+        <collection property="roles" column="user_id" select="findRolesList" javaType="java.util.List" />
+    </resultMap>
+
+    <select id="findRolesList" resultMap="RoleResult">
+        SELECT
+            r.role_id,
+            r.role_name,
+            r.data_scope,
+            r.role_key
+        FROM
+            top_sys_user_role ur
+                LEFT JOIN top_sys_role r ON r.role_id = ur.role_id
+        where  ur.user_id =#{user_id}
+    </select>
+
+
+
+    <resultMap id="RoleResult" type="TopSysRole">
+        <id property="roleId" column="role_id"/>
+        <result property="roleName" column="role_name"/>
+        <result property="roleKey" column="role_key"/>
+        <result property="roleSort" column="role_sort"/>
+        <result property="dataScope" column="data_scope"/>
+        <result property="status" column="role_status"/>
     </resultMap>
 
     <sql id="selectTopUserVo">
@@ -41,23 +65,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                u.login_date,
                u.create_by,
                u.create_time,
-               u.remark,
-               d.dept_id,
-               d.parent_id,
-               d.dept_name,
-               d.order_num,
-               d.leader,
-               d.status as dept_status,
-               r.role_id,
-               r.role_name,
-               r.role_key,
-               r.role_sort,
-               r.data_scope,
-               r.status as role_status
+               u.remark
+
         from top_sys_user u
-                 left join top_sys_dept d on u.dept_id = d.dept_id
-                 left join top_sys_user_role ur on u.user_id = ur.user_id
-                 left join top_sys_role r on r.role_id = ur.role_id
+
     </sql>
 
 

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/user/UserBankRecordMapper.xml

@@ -188,7 +188,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             user_bank_record ubr
         WHERE
             ubr.user_id = #{userId}
-
+            AND current_status = 1
         ORDER BY
             ubr.update_time DESC
         LIMIT 1

+ 3 - 18
zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

@@ -149,14 +149,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectList" parameterType="com.zhongzheng.modules.user.bo.UserQueryBo" resultMap="UserResult">
         SELECT DISTINCT
         u.*,
-        (case WHEN u.union_id is null then 0 ELSE 1 end) as user_bind_wx,
-        (case WHEN uwf.gzh_open_id is null then 0 ELSE 1 end) as user_follow_wx
+        (case WHEN u.union_id is null then 0 ELSE 1 end) as user_bind_wx
         <if test="getOrderNum != null and getOrderNum == 1" >
-        ,ou.goods_course_num,ou.goods_bank_num,ou.goods_live_num,uvl.last_visit_time,uvl.visit_from_plat,usl.study_from_plat,usl.last_study_time
+        ,ou.goods_course_num,ou.goods_bank_num,ou.goods_live_num
         </if>
         FROM
         `user` u
-        LEFT JOIN user_wx_follow uwf ON u.union_id = uwf.union_id
+
         <if test="getOrderNum != null and getOrderNum == 1" >
             LEFT JOIN (
             SELECT
@@ -174,8 +173,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             GROUP BY
             o.user_id
             ) ou ON u.user_id = ou.user_id
-            LEFT JOIN (SELECT user_id,from_plat as visit_from_plat,create_time as last_visit_time from user_visit_log where id in(SELECT MAX(id) from user_visit_log GROUP BY user_id))uvl on u.user_id = uvl.user_id
-            LEFT JOIN (SELECT user_id,from_plat as study_from_plat,create_time as last_study_time from user_study_log where id in(SELECT MAX(id) from user_study_log GROUP BY user_id))usl on u.user_id = usl.user_id
         </if>
         <if test="businessId != null and businessId != ''">
             LEFT JOIN `order` o ON u.user_id = o.user_id and o.`status` = 1
@@ -281,18 +278,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="hasBindWx != null and hasBindWx == 0 ">
             AND u.union_id is null
         </if>
-        <if test="hasFollowWx != null and hasFollowWx == 1 ">
-            AND uwf.gzh_open_id is not null
-        </if>
-        <if test="hasFollowWx != null and hasFollowWx == 0 ">
-            AND uwf.gzh_open_id is null
-        </if>
-        <if test="lastVisitPlat != null ">
-            AND uvl.visit_from_plat = #{lastVisitPlat}
-        </if>
-        <if test="lastStudyPlat != null ">
-            AND usl.study_from_plat = #{lastStudyPlat}
-        </if>
         <if test="visitStartTime != null and visitStartTime !=''">
             and (SELECT
             count(*)

+ 50 - 1
zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyRecordMapper.xml

@@ -1384,7 +1384,21 @@
                cs.recording_url,
                cs.live_url,
                cs.live_start_time,
-               cs.live_end_time
+               cs.live_end_time,
+               ( SELECT
+                     IFNULL(COUNT(up.id),0)
+        FROM
+        user_period up
+        LEFT JOIN user_period_status ups ON up.id = ups.period_id
+        WHERE
+        up.grade_id =r.grade_id
+        AND up.user_id = #{userId}
+        AND up.module_id= r.module_id
+        and up.chapter_id=r.chapter_id
+        and up.course_id=r.course_id
+        and up.section_id=r.section_id
+        AND ups.period_status =1
+        and ups.record_end_time is not null) learning
         FROM (
                  SELECT from_unixtime(usr.update_time, '%Y-%m-%d') date,
         MAX( usr.update_time ) sort_time,
@@ -1418,6 +1432,41 @@
         ORDER BY r.sort_time DESC
     </select>
 
+    <select id="listUserRecord_COUNT" resultType="Long">
+        SELECT
+        count(* )
+        FROM (
+                 SELECT from_unixtime(usr.update_time, '%Y-%m-%d') date,
+        MAX( usr.update_time ) sort_time,
+		section_id,
+		MAX( usr.video_current_time ) video_current_time,
+		usr.goods_id,
+		usr.course_id,
+		usr.module_id,
+		usr.chapter_id,
+        usr.grade_id,
+        usr.order_goods_id
+                 FROM
+                     user_study_record usr
+                 WHERE
+                     usr.user_id = #{userId}
+                 GROUP BY
+                     from_unixtime( usr.update_time, '%Y-%m-%d' ),
+                     usr.section_id,
+                     usr.goods_id,
+                     usr.course_id,
+                     usr.module_id,
+                     usr.chapter_id,
+                     usr.grade_id,
+                     usr.grade_id,
+                     usr.order_goods_id
+             ) r
+                 LEFT JOIN course_section cs ON r.section_id = cs.section_id
+                 LEFT JOIN goods g ON g.goods_id = r.goods_id
+                 LEFT JOIN class_grade_user cgu ON cgu.grade_id = r.grade_id and cgu.user_id = #{userId}
+        where cgu.change_grade = 0
+    </select>
+
     <select id="getLastLive" parameterType="com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo"
             resultMap="SectionStudyRecordVoResult">
         SELECT usr.*,

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.