yangdamao 1 jaar geleden
bovenliggende
commit
2e25d77c7d

+ 8 - 4
zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java

@@ -85,6 +85,7 @@ import com.zhongzheng.modules.top.user.bo.TopSysTenantRegisterAddBo;
 import com.zhongzheng.modules.top.user.service.ITopSysTenantRegisterService;
 import com.zhongzheng.modules.user.service.IUserService;
 import com.zhongzheng.modules.user.service.IUserSubscribeService;
+import com.zhongzheng.modules.user.vo.UserStudyTimeVo;
 import com.zhongzheng.modules.wx.bo.WxShareGoodsBo;
 import com.zhongzheng.modules.wx.service.IWxPayService;
 import io.swagger.annotations.ApiOperation;
@@ -93,10 +94,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
@@ -640,6 +638,12 @@ public class CommonController extends BaseController {
         return AjaxResult.success("成功", iDistributionCashWithdrawalService.payCashCallBack(bo) ? 1 : 0);
     }
 
+    @ApiOperation("根据身份证查询当前学员是否有学习")
+    @GetMapping("common/free/getStudyTimeByCard")
+    public AjaxResult<UserStudyTimeVo> getStudyTimeByCard(@RequestParam("idCard")String idCard) {
+        return AjaxResult.success(iUserService.getStudyTimeByCard(idCard));
+    }
+
     /**
      * 获取企业ID
      */

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

@@ -2053,6 +2053,26 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         iSysTaskService.updateById(task);
     }
 
+    @Override
+    public UserStudyTimeVo getStudyTimeByCard(String idCard) {
+        UserStudyTimeVo vo = new UserStudyTimeVo();
+        vo.setIdCard(idCard);
+        User user = getByCardNoTenant(idCard);
+        if (ObjectUtils.isNull(user)){
+            vo.setStudyFlag(false);
+            return vo;
+        }
+        //查询是否有二建课程在学习
+        Long studyTime = baseMapper.getFistStudyTime(user.getUserId(),user.getTenantId(),"");
+        if (ObjectUtils.isNull(studyTime)){
+            vo.setStudyFlag(false);
+            return vo;
+        }
+        vo.setStudyFlag(true);
+        vo.setStudyStartTime(studyTime);
+        return vo;
+    }
+
     @Override
     public Map<String, Object> accountLogin(UserAppAccountLoginBo bo) {
         if(Validator.isEmpty(bo.getAccount())){

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserMapper.java

@@ -86,4 +86,7 @@ public interface UserMapper extends BaseMapper<User> {
 
     @InterceptorIgnore(tenantLine = "true")
     User getByCardNoTenant(String idCard);
+
+    @InterceptorIgnore(tenantLine = "true")
+    Long getFistStudyTime(@Param("userId")Long userId,@Param("tenantId")Long tenantId,@Param("businessName")String businessName);
 }

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

@@ -160,4 +160,6 @@ public interface IUserService extends IService<User> {
 	List<UserDownloadVo> userDataDownloadList(Long userId);
 
 	void userDataDownloadUp(UserDataDownloadUpBo bo);
+
+	UserStudyTimeVo getStudyTimeByCard(String idCard);
 }

+ 19 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserStudyTimeVo.java

@@ -0,0 +1,19 @@
+package com.zhongzheng.modules.user.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2024年03月20日 9:08
+ */
+@Data
+public class UserStudyTimeVo implements Serializable {
+
+    private String idCard;
+
+    private Boolean studyFlag;
+
+    private Long studyStartTime;
+}

+ 22 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

@@ -652,6 +652,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             LIMIT 1
     </select>
 
+    <select id="getFistStudyTime" parameterType="map" resultType="java.lang.Long">
+        SELECT
+        ustp.create_time
+        FROM
+        user_study_record usr
+        LEFT JOIN user_study_record_photo ustp ON usr.record_id = ustp.record_id
+        LEFT JOIN goods g ON usr.goods_id = g.goods_id
+        LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
+        LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+        LEFT JOIN course_business cb ON g.business_id = cb.id
+        LEFT JOIN class_grade cg ON usr.grade_id = cg.grade_id
+        WHERE
+        usr.current_status = 1
+        AND usr.user_id = #{userId}
+        AND usr.tenant_id = #{tenantId}
+        AND INSTR( CONCAT( cet.education_name, cb.business_name, cpt.project_name ), #{businessName} )
+        AND cg.class_start_time &gt;= UNIX_TIMESTAMP(NOW())
+        AND cg.class_end_time &lt;= UNIX_TIMESTAMP(NOW())
+        AND cg.`status` = 1
+        ORDER BY ustp.create_time ASC
+    </select>
+
     <select id="getUserOrderCount" parameterType="map" resultType="java.lang.Long">
         SELECT
             COUNT(o.order_sn)