|
|
@@ -3,6 +3,7 @@ package restcontroller.saletool.courseware;
|
|
|
import beans.datatag.DataTag;
|
|
|
import beans.department.Department;
|
|
|
import beans.salearea.SaleArea;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import common.Controller;
|
|
|
import common.YosException;
|
|
|
@@ -88,7 +89,7 @@ public class courseware extends Controller {
|
|
|
return getSucReturnObject().toString();
|
|
|
}
|
|
|
|
|
|
- @API(title = "商学院-课程列表",apiversion = R.ID20240318101802.v1.class)
|
|
|
+ @API(title = "商学院-课程列表", apiversion = R.ID20240318101802.v1.class)
|
|
|
|
|
|
public String selectList() throws YosException {
|
|
|
/*
|
|
|
@@ -100,15 +101,23 @@ public class courseware extends Controller {
|
|
|
if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
|
|
|
where.append(" and(");
|
|
|
where.append("t1.title like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
- where.append("or t2.classname like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
where.append("or t1.notes like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
where.append(")");
|
|
|
}
|
|
|
- if (whereObject.containsKey("sat_courseware_classid") && !"".equals(whereObject.getString("sat_courseware_classid"))) {
|
|
|
- where.append(" and (");
|
|
|
- where.append("t1.sat_courseware_classid ='").append(whereObject.getString("sat_courseware_classid")).append("' ");
|
|
|
- where.append("or t3.sat_courseware_classid ='").append(whereObject.getString("sat_courseware_classid")).append("' ");
|
|
|
- where.append(")");
|
|
|
+ if (whereObject.containsKey("sat_courseware_classids") && !"".equals(whereObject.getString("sat_courseware_classids"))) {
|
|
|
+ JSONArray sat_courseware_classids = whereObject.getJSONArray("sat_courseware_classids");
|
|
|
+ if (sat_courseware_classids.size() > 0) {
|
|
|
+ where.append(" and (1=2");
|
|
|
+ for (Object obj : sat_courseware_classids) {
|
|
|
+ JSONArray array = (JSONArray) obj;
|
|
|
+ for (Object obj2 : array) {
|
|
|
+ where.append(" or (");
|
|
|
+ where.append("JSON_CONTAINS(t1.sat_courseware_classids,'" + obj2 + "')");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -128,7 +137,7 @@ public class courseware extends Controller {
|
|
|
sa_saleareaids.add(-1l);
|
|
|
}
|
|
|
|
|
|
- ArrayList<Long> roleids = dbConnect.runSqlQuery("SELECT roleid from sys_userrole WHERE userid=23797 and siteid='" + siteid + "' ").toArrayList("roleid", new ArrayList<>());
|
|
|
+ ArrayList<Long> roleids = dbConnect.runSqlQuery("SELECT roleid from sys_userrole WHERE userid=" + userid + " and siteid='" + siteid + "' ").toArrayList("roleid", new ArrayList<>());
|
|
|
if (roleids.size() == 0) {
|
|
|
roleids.add(-1L);
|
|
|
}
|
|
|
@@ -147,13 +156,21 @@ public class courseware extends Controller {
|
|
|
|
|
|
ArrayList<Long> ids = rows.toArrayList("sat_coursewareid", new ArrayList<>());
|
|
|
|
|
|
- QuerySQL querySQL=SQLFactory.createQuerySQL(this,"sat_coursewaredetail",
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sat_coursewaredetail",
|
|
|
"sat_coursewareid");
|
|
|
- querySQL.addQueryFields("courseware_count","count(1)");
|
|
|
+ querySQL.addQueryFields("courseware_count", "count(1)");
|
|
|
querySQL.setSiteid(siteid);
|
|
|
- querySQL.setWhere("sat_coursewareid",ids);
|
|
|
+ querySQL.setWhere("sat_coursewareid", ids);
|
|
|
querySQL.addGroupBy("sat_coursewareid");
|
|
|
- RowsMap coursewareRowsMap=querySQL.query().toRowsMap("sat_coursewareid");
|
|
|
+ RowsMap coursewareRowsMap = querySQL.query().toRowsMap("sat_coursewareid");
|
|
|
+
|
|
|
+ QuerySQL studySQL = SQLFactory.createQuerySQL(this, "sat_courseware_read",
|
|
|
+ "sat_coursewareid");
|
|
|
+ studySQL.addQueryFields("study_count", "count(1)");
|
|
|
+ studySQL.setSiteid(siteid);
|
|
|
+ studySQL.setWhere("sat_coursewareid", ids);
|
|
|
+ studySQL.addGroupBy("sat_coursewareid");
|
|
|
+ RowsMap studyRowsMap = studySQL.query().toRowsMap("sat_coursewareid");
|
|
|
//封面cover
|
|
|
RowsMap coverRowsMap = getAttachmentUrl("sat_courseware", ids, "cover");
|
|
|
|
|
|
@@ -165,29 +182,19 @@ public class courseware extends Controller {
|
|
|
row.put("cover", coverRows.get(0).getString("url"));
|
|
|
}
|
|
|
|
|
|
- String classname1=row.getString("classname1");
|
|
|
- String classname2=row.getString("classname2");
|
|
|
- if(classname1.equals("")){
|
|
|
- row.put("classname",classname2);
|
|
|
- }else{
|
|
|
- row.put("classname",classname1+"/"+classname2);
|
|
|
- }
|
|
|
|
|
|
- Rows coursewareRows=coursewareRowsMap.get(row.getString("sat_coursewareid"));
|
|
|
- if(coursewareRows.isEmpty()){
|
|
|
- row.put("courseware_count",0);
|
|
|
- }else{
|
|
|
+ Rows coursewareRows = coursewareRowsMap.get(row.getString("sat_coursewareid"));
|
|
|
+ if (coursewareRows.isEmpty()) {
|
|
|
+ row.put("courseware_count", 0);
|
|
|
+ } else {
|
|
|
row.put("courseware_count", coursewareRows.get(0).getString("courseware_count"));
|
|
|
}
|
|
|
-
|
|
|
- ArrayList<Long> sat_courseware_classids=new ArrayList<>();
|
|
|
-
|
|
|
- if(row.getLong("parentid")>0){
|
|
|
- sat_courseware_classids.add(row.getLong("parentid"));
|
|
|
+ Rows studyRows = studyRowsMap.get(row.getString("sat_coursewareid"));
|
|
|
+ if (studyRows.isEmpty()) {
|
|
|
+ row.put("study_count", 0);
|
|
|
+ } else {
|
|
|
+ row.put("study_count", studyRows.get(0).getString("study_count"));
|
|
|
}
|
|
|
- sat_courseware_classids.add(row.getLong("sat_courseware_classid"));
|
|
|
-
|
|
|
- row.put("sat_courseware_classids",sat_courseware_classids);
|
|
|
}
|
|
|
|
|
|
return getSucReturnObject().setData(rows).toString();
|