Browse Source

资源分享伙伴校

tags/正式3.10.0
雍文秀 1 year ago
parent
commit
4bba8a301e

+ 26
- 8
sstudy/src/main/java/com/xhkjedu/sstudy/controller/resource/ResourceController.java View File

94
 
94
 
95
     @PostMapping("/share_school")
95
     @PostMapping("/share_school")
96
     public ResultVo shareSchool(@RequestBody TResource tResource) {
96
     public ResultVo shareSchool(@RequestBody TResource tResource) {
97
-        String resourceid = tResource.getResourceid();
98
-        String lsbid = tResource.getLsbid();
99
-        String directorid = tResource.getDirectorid();
100
-        Integer resourcetype = tResource.getResourcetype();
101
-        Integer createid = tResource.getCreateid();
102
-        N_Utils.validation(new Object[]{resourceid,"资源id",2,lsbid,"教材关系表id",2,directorid,"章节id",2
103
-                ,resourcetype,"资源归类",1,createid,"教师id",1});
104
-        tResource.setLevel(1);//资源级别1校本
97
+        chekShareParam(tResource);
105
         String id = resourceService.share(tResource);
98
         String id = resourceService.share(tResource);
106
         if(id.equals("99")){
99
         if(id.equals("99")){
107
             return new ResultVo(0,"该资源已分享过校本");
100
             return new ResultVo(0,"该资源已分享过校本");
110
         }
103
         }
111
     }
104
     }
112
 
105
 
106
+    /**
107
+     * @Description 分享伙伴校
108
+     * @Param [tResource]
109
+     * @Author ywx
110
+     * @Date 2023/7/21 9:34
111
+     * @return com.xhkjedu.vo.ResultVo
112
+     **/
113
+    @PostMapping("/share_ps")
114
+    public ResultVo sharePartnerSchool(@RequestBody TResource tResource) {
115
+        chekShareParam(tResource);
116
+        return resourceService.sharePartnerSchool(tResource);
117
+    }
118
+
119
+    //校验分享参数
120
+    private void chekShareParam(@RequestBody TResource tResource) {
121
+        String resourceid = tResource.getResourceid();
122
+        String lsbid = tResource.getLsbid();
123
+        String directorid = tResource.getDirectorid();
124
+        Integer resourcetype = tResource.getResourcetype();
125
+        Integer createid = tResource.getCreateid();
126
+        N_Utils.validation(new Object[]{resourceid, "资源id", 2, lsbid, "教材关系表id", 2
127
+                , directorid, "章节id", 2, resourcetype, "资源归类", 1, createid, "教师id", 1});
128
+        tResource.setLevel(1);//资源级别1校本
129
+    }
130
+
113
     @PostMapping("/update_downcount")
131
     @PostMapping("/update_downcount")
114
     public ResultVo updateDownCount(@RequestBody TResource tResource) {
132
     public ResultVo updateDownCount(@RequestBody TResource tResource) {
115
         String resourceid = tResource.getResourceid();
133
         String resourceid = tResource.getResourceid();

+ 4
- 1
sstudy/src/main/java/com/xhkjedu/sstudy/model/resource/TResource.java View File

41
     //资源级别1校本2个人(备课)3导学案4视频库
41
     //资源级别1校本2个人(备课)3导学案4视频库
42
     private Integer level;
42
     private Integer level;
43
 
43
 
44
-    //资源归属1平台1区平台3学校4个人(搜索时5我的收藏 6我的上传)
44
+    //资源归属1平台1区平台3学校4个人10伙伴校(搜索时5我的收藏 6我的上传)
45
     private Integer belong;
45
     private Integer belong;
46
 
46
 
47
+    //所属资源id
48
+    private String resourcepid;
49
+
47
     //资源等级:1普通2精品3特供4第三方
50
     //资源等级:1普通2精品3特供4第三方
48
     private Integer resourcegrade;
51
     private Integer resourcegrade;
49
 
52
 

+ 79
- 13
sstudy/src/main/java/com/xhkjedu/sstudy/service/resource/ResourceService.java View File

6
 import com.xhkjedu.sstudy.mapper.resource.ResourceFileMapper;
6
 import com.xhkjedu.sstudy.mapper.resource.ResourceFileMapper;
7
 import com.xhkjedu.sstudy.mapper.resource.ResourceMapper;
7
 import com.xhkjedu.sstudy.mapper.resource.ResourceMapper;
8
 import com.xhkjedu.sstudy.mapper.subjectbook.SubjectBookMapper;
8
 import com.xhkjedu.sstudy.mapper.subjectbook.SubjectBookMapper;
9
-import com.xhkjedu.sstudy.model.resource.TResource;
10
-import com.xhkjedu.sstudy.model.resource.TResourceCollect;
11
-import com.xhkjedu.sstudy.model.resource.TResourceDirector;
12
-import com.xhkjedu.sstudy.model.resource.TResourceFile;
9
+import com.xhkjedu.sstudy.model.resource.*;
13
 import com.xhkjedu.sstudy.model.subjectbook.TSubjectBook;
10
 import com.xhkjedu.sstudy.model.subjectbook.TSubjectBook;
14
 import com.xhkjedu.sstudy.utils.ConvertUtil;
11
 import com.xhkjedu.sstudy.utils.ConvertUtil;
15
 import com.xhkjedu.sstudy.utils.StudyUtil;
12
 import com.xhkjedu.sstudy.utils.StudyUtil;
16
 import com.xhkjedu.utils.N_Utils;
13
 import com.xhkjedu.utils.N_Utils;
17
 import com.xhkjedu.sstudy.vo.resource.ResourceCollectVo;
14
 import com.xhkjedu.sstudy.vo.resource.ResourceCollectVo;
18
 import com.xhkjedu.sstudy.vo.resource.ResourceVo;
15
 import com.xhkjedu.sstudy.vo.resource.ResourceVo;
19
-import org.springframework.beans.factory.annotation.Autowired;
16
+import com.xhkjedu.vo.ResultVo;
17
+import lombok.extern.slf4j.Slf4j;
20
 import org.springframework.stereotype.Service;
18
 import org.springframework.stereotype.Service;
21
 import org.springframework.transaction.annotation.Transactional;
19
 import org.springframework.transaction.annotation.Transactional;
20
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
22
 
21
 
23
 import javax.annotation.Resource;
22
 import javax.annotation.Resource;
24
 import java.util.ArrayList;
23
 import java.util.ArrayList;
31
  * @date 2020/6/5 9:50
30
  * @date 2020/6/5 9:50
32
  **/
31
  **/
33
 @Service
32
 @Service
33
+@Slf4j
34
 public class ResourceService {
34
 public class ResourceService {
35
     @Resource
35
     @Resource
36
     private ResourceMapper resourceMapper;
36
     private ResourceMapper resourceMapper;
42
     private SubjectBookMapper subjectBookMapper;
42
     private SubjectBookMapper subjectBookMapper;
43
     @Resource
43
     @Resource
44
     private ResourceFileMapper resourceFileMapper;
44
     private ResourceFileMapper resourceFileMapper;
45
-    @Autowired
45
+    @Resource
46
     private ConvertUtil convertUtil;
46
     private ConvertUtil convertUtil;
47
 
47
 
48
     //添加
48
     //添加
216
      * @Param [resourceid]
216
      * @Param [resourceid]
217
      * @Author ywx
217
      * @Author ywx
218
      * @Date 2020/7/2 14:33
218
      * @Date 2020/7/2 14:33
219
-     * @return java.lang.Integer
220
      **/
219
      **/
221
-    public Integer updateReadCount(String resourceid) {
222
-        return resourceMapper.updateReadCount(resourceid);
220
+    public void updateReadCount(String resourceid) {
221
+        resourceMapper.updateReadCount(resourceid);
223
     }
222
     }
224
 
223
 
225
     /**
224
     /**
238
      * @Param [collect]
237
      * @Param [collect]
239
      * @Author ywx
238
      * @Author ywx
240
      * @Date 2020/8/18 15:47
239
      * @Date 2020/8/18 15:47
241
-     * @return java.lang.Integer
242
      **/
240
      **/
243
-    public Integer saveCollect(TResourceCollect collect) {
241
+    public void saveCollect(TResourceCollect collect) {
244
         collect.setCreatetime(N_Utils.getSecondTimestamp());
242
         collect.setCreatetime(N_Utils.getSecondTimestamp());
245
         resourceCollectMapper.insertUseGeneratedKeys(collect);
243
         resourceCollectMapper.insertUseGeneratedKeys(collect);
246
-        return collect.getId();
247
     }
244
     }
248
 
245
 
249
     /**
246
     /**
270
         for (String resourceid : resourceids) {
267
         for (String resourceid : resourceids) {
271
             ResourceCollectVo rc = new ResourceCollectVo();
268
             ResourceCollectVo rc = new ResourceCollectVo();
272
             rc.setResourceid(resourceid);
269
             rc.setResourceid(resourceid);
273
-            Integer collected = 0;
270
+            int collected = 0;
274
             if (N_Utils.strInList(resourceid, resourceIds)){
271
             if (N_Utils.strInList(resourceid, resourceIds)){
275
                 collected = 1;
272
                 collected = 1;
276
             }
273
             }
321
             save(resource);
318
             save(resource);
322
         }
319
         }
323
     }
320
     }
321
+
322
+    /**
323
+     * @Description 分享伙伴校
324
+     * @Param [resource]
325
+     * @Author ywx
326
+     * @Date 2023/7/21 10:28
327
+     * @return com.xhkjedu.vo.ResultVo
328
+     **/
329
+    @Transactional(rollbackFor = Exception.class)
330
+    public ResultVo sharePartnerSchool(TResource resource) {
331
+        List<TGuideGroup> groups = resource.getGuideGroups();
332
+        if (N_Utils.isListEmpty(groups)) return new ResultVo(1, "伙伴校不能为空");
333
+        String resourceid = resource.getResourceid();
334
+        Integer createid = resource.getCreateid();
335
+        int timestamp = N_Utils.getSecondTimestamp();
336
+        TResource vo = resourceMapper.selectByPrimaryKey(resourceid);
337
+        List<TResourceDirector> directors = new ArrayList<>(groups.size());
338
+        try {
339
+            for (TGuideGroup g : groups) {
340
+                TResource r = new TResource();
341
+                String id = StudyUtil.getId();
342
+                r.setResourceid(id);
343
+                r.setResourcename(vo.getResourcename());
344
+                r.setSubjectid(vo.getSubjectid());
345
+                r.setReadcount(0);
346
+                r.setDowncount(0);
347
+                r.setResourceclass(vo.getResourceclass());
348
+                r.setResourcetype(resource.getResourcetype());
349
+                r.setLevel(resource.getLevel());
350
+                r.setResourcegrade(resource.getResourcegrade());
351
+                r.setSource(resource.getSource());
352
+                r.setYear(resource.getYear());
353
+                r.setRegion(resource.getRegion());
354
+                r.setSchoolname(resource.getSchoolname());
355
+                r.setResourceurl(vo.getResourceurl());
356
+                r.setResourcecover(vo.getResourcecover());
357
+                r.setConverted(vo.getConverted());
358
+                r.setConvertmsg(vo.getConvertmsg());
359
+                r.setPdfurl(vo.getPdfurl());
360
+                r.setResourcestate(1);
361
+                r.setSuffix(vo.getSuffix());
362
+                r.setMp4code(vo.getMp4code());
363
+                r.setResourcesize(vo.getResourcesize());
364
+                r.setDuration(vo.getDuration());
365
+                r.setComm(vo.getComm());
366
+                r.setCreateid(createid);
367
+                r.setCreatetime(timestamp);
368
+                r.setBelong(10);
369
+                r.setSchoolid(g.getSchoolid());
370
+                r.setResourcepid(resourceid);
371
+                resourceMapper.insertSelective(r);
372
+
373
+                TResourceDirector rd = new TResourceDirector();
374
+                rd.setRdid(StudyUtil.getId());
375
+                rd.setResourceid(id);
376
+                rd.setLsbid(resource.getLsbid());
377
+                rd.setCreateid(createid);
378
+                rd.setCreatetime(timestamp);
379
+                rd.setDirectorid(resource.getDirectorid());
380
+                directors.add(rd);
381
+            }
382
+            resourceDirectorMapper.batchSave(directors);
383
+        } catch (Exception e) {
384
+            log.error("分享伙伴校出错:" + e.getMessage());
385
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
386
+            return new ResultVo(1, "分享失败");
387
+        }
388
+        return new ResultVo(0, "分享成功");
389
+    }
324
 }
390
 }

+ 41
- 38
sstudy/src/main/resources/mapper/resource/ResourceMapper.xml View File

3
 <mapper namespace="com.xhkjedu.sstudy.mapper.resource.ResourceMapper">
3
 <mapper namespace="com.xhkjedu.sstudy.mapper.resource.ResourceMapper">
4
     <!--删除-->
4
     <!--删除-->
5
     <update id="deleteById">
5
     <update id="deleteById">
6
-        update t_resource set resourcestate=10 where resourceid=#{resourceid}
6
+        update t_resource set resourcestate=10 where resourceid=#{resourceid} or resourcepid=#{resourceid}
7
     </update>
7
     </update>
8
     <delete id="deleteByIdReal">
8
     <delete id="deleteByIdReal">
9
         delete from t_resource where resourceid=#{resourceid}
9
         delete from t_resource where resourceid=#{resourceid}
39
         <if test="resource.belong==3">
39
         <if test="resource.belong==3">
40
             and r.schoolid=#{resource.schoolid}
40
             and r.schoolid=#{resource.schoolid}
41
         </if>
41
         </if>
42
+        <if test="resource.belong==10">
43
+            and r.schoolid=#{resource.schoolid} and r.belong=#{resource.belong}
44
+        </if>
42
         <if test="resource.resourcename!=null and resource.resourcename!=''">
45
         <if test="resource.resourcename!=null and resource.resourcename!=''">
43
             and r.resourcename like '%${resource.resourcename}%'
46
             and r.resourcename like '%${resource.resourcename}%'
44
         </if>
47
         </if>
106
         <if test="resource.directorid!=null and resource.directorid!='0'.toString() and resource.directorid!=''">
109
         <if test="resource.directorid!=null and resource.directorid!='0'.toString() and resource.directorid!=''">
107
             and rd.directorid=#{resource.directorid}
110
             and rd.directorid=#{resource.directorid}
108
         </if>
111
         </if>
109
-        order by r.createtime desc,r.resourcename asc,r.resourceid asc
112
+        order by r.createtime desc,r.resourcename,r.resourceid
110
     </select>
113
     </select>
111
 
114
 
112
     <!--详情-->
115
     <!--详情-->
113
     <resultMap id="resourceResult" type="com.xhkjedu.sstudy.vo.resource.ResourceVo">
116
     <resultMap id="resourceResult" type="com.xhkjedu.sstudy.vo.resource.ResourceVo">
114
-        <result property="resourceid" column="resourceid"></result>
115
-        <result property="resourcename" column="resourcename"></result>
116
-        <result property="readcount" column="readcount"></result>
117
-        <result property="downcount" column="downcount"></result>
118
-        <result property="resourceclass" column="resourceclass"></result>
119
-        <result property="resourcetype" column="resourcetype"></result>
120
-        <result property="belong" column="belong"></result>
121
-        <result property="resourcegrade" column="resourcegrade"></result>
122
-        <result property="source" column="source"></result>
123
-        <result property="year" column="year"></result>
124
-        <result property="region" column="region"></result>
125
-        <result property="schoolname" column="schoolname"></result>
126
-        <result property="converted" column="converted"></result>
127
-        <result property="pdfurl" column="pdfurl"></result>
128
-        <result property="resourceurl" column="resourceurl"></result>
129
-        <result property="resourcecover" column="resourcecover"></result>
130
-        <result property="suffix" column="suffix"></result>
131
-        <result property="mp4code" column="mp4code"></result>
132
-        <result property="resourcesize" column="resourcesize"></result>
133
-        <result property="duration" column="duration"></result>
134
-        <result property="createid" column="createid"></result>
135
-        <result property="createname" column="createname"></result>
136
-        <result property="createtime" column="createtime"></result>
137
-        <result property="comm" column="comm"></result>
138
-        <result property="lsbnum" column="lsbnum"></result>
139
-        <result property="directornum" column="directornum"></result>
140
-        <result property="areaall" column="areaall"></result>
117
+        <result property="resourceid" column="resourceid"/>
118
+        <result property="resourcename" column="resourcename"/>
119
+        <result property="readcount" column="readcount"/>
120
+        <result property="downcount" column="downcount"/>
121
+        <result property="resourceclass" column="resourceclass"/>
122
+        <result property="resourcetype" column="resourcetype"/>
123
+        <result property="belong" column="belong"/>
124
+        <result property="resourcegrade" column="resourcegrade"/>
125
+        <result property="source" column="source"/>
126
+        <result property="year" column="year"/>
127
+        <result property="region" column="region"/>
128
+        <result property="schoolname" column="schoolname"/>
129
+        <result property="converted" column="converted"/>
130
+        <result property="pdfurl" column="pdfurl"/>
131
+        <result property="resourceurl" column="resourceurl"/>
132
+        <result property="resourcecover" column="resourcecover"/>
133
+        <result property="suffix" column="suffix"/>
134
+        <result property="mp4code" column="mp4code"/>
135
+        <result property="resourcesize" column="resourcesize"/>
136
+        <result property="duration" column="duration"/>
137
+        <result property="createid" column="createid"/>
138
+        <result property="createname" column="createname"/>
139
+        <result property="createtime" column="createtime"/>
140
+        <result property="comm" column="comm"/>
141
+        <result property="lsbnum" column="lsbnum"/>
142
+        <result property="directornum" column="directornum"/>
143
+        <result property="areaall" column="areaall"/>
141
         <collection property="directors" ofType="com.xhkjedu.sstudy.vo.subjectbook.DirectorVo" javaType="java.util.List">
144
         <collection property="directors" ofType="com.xhkjedu.sstudy.vo.subjectbook.DirectorVo" javaType="java.util.List">
142
-            <result property="lsbid" column="lsbid"></result>
143
-            <result property="directorid" column="directorid"></result>
144
-            <result property="directorname" column="directorname"></result>
145
-            <result property="level" column="level"></result>
146
-            <result property="subjectid" column="subjectid"></result>
147
-            <result property="subjectname" column="subjectname"></result>
148
-            <result property="versionname" column="versionname"></result>
149
-            <result property="lsbname" column="lsbname"></result>
145
+            <result property="lsbid" column="lsbid"/>
146
+            <result property="directorid" column="directorid"/>
147
+            <result property="directorname" column="directorname"/>
148
+            <result property="level" column="level"/>
149
+            <result property="subjectid" column="subjectid"/>
150
+            <result property="subjectname" column="subjectname"/>
151
+            <result property="versionname" column="versionname"/>
152
+            <result property="lsbname" column="lsbname"/>
150
         </collection>
153
         </collection>
151
     </resultMap>
154
     </resultMap>
152
     <select id="findById" resultMap="resourceResult">
155
     <select id="findById" resultMap="resourceResult">
153
-        select r.*,u.username createname,rd.lsbid,rd.directorid,d.directorall directorname
156
+        select r.*,u.username createname,rd.lsbid,rd.directorid,d.directorall as directorname
154
         ,sb.level,sb.subjectid,s.subjectname,v.versionname,sb.lsbname
157
         ,sb.level,sb.subjectid,s.subjectname,v.versionname,sb.lsbname
155
         ,(select a.areaall from t_areazone a where a.areacode=r.region)areaall
158
         ,(select a.areaall from t_areazone a where a.areacode=r.region)areaall
156
         from t_resource r left join t_user u on u.userid=r.createid
159
         from t_resource r left join t_user u on u.userid=r.createid

Loading…
Cancel
Save