Browse Source

图书馆管理员跟小塾管理员分离
H5录书优化

shenhao 5 years ago
parent
commit
24c31a58a0
23 changed files with 814 additions and 126 deletions
  1. 4 4
      src/main/java/com/ssj/dao/weixin/library/dao/impl/BookDetailQueryDaoImpl.java
  2. 15 15
      src/main/java/com/ssj/dao/weixin/library/dao/impl/LibJoinQueryDaoImpl.java
  3. 2 2
      src/main/java/com/ssj/dao/weixin/library/dao/impl/LibUserHistoryQueryDaoImpl.java
  4. 1 1
      src/main/java/com/ssj/dao/weixin/library/dao/impl/OneQueryDaoImpl.java
  5. 2 2
      src/main/java/com/ssj/service/weixin/library/service/impl/LibBookApplyServiceImpl.java
  6. 6 4
      src/main/java/com/ssj/weixin/admin/controller/AdminBookController.java
  7. 26 23
      src/main/java/com/ssj/weixin/admin/controller/AdminUserController.java
  8. 17 15
      src/main/java/com/ssj/weixin/admin/controller/AdminWapController.java
  9. 10 6
      src/main/java/com/ssj/weixin/adminsale/controller/AdminSaleController.java
  10. 4 0
      src/main/java/com/ssj/weixin/api/reading/controller/ReadingController.java
  11. 10 14
      src/main/java/com/ssj/weixin/api/reading/controller/ReadingCuratorController.java
  12. 17 20
      src/main/java/com/ssj/weixin/api/user/controller/WxApiUserController.java
  13. 7 5
      src/main/java/com/ssj/weixin/library/controller/BookManagerController.java
  14. 6 9
      src/main/java/com/ssj/weixin/library/controller/LibBookController.java
  15. 6 4
      src/main/java/com/ssj/weixin/library/controller/LibVipController.java
  16. 4 2
      src/main/java/com/ssj/weixin/library/controller/OneBookController.java
  17. 22 0
      src/main/java/com/ssj/weixin/manager/dao/ReadManagerDao.java
  18. 14 0
      src/main/java/com/ssj/weixin/manager/dao/ReadManagerQueryDao.java
  19. 32 0
      src/main/java/com/ssj/weixin/manager/dao/ReadManagerQueryImpl.java
  20. 119 0
      src/main/java/com/ssj/weixin/manager/entity/TbLibReadManager.java
  21. 29 0
      src/main/java/com/ssj/weixin/manager/service/IReadManagerService.java
  22. 50 0
      src/main/java/com/ssj/weixin/manager/service/impl/ReadManagerServiceImpl.java
  23. 411 0
      src/main/resources/templates/weixin/library/scanQRCode2.html

+ 4 - 4
src/main/java/com/ssj/dao/weixin/library/dao/impl/BookDetailQueryDaoImpl.java

@@ -145,9 +145,9 @@ public class BookDetailQueryDaoImpl implements IBookDetailQueryDao {
 		StringBuilder selSql = new StringBuilder();
 		List<Object> queryParams = new ArrayList<Object>();
 		selSql.append("select DISTINCT t13.wx_account,t.lib_id from tb_lib_book_detail t \n");
-		selSql.append("left join tb_lib_manager t12 on t.lib_id = t12.lib_id \n");
+		selSql.append("left join tb_lib_read_manager t12 on t.lib_id = t12.lib_id \n");
 		selSql.append("left join tb_user t13 on t12.user_id = t13.id \n");
-		selSql.append("where t.id = ? and (t12.type='1' or t12.type='4') and  t13.wx_account is not null and t12.state=1 \n");
+		selSql.append("where t.id = ? and t12.type between 0 and 1 and  t13.wx_account is not null and t12.state=1 \n");
 		queryParams.add(bookId);
 		return dao.findMap(selSql.toString(), queryParams.toArray());
 	}
@@ -156,9 +156,9 @@ public class BookDetailQueryDaoImpl implements IBookDetailQueryDao {
 	public List<Map<String, Object>> libManageList(String id) {
 		StringBuilder selSql = new StringBuilder();
 		List<Object> queryParams = new ArrayList<Object>();
-		selSql.append("select t11.wx_account,ifnull(t.name,t11.wx_name) as name from tb_lib_manager t  \n");
+		selSql.append("select t11.wx_account,ifnull(t.name,t11.wx_name) as name from tb_lib_read_manager t  \n");
 		selSql.append("left join tb_user t11 on t.user_id = t11.id \n");
-		selSql.append("where t.lib_id=? and (t.type=1 or t.type=0) and t.state=1 \n");
+		selSql.append("where t.lib_id=? and (t.type between 0 and 1) and t.state=1 \n");
 		queryParams.add(id);
 		return dao.findMap(selSql.toString(), queryParams.toArray());
 	}

+ 15 - 15
src/main/java/com/ssj/dao/weixin/library/dao/impl/LibJoinQueryDaoImpl.java

@@ -28,7 +28,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
 			Map<String, Object> searchParams, Pageable pageable) {
 		 StringBuilder selSQL = new StringBuilder();
 	        List<Object> queryParams = new ArrayList<Object>();
-	        selSQL.append(" SELECT  t.* ,ifnull(t.name,u.wx_name) as wx_name,ifnull(t_photo,u.photo) as photo  from   tb_lib_manager   t LEFT JOIN  tb_user  u ");
+	        selSQL.append(" SELECT  t.* ,ifnull(t.name,u.wx_name) as wx_name,ifnull(t_photo,u.photo) as photo  from   tb_lib_read_manager   t LEFT JOIN  tb_user  u ");
 	        selSQL.append("  on t.user_id  = u.id  ");
 	        selSQL.append(" where  t.lib_id = ? and t.state = 1 ");
 	        if (searchParams.get("wx_name") != null && !searchParams.get("wx_name").equals("")) {
@@ -410,7 +410,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
 		StringBuilder selSQL = new StringBuilder();
         List<Object> queryParams = new ArrayList<Object>();
         Map<String, Object> map = new HashMap<String, Object>();
-        selSQL.append("select ifnull(t.name,t11.wx_name) as wx_name,t11.photo,t12.league_name,t.telephone from tb_lib_manager t \n" +
+        selSQL.append("select ifnull(t.name,t11.wx_name) as wx_name,t11.photo,t12.league_name,t.telephone from tb_lib_read_manager t \n" +
         		"left join tb_lib_join t12 on t.lib_id = t12.id\n" +
         		"left join tb_user t11 on t.user_id = t11.id\n" +
         		"where t.lib_id=? and t.state = 1 ");
@@ -441,7 +441,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
         List<Object> queryParams = new ArrayList<Object>();
         Map<String, Object> map = new HashMap<String, Object>();
         selSQL.append("SELECT a.vipcount,b.todaycount from ( \n");
-        selSQL.append("SELECT count(1) as vipcount from tb_lib_vip t \n");
+        selSQL.append("SELECT count(1) as vipcount from tb_lib_read_vip t \n");
         selSQL.append("left join tb_lib_vip_service t11 on t.id = t11.vip_id\n");
         selSQL.append("where t11.stat =1 and t11.lib_id = ? and t.user_id is not null and t11.end_time > NOW() \n");
         selSQL.append(") a\n");
@@ -482,7 +482,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
 	public List<Map<String, Object>> findManageList(String libId) {
 		StringBuilder selSQL = new StringBuilder();
         List<Object> queryParams = new ArrayList<Object>();
-        selSQL.append("SELECT t.id,t.user_id,t11.photo,IFNULL(t.`name`,t11.wx_name) as name,t.telephone,t.type from tb_lib_manager t   \n");
+        selSQL.append("SELECT t.id,t.user_id,t11.photo,IFNULL(t.`name`,t11.wx_name) as name,t.telephone,t.type from tb_lib_read_manager t   \n");
         selSQL.append("left join tb_user t11 on t.user_id = t11.id \n");
         selSQL.append("where t.lib_id = ? and t.state = 1 \n");
         queryParams.add(libId);
@@ -492,7 +492,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
 	public List<Map<String, Object>> findManageUserList(String userId){
 		StringBuilder selSQL = new StringBuilder();
 		List<Object> queryParams = new ArrayList<Object>();
-		selSQL.append(" SELECT t.id,t.user_id,t11.league_name,t.lib_id ,t.state,t.type ,t11.libtype from tb_lib_manager t     \n");
+		selSQL.append(" SELECT t.id,t.user_id,t11.league_name,t.lib_id ,t.state,t.type ,t11.libtype from tb_lib_read_manager t     \n");
 		selSQL.append(" join tb_lib_join t11 on t.lib_id = t11.id  \n");
 		selSQL.append("where t.user_id = ? and t.state = 1 \n");
 		queryParams.add(userId);
@@ -521,7 +521,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
 		StringBuilder selSQL = new StringBuilder();
         List<Object> queryParams = new ArrayList<Object>();
         Map<String, Object> map = new HashMap<String, Object>();
-        selSQL.append("SELECT t.id,t12.wx_name,t12.photo,t.`name`,ifnull(t.sex,t12.sex) as sex,t.type,t.type as managertype,t.lib_id,t.user_id,t.telephone from tb_lib_manager t \n");
+        selSQL.append("SELECT t.id,t12.wx_name,t12.photo,t.`name`,ifnull(t.sex,t12.sex) as sex,t.type,t.type as managertype,t.lib_id,t.user_id,t.telephone from tb_lib_read_manager t \n");
         selSQL.append("left join tb_lib_staffing t11 on t.user_id = t11.user_id\n");
         selSQL.append("left join tb_user t12 on t.user_id = t12.id \n");
         selSQL.append("where t.lib_id = ? and t.user_id = ? and t.state=1 \n");
@@ -538,7 +538,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
 	public Page<Map<String, Object>> vipUserList(Map<String, Object> params, Pageable pageable) {
 		StringBuilder selSQL = new StringBuilder();
         List<Object> queryParams = new ArrayList<Object>();
-        selSQL.append(" SELECT t.id,t.child_name,t11.start_time,t11.end_time,t11.type from tb_lib_vip t ");
+        selSQL.append(" SELECT t.id,t.child_name,t11.start_time,t11.end_time,t11.type from tb_lib_read_vip t ");
         selSQL.append(" left join tb_lib_vip_service t11 on t.id = t11.vip_id ");
         String userType = params.get("userType").toString();
         String type = params.get("type").toString();
@@ -571,7 +571,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
         Map<String, Object> map = new HashMap<String, Object>();
         
         selSQL.append("SELECT t.id,t12.wx_name,t12.photo,t.`name`,ifnull(t.sex,t12.sex) as sex,t.type,t11.type as managertype,t.lib_id,t.user_id,t.telephone from tb_lib_staffing t \n");
-        selSQL.append("left join tb_lib_manager t11 on t.user_id = t11.user_id\n");
+        selSQL.append("left join tb_lib_read_manager t11 on t.user_id = t11.user_id\n");
         selSQL.append("left join tb_user t12 on t.user_id = t12.id \n");
         selSQL.append("where t.lib_id = ? and t.user_id = ? and t11.state = 1\n");
         queryParams.add(libId);
@@ -587,7 +587,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
 	public Page<Map<String, Object>> vipList(Map<String, Object> searchParams, Pageable pageable) {
 		 StringBuilder selSQL = new StringBuilder();
 	        List<Object> queryParams = new ArrayList<Object>();
-	       selSQL.append("SELECT t.id,t.img_url,DATE_FORMAT(t11.start_time,'%Y-%m-%d') as starttime ,DATE_FORMAT(t11.end_time,'%Y-%m-%d') as endtime,t.child_name  from tb_lib_vip t  \n");
+	       selSQL.append("SELECT t.id,t.img_url,DATE_FORMAT(t11.start_time,'%Y-%m-%d') as starttime ,DATE_FORMAT(t11.end_time,'%Y-%m-%d') as endtime,t.child_name  from tb_lib_read_vip t  \n");
 	       selSQL.append("left join tb_lib_vip_service t11 on t.id = t11.vip_id  \n");
 	       selSQL.append("where  t11.lib_id =? \n");
 	       String libId = searchParams.get("libId").toString();
@@ -633,7 +633,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
         selSQL.append(") c on t.user_id = c.sales_user_id \n");
         selSQL.append("where t.lib_id = ?  and t.name like  concat('%',?,'%')\n");
         selSQL.append("union all \n");
-        selSQL.append("select t.id,t.user_id,t11.photo,0 as  salesCount,IFNULL(t.`name`,t11.wx_name) as name,t.telephone,t.type,'2' as usertype from tb_lib_manager t \n ");
+        selSQL.append("select t.id,t.user_id,t11.photo,0 as  salesCount,IFNULL(t.`name`,t11.wx_name) as name,t.telephone,t.type,'2' as usertype from tb_lib_read_manager t \n ");
         selSQL.append("left join tb_user t11 on t.user_id = t11.id \n ");
         selSQL.append(" where t.lib_id = ? and t.name like  concat('%',?,'%') and t.state = 1 \n ");
         queryParams.add(libId);
@@ -650,7 +650,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
         List<Object> queryParams = new ArrayList<Object>();
         String libId = params.get("libId").toString();
         String searchName = params.get("searchName").toString();
-        selSQL.append("select t.id,t.child_name,t.img_url,t.child_name as  name,t11.start_time,t11.end_time,t11.type from tb_lib_vip t \n ");
+        selSQL.append("select t.id,t.child_name,t.img_url,t.child_name as  name,t11.start_time,t11.end_time,t11.type from tb_lib_read_vip t \n ");
         selSQL.append("left join tb_lib_vip_service t11 on t.id = t11.vip_id \n ");
         selSQL.append(" where t11.lib_id = ? and t.child_name like  concat('%',?,'%') \n ");
         selSQL.append("  and t11.stat=1 and t11.end_time > NOW()  \n ");
@@ -698,7 +698,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
 		}else{
 			//馆长、学霸老师、馆长助理
 			selSQL.append("SELECT u.id,u.wx_name  , u.photo   \n");
-			selSQL.append("  from  tb_user  u  where not exists (select * from tb_lib_manager t where t.user_id = u.id and t.state=1 and (t.type BETWEEN 0 and 1  or t.type=3))   ");
+			selSQL.append("  from  tb_user  u  where not exists (select * from tb_lib_read_manager t where t.user_id = u.id and t.state=1 and (t.type BETWEEN 0 and 1  or t.type=3))   ");
 			selSQL.append(" and u.wx_name like concat('%',?,'%')  and u.wx_account is not null ");
 			queryParams.add(searchContent);
 		    selSQL.append("   order by   u.create_time desc   ");
@@ -753,7 +753,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
 					selSQL.append("SELECT u.id,u.wx_name  , u.photo   \n");
 					selSQL.append("from  tb_user  u  where\n");
 					selSQL.append("not exists ( \n");
-					selSQL.append(" select 1 from tb_lib_manager t where t.user_id = u.id and t.state=1 and t.lib_id is not null and t.type<>6 )  and length(u.wx_account)>0  ");
+					selSQL.append(" select 1 from tb_lib_read_manager t where t.user_id = u.id and t.state=1 and t.lib_id is not null and t.type<>6 )  and length(u.wx_account)>0  ");
 					selSQL.append(" order by u.create_time desc ");
 					selSQL.append("  LIMIT 0,10 ");
 				}
@@ -1023,7 +1023,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
 		StringBuilder selSQL = new StringBuilder();
         List<Object> queryParams = new ArrayList<Object>();
         
-        selSQL.append("SELECT t12.wx_account as openid from tb_lib_manager t \n");
+        selSQL.append("SELECT t12.wx_account as openid from tb_lib_read_manager t \n");
         selSQL.append("left join tb_user t12 on t.user_id = t12.id \n");
         selSQL.append("where t.lib_id = ? and t.type = ? and t.state = 1\n");
         queryParams.add(libId);
@@ -1036,7 +1036,7 @@ public class LibJoinQueryDaoImpl implements ILibJoinQueryDao{
 		StringBuilder selSQL = new StringBuilder();
         List<Object> queryParams = new ArrayList<Object>();
         
-        selSQL.append("SELECT t12.wx_account as openid,t.user_id,IFNULL(t.`name`,t12.wx_name) as username from tb_lib_manager t \n");
+        selSQL.append("SELECT t12.wx_account as openid,t.user_id,IFNULL(t.`name`,t12.wx_name) as username from tb_lib_read_manager t \n");
         selSQL.append("left join tb_user t12 on t.user_id = t12.id \n");
         selSQL.append("where t.lib_id = ? and t.type = ? and t.state = 1 \n");
         queryParams.add(libId);

+ 2 - 2
src/main/java/com/ssj/dao/weixin/library/dao/impl/LibUserHistoryQueryDaoImpl.java

@@ -527,7 +527,7 @@ public class LibUserHistoryQueryDaoImpl implements LibUserHistoryQueryDao{
 		selSql.append("SELECT a.id,group_CONCAT(a.jobs separator '、') as jobs,a.name,a.img_url from (   \n");
 		selSql.append("SELECT a.id,ifnull(a.name,b.wx_name) as name,case when a.type =1 then '馆长助理' else '馆长' end as jobs, \n");
 		selSql.append("b.photo as img_url,a.user_id  \n");
-		selSql.append("from tb_lib_manager  a \n");
+		selSql.append("from tb_lib_read_manager  a \n");
 		selSql.append("left join tb_user b on a.user_id = b.id  \n");
 		selSql.append("where type in(0,1)  and a.state=1  and a.lib_id=? \n");
 		selSql.append(") a     \n");
@@ -545,7 +545,7 @@ public class LibUserHistoryQueryDaoImpl implements LibUserHistoryQueryDao{
 		StringBuilder selSql = new StringBuilder();
 		List<Object> queryParams = new ArrayList<Object>();
 		selSql.append("SELECT  id ,wx_name as name,'' as jobs,photo as img_url from tb_user u   \n");
-		selSql.append("where u.wx_account is not null and  not exists (select 1 from tb_lib_manager t where t.user_id = u.id and t.lib_id is not null and t.state=1 and t.type in (0,1)) \n");
+		selSql.append("where u.wx_account is not null and  not exists (select 1 from tb_lib_read_manager t where t.user_id = u.id and t.lib_id is not null and t.state=1 and t.type in (0,1)) \n");
 		if(!params.get("name").equals("")){
 			selSql.append(" and   u.wx_name like concat('%',?,'%')\n");
 			queryParams.add(params.get("name"));

+ 1 - 1
src/main/java/com/ssj/dao/weixin/library/dao/impl/OneQueryDaoImpl.java

@@ -321,7 +321,7 @@ public class OneQueryDaoImpl implements IOneBookQueryDao {
 	@Override
 	public List<Map<String, Object>>  findLibManagerByLibIdAndType (String libId, int type) {
 		StringBuilder sb = new StringBuilder();
-		sb.append(" select u.wx_account, m.name, u.wx_name from tb_lib_manager m left join tb_user u on m.user_id=u.id where m.lib_id=? and m.type=? and m.state=1");
+		sb.append(" select u.wx_account, m.name, u.wx_name from tb_lib_read_manager m left join tb_user u on m.user_id=u.id where m.lib_id=? and m.type=? and m.state=1");
 		List<Object> params = new ArrayList<>();
 		params.add(libId);
 		params.add(type);

+ 2 - 2
src/main/java/com/ssj/service/weixin/library/service/impl/LibBookApplyServiceImpl.java

@@ -129,7 +129,7 @@ public class LibBookApplyServiceImpl extends BaseServiceImpl<LibBookApply,String
 
         //发送通知
         Map<String, String> data = new HashMap<String,String>();
-        List<Map<String, Object>> list =managerService.findByLibIdAndType(libId,4);
+        List<Map<String, Object>> list =managerService.findByLibIdAndType(libId,0);
         data.put("first", "亲爱的馆长,您好!您的新书单申请有新动态");
         data.put("keyword1", "新书单申请");
         data.put("keyword2", state==1?"通过":"拒绝");
@@ -219,7 +219,7 @@ public class LibBookApplyServiceImpl extends BaseServiceImpl<LibBookApply,String
         this.save(apply);
         //发送通知
         Map<String, String> data = new HashMap<String,String>();
-        List<Map<String, Object>> list2 =managerService.findByLibIdAndType(apply.getLibId(),4);
+        List<Map<String, Object>> list2 =managerService.findByLibIdAndType(apply.getLibId(),0);
         data.put("first", "亲爱的馆长,您好!您的随机调书申请已处理。");
         data.put("keyword1", "随机调书");
         data.put("keyword2", "已完成");

+ 6 - 4
src/main/java/com/ssj/weixin/admin/controller/AdminBookController.java

@@ -13,6 +13,8 @@ import com.ssj.service.weixin.admin.dto.BookShowVO;
 import com.ssj.service.weixin.adminsale.service.AdminSaleService;
 import com.ssj.service.weixin.library.service.*;
 import com.ssj.service.weixin.push.service.PushTemplateService;
+import com.ssj.weixin.manager.entity.TbLibReadManager;
+import com.ssj.weixin.manager.service.IReadManagerService;
 import com.ssj.weixin.util.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -38,7 +40,7 @@ import java.util.Map;
 public class AdminBookController extends BaseController {
 	
 	@Autowired
-	private IBookManagerService libManagerService;
+	private IReadManagerService libManagerService;
 	
 	@Autowired
 	private IBookDetailService bookDetailService;
@@ -80,7 +82,7 @@ public class AdminBookController extends BaseController {
 	public String sjwhIndex(Model model,String libId){
 		
 		String userId = UserUtil.getUserId(request);
-		TbLibManager ma = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager ma = libManagerService.findByUserIdAndLibIsNotNull(userId);
 		List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		if(ma==null && (saleList == null || saleList.size()<=0)){
 			model.addAttribute("msgType", "您不是图书馆管理员,无法操作本页面!");
@@ -134,7 +136,7 @@ public class AdminBookController extends BaseController {
 			type = "1";
 		}
 		String userId = UserUtil.getUserId(request);
-		TbLibManager ma = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager ma = libManagerService.findByUserIdAndLibIsNotNull(userId);
 		List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		if(ma==null && (saleList == null || saleList.size()<=0)){
 			model.addAttribute("msgType", "您不是图书馆管理员,无法操作本页面!");
@@ -205,7 +207,7 @@ public class AdminBookController extends BaseController {
 	 @RequestMapping("/borrowRecode_{type}")
 	 public String borrowRecode(Model model,@PathVariable String type,String libId){
 		 String userId = UserUtil.getUserId(request);
-		 TbLibManager ma = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		 TbLibReadManager ma = libManagerService.findByUserIdAndLibIsNotNull(userId);
 		 List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		 if(ma==null && (saleList == null || saleList.size()<=0)){
 			 model.addAttribute("msgType", "您不是图书馆管理员,无法操作本页面!");

File diff suppressed because it is too large
+ 26 - 23
src/main/java/com/ssj/weixin/admin/controller/AdminUserController.java


+ 17 - 15
src/main/java/com/ssj/weixin/admin/controller/AdminWapController.java

@@ -15,6 +15,8 @@ import com.ssj.service.weixin.order.service.OrderDetailsService;
 import com.ssj.service.weixin.push.service.PushTemplateService;
 import com.ssj.service.weixin.sales.service.LibVipServiceService;
 import com.ssj.service.weixin.user.service.UserService;
+import com.ssj.weixin.manager.entity.TbLibReadManager;
+import com.ssj.weixin.manager.service.IReadManagerService;
 import com.ssj.weixin.util.UserUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.client.utils.DateUtils;
@@ -81,11 +83,11 @@ public class AdminWapController extends BaseController {
 	private BorrowingService  borrowingService;
 	
 	@Autowired
-	private IBookManagerService managerService;
+	private IReadManagerService managerService;
 	
 	@Autowired
 	private	 OrderDetailsService orderDetailsService;
-	
+
 	@Autowired
 	private PushTemplateService  pushTemplateService;
 	
@@ -132,7 +134,7 @@ public class AdminWapController extends BaseController {
 	@RequestMapping("/profitcounter")
 	public String profitcounter(Model model,String child_name) {
 		String userId = UserUtil.getUserId(request);
-		TbLibManager ma = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager ma = managerService.findByUserIdAndLibIsNotNull(userId);
 		if(ma == null){
 			model.addAttribute("msgType", "您不是图书馆管理员,<br/>无法操作本页面!");
 			return "/weixin/library/bangding_infor";
@@ -153,7 +155,7 @@ public class AdminWapController extends BaseController {
 		//查询用户是否会员
 		String userId = UserUtil.getUserId(request);
 		//判断用户是否管理员
-		TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		String libId = manager == null?saleList.get(0).get("lib_id").toString():manager.getLibId();
 		 params.put("child_name", request.getParameter("child_name")== null ? "":request.getParameter("child_name"));
@@ -183,7 +185,7 @@ public class AdminWapController extends BaseController {
 		//查询用户是否会员
 		String userId = UserUtil.getUserId(request);
 		//判断用户是否管理员
-		TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		String libId = manager == null?saleList.get(0).get("lib_id").toString():manager.getLibId();
 		Map<String, Object> data = new HashMap<String, Object>();
@@ -213,7 +215,7 @@ public class AdminWapController extends BaseController {
 		//查询用户是否会员
 		String userId = UserUtil.getUserId(request);
 		//判断用户是否管理员
-		TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		String libId = manager == null?saleList.get(0).get("lib_id").toString():manager.getLibId();
 		TbLibJoin tbLibJoin=libJoinService.getById(libId);
@@ -261,7 +263,7 @@ public class AdminWapController extends BaseController {
 		//查询用户是否会员
 		String userId = UserUtil.getUserId(request);
 		//判断用户是否管理员
-		TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		String libId = manager == null?saleList.get(0).get("lib_id").toString():manager.getLibId();
 		 params.put("libId", libId);
@@ -379,12 +381,12 @@ public class AdminWapController extends BaseController {
 		//查询用户是否会员
 		String userId = UserUtil.getUserId(request);
 		//判断用户是否管理员
-		TbLibManager ma = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager ma = managerService.findByUserIdAndLibIsNotNull(userId);
 		List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		String libId = ma == null?saleList.get(0).get("lib_id").toString():ma.getLibId();
 		if(StringUtils.isNotEmpty(vipId)){
 			List<TbLibSubscribe> libSubscribes=new ArrayList<TbLibSubscribe>();
-			List<Map<String, Object>> studyTeacherList = managerService.findAnything(libId,2);
+			List<Map<String, Object>> studyTeacherList = libManagerService.findAnything(libId,2);
 			TbLibSubscribe libSubscribe=null;
 			String[] vipIds=vipId.split(";");
 			for (int i = 0; i < vipIds.length; i++) {
@@ -456,7 +458,7 @@ public class AdminWapController extends BaseController {
 		//查询用户是否会员
 			String userId = UserUtil.getUserId(request);
 			//判断用户是否管理员
-			TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(userId);
+			TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 			List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 			String libId = manager == null?saleList.get(0).get("lib_id").toString():manager.getLibId();
 		 Map<String, Object> data = new HashMap<String, Object>();
@@ -518,7 +520,7 @@ public class AdminWapController extends BaseController {
 				//查询用户是否会员
 				String userId = UserUtil.getUserId(request);
 				//判断用户是否管理员
-				TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(userId);
+				TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 				List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 				String libId = manager == null?saleList.get(0).get("lib_id").toString():manager.getLibId();
 	    		SimpleDateFormat formatter= new SimpleDateFormat ("yyyy-MM-dd"); 
@@ -614,7 +616,7 @@ public class AdminWapController extends BaseController {
 			}
 			User user = UserUtil.getUser(request);
 			//先判断是否管理员
-			TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(user.getId());
+			TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(user.getId());
 			List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(user.getId());
 			if(manager==null && (saleList == null || saleList.size()<=0)){
 				model.addAttribute("msgType", "您不是管理员不能操作。");
@@ -762,7 +764,7 @@ public class AdminWapController extends BaseController {
 				//查询用户是否会员
 				String userId = UserUtil.getUserId(request);
 				//判断用户是否管理员
-				TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
+				TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		    	Date datetime=new Date();
 		    	if(StringUtils.isNotEmpty(dateStr)){
 		    		String[] dateFormats=new String[]{"yyyy-MM-dd"};
@@ -800,7 +802,7 @@ public class AdminWapController extends BaseController {
 				//查询用户是否会员
 				String userId = UserUtil.getUserId(request);
 				//判断用户是否管理员
-				TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
+				TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		    	Date datetime=new Date();
 		    	if(StringUtils.isNotEmpty(dateStr)){
 		    		String[] dateFormats=new String[]{"yyyy-MM"};
@@ -839,7 +841,7 @@ public class AdminWapController extends BaseController {
 				//查询用户是否会员
 				String userId = UserUtil.getUserId(request);
 				//判断用户是否管理员
-				TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
+				TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 			    Map<String, Object> map =new HashMap<String, Object>();
 			    map.put("newNum", libSubscribeService.queryTyperCounter(manager.getLibId(), "1"));
 			    map.put("conNum", libSubscribeService.queryTyperCounter(manager.getLibId(), "2"));

+ 10 - 6
src/main/java/com/ssj/weixin/adminsale/controller/AdminSaleController.java

@@ -3,7 +3,6 @@ package com.ssj.weixin.adminsale.controller;
 import com.ssj.bean.weixin.card.domain.LibCardInfo;
 import com.ssj.bean.weixin.libmy.domain.LibVip;
 import com.ssj.bean.weixin.libmy.domain.TbLibJoin;
-import com.ssj.bean.weixin.libmy.domain.TbLibManager;
 import com.ssj.bean.weixin.problem.domain.Experience;
 import com.ssj.bean.weixin.problem.domain.RequestMethodLog;
 import com.ssj.bean.weixin.sales.domain.LibSalesPrice;
@@ -24,6 +23,8 @@ import com.ssj.service.weixin.sales.service.LibOrderDetailsService;
 import com.ssj.service.weixin.sales.service.LibSalesPriceService;
 import com.ssj.service.weixin.sales.service.LibVipServiceService;
 import com.ssj.service.weixin.user.service.UserService;
+import com.ssj.weixin.manager.entity.TbLibReadManager;
+import com.ssj.weixin.manager.service.IReadManagerService;
 import com.ssj.weixin.util.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -52,6 +53,9 @@ public class AdminSaleController  extends BaseController {
 	private IBookManagerService libManagerService;
 	
 	@Autowired
+	private IReadManagerService managerService;
+	
+	@Autowired
 	private ILibVipService libVipService;
 	
 	@Autowired
@@ -84,7 +88,7 @@ public class AdminSaleController  extends BaseController {
 	@RequestMapping("/index")
 	public String index(Model model,String libId) {
 		String userId = UserUtil.getUserId(request);
-		TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		if(manager==null && (saleList == null || saleList.size()<=0)){
 			model.addAttribute("msgType", "您不是销售人员,无法操作本页面!");
@@ -164,7 +168,7 @@ public class AdminSaleController  extends BaseController {
 		Map<String, Object> countOrderDetails= adminSaleService.findCountOrderByLib(libId);
 		TbLibJoin join = joinService.getById(libId);
 		User user = UserUtil.getUser(request);
-		TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(user.getId());
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(user.getId());
 		String isCd = "2";
 		if(manager.getType() == 5){
 			isCd = "4";
@@ -185,7 +189,7 @@ public class AdminSaleController  extends BaseController {
 		
 		User user = UserUtil.getUser(request);
 		String userId = user.getId();
-		TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		if(manager==null && (saleList == null || saleList.size()<=0)){
 			model.addAttribute("msgType", "您不是销售人员,无法操作本页面!");
@@ -432,7 +436,7 @@ public class AdminSaleController  extends BaseController {
 		Map<String, Object> data = new HashMap<String, Object>();
 		Map<String, Object> params = new HashMap<String, Object>();
 		String userId = UserUtil.getUserId(request);
-		TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		if (libId == null || "".equals(libId)) {
 			libId = manager == null ? saleList.get(0).get("lib_id").toString() : manager.getLibId();
@@ -540,7 +544,7 @@ public class AdminSaleController  extends BaseController {
 	@RequestMapping("/personm")
 	public String personm(Model model,String libId){
 		String userId = UserUtil.getUserId(request);
-		TbLibManager manager = libManagerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		List<Map<String, Object>> saleList = adminSaleService.findSaleByUserId(userId);
 		if(manager==null && (saleList == null || saleList.size()<=0)){
 			model.addAttribute("msgType", "您不是销售人员,无法操作本页面!");

+ 4 - 0
src/main/java/com/ssj/weixin/api/reading/controller/ReadingController.java

@@ -921,6 +921,10 @@ public class ReadingController  extends BaseController{
 					responseEntity.failure(ResponseConstant.CODE_000, "请选择所读学校");
 					return responseEntity;
 				}
+				if(StringUtils.isEmpty(libVip.getLibId())){
+					responseEntity.failure(ResponseConstant.CODE_000, "请选择所属图书馆");
+					return responseEntity;
+				}
 
 				vip.setUserId(userId);
 				vip.setActivateTime(new Date());

+ 10 - 14
src/main/java/com/ssj/weixin/api/reading/controller/ReadingCuratorController.java

@@ -29,6 +29,8 @@ import com.ssj.service.weixin.problem.service.RequestMethodLogService;
 import com.ssj.service.weixin.sales.service.LibVipServiceService;
 import com.ssj.service.weixin.user.request.LoginReturn;
 import com.ssj.service.weixin.user.service.UserService;
+import com.ssj.weixin.manager.entity.TbLibReadManager;
+import com.ssj.weixin.manager.service.IReadManagerService;
 import com.ssj.weixin.utils.IsbnUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -77,16 +79,10 @@ public class ReadingCuratorController extends BaseController{
 	private IBookSwitchInfoService switchInfoService;
 
 	@Autowired
-	private IBookManagerService  managerService;
+	private IReadManagerService managerService;
 
 	@Autowired
 	private ILibSubscribeService subService;
-
-	@Autowired
-	private IBookBaseService bookBaseService;
-
-	@Autowired
-	private RequestMethodLogService requestMethodLogService;
 	@Autowired
 	private ILibJoinService joinService;
 	@Autowired
@@ -95,8 +91,8 @@ public class ReadingCuratorController extends BaseController{
 	private ILibBorrowHisService borrowHisService;
 
 
-    
-    private String sharelibId="fa14e041-3823-4dac-b061-1e250e5a7d49";// 总部调度馆libId
+	// 总部调度馆libId
+    private String sharelibId="fa14e041-3823-4dac-b061-1e250e5a7d49";
 	@ApiOperation(value = "在馆书籍头部与标签", httpMethod = "POST")
 	@RequestMapping(value = "/bookstab", method = RequestMethod.POST)
 	public ResponseEntity bookstab(@RequestParam(name = "accessToken") String accessToken,
@@ -1443,7 +1439,7 @@ public class ReadingCuratorController extends BaseController{
 			ManagerEditOutDto dto = new ManagerEditOutDto();
 			if(user==null){
 				//管理员
-				TbLibManager manager = managerService.getById(req.getId());
+				TbLibReadManager manager = managerService.getById(req.getId());
 				user = userService.getById(manager.getUserId());
 				dto.setId(manager.getId());
 				dto.setImgUrl(user.getPhoto());
@@ -1478,7 +1474,7 @@ public class ReadingCuratorController extends BaseController{
 		try {
 			User user = userService.getById(req.getId());
 			int type = req.getJobs().equals("1")?1:0;
-			TbLibManager manager = null;
+			TbLibReadManager manager = null;
 			if(user==null){
 				//管理员
 				 manager = managerService.getById(req.getId());
@@ -1493,7 +1489,7 @@ public class ReadingCuratorController extends BaseController{
 				 	//馆长和馆长助理都有权限,所有没删除token
 					 manager.setState(2);
 					 managerService.save(manager);
-					 manager = new TbLibManager();
+					 manager = new TbLibReadManager();
 					 manager.setLibId(req.getLibId());
 					 manager.settPhoto(req.getImgUrl()==null?user.getPhoto():req.getImgUrl());
 					 manager.setType(type);
@@ -1505,7 +1501,7 @@ public class ReadingCuratorController extends BaseController{
 				 }
 
 			}else{ //普通用户
-				manager = new TbLibManager();
+				manager = new TbLibReadManager();
 				manager.setLibId(req.getLibId());
 				manager.settPhoto(req.getImgUrl()==null?user.getPhoto():req.getImgUrl());
 				manager.setType(type);
@@ -1532,7 +1528,7 @@ public class ReadingCuratorController extends BaseController{
 		ResponseEntity responseEntity = new ResponseEntity();
 		try {
 
-			TbLibManager manager = managerService.getById(req.getId());
+			TbLibReadManager manager = managerService.getById(req.getId());
 			manager.setState(2);
 			tokenManager.delToken(manager.getUserId());
 			managerService.save(manager);

+ 17 - 20
src/main/java/com/ssj/weixin/api/user/controller/WxApiUserController.java

@@ -37,6 +37,7 @@ import com.ssj.service.weixin.user.request.CourseLogin;
 import com.ssj.service.weixin.user.request.LoginReturn;
 import com.ssj.service.weixin.user.request.WeiXinCode;
 import com.ssj.service.weixin.user.service.UserService;
+import com.ssj.weixin.manager.service.IReadManagerService;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.slf4j.Logger;
@@ -62,7 +63,7 @@ public class WxApiUserController extends BaseController {
 	private OrderService orderService;
 	
    @Autowired
-	private IBookManagerService managerService; 
+	private IBookManagerService managerService;
 	
    @Autowired
 	private AdminSaleService  adminSaleService;
@@ -75,6 +76,9 @@ public class WxApiUserController extends BaseController {
 	
 	@Autowired
 	private ILibVipService vipService;
+
+	@Autowired
+	private IReadManagerService readManagerService;
 	
 	
 	@ApiOperation(value = "同伴作业吧根据code获取accessToken")  
@@ -525,7 +529,7 @@ public class WxApiUserController extends BaseController {
 			//是调度员
 			data.put("isDispatcher", 1);
 		}else{
-			List<Map<String, Object>>  managerList = managerService.findManageUserList(userId);
+			List<Map<String, Object>>  managerList = readManagerService.findManageUserList(userId);
 			logger.info("managerList="+managerList);
 			List<LoginReturn> list = new ArrayList<LoginReturn>();
 			managerList.forEach(manager -> {
@@ -914,35 +918,28 @@ public class WxApiUserController extends BaseController {
 			data.put("subscribe",userService.getSubscribe(userId));
 
 		}else if(8==appType){
-			List<Map<String, Object>>  managerList = managerService.findManageUserList(userId);
+			List<Map<String, Object>>  managerList = readManagerService.findManageUserList(userId);
 			logger.info("managerList="+managerList);
 			List<LoginReturn> list = new ArrayList<LoginReturn>();
 			managerList.forEach(entitys -> {
-				if(entitys.get("libtype")!=null){
-					Integer libtype= (Integer)entitys.get("libtype");
-					Integer type= (Integer)entitys.get("type");
-					if(1==libtype){
-						if(1==type){
-							list.add(new LoginReturn(type,"馆长",entitys.get("lib_id").toString(),entitys.get("league_name").toString()));
-						}
-					}else{
-						if(4==type){
-							list.add(new LoginReturn(type,"馆长",entitys.get("lib_id").toString(),entitys.get("league_name").toString()));
-						}
-
-					}
+				Integer type= (Integer)entitys.get("type");
+				if(0==type || 1== type){
+					list.add(new LoginReturn(type,"馆长",entitys.get("lib_id").toString(),entitys.get("league_name").toString()));
 				}
 			});
 			if(list.size()>0){
-				data.put("list", list);//是调度员
-				data.put("isDispatcher", 3);//是馆长
+				data.put("list", list);
+				//是馆长
+				data.put("isDispatcher", 3);
 			}else{
 				//查询是否调度员
 				String str =   tokenManager.getString("dispatcher2018");
 				if(str.contains(userId)){
-					data.put("isDispatcher", 1);//是调度员
+					//调度员
+					data.put("isDispatcher", 1);
 				}else{
-					data.put("isDispatcher", 2);//不是调度员
+					//家长
+					data.put("isDispatcher", 2);
 				}
 			}
 		}else if(9==appType){

+ 7 - 5
src/main/java/com/ssj/weixin/library/controller/BookManagerController.java

@@ -30,6 +30,8 @@ import com.ssj.service.weixin.story.service.StoryImgService;
 import com.ssj.service.weixin.user.service.UserIntegralService;
 import com.ssj.service.weixin.user.service.UserService;
 import com.ssj.taskthread.ThreadPool;
+import com.ssj.weixin.manager.entity.TbLibReadManager;
+import com.ssj.weixin.manager.service.IReadManagerService;
 import com.ssj.weixin.taskthread.SyncPushVipIdsTask;
 import com.ssj.weixin.util.UserUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -71,7 +73,7 @@ public class BookManagerController extends BaseController {
     private IReadVipService vipService;
 
     @Autowired
-    private IBookManagerService managerService;
+    private IReadManagerService managerService;
 
     @Autowired
     private ILibJoinService joinService;
@@ -181,7 +183,7 @@ public class BookManagerController extends BaseController {
 
 
         //判断用户是否管理员
-        TbLibManager manager = managerService.findByUserIdAndLibId(userId, detail.getLibId());
+        TbLibReadManager manager = managerService.findByUserIdAndLibId(userId, detail.getLibId());
         //是管理员并且不是合伙人
         if (manager != null && manager.getType() != 5) {
             //学霸老师,不管是哪个馆的学霸老师,都可以录入gr值
@@ -278,7 +280,7 @@ public class BookManagerController extends BaseController {
     public ResponseEntity getBookInfo(HttpServletRequest request, Model model, String id, String getType) {
         ResponseEntity response = new ResponseEntity();
         String userId = UserUtil.getUserId(request);
-        TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
+        TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
         BookDetail detail = detailService.findById(id);
         if (detail.getInfoId() == null || "".equals(detail.getInfoId())) {
             response.failure("此书未绑定,请绑定后再借出!");
@@ -966,7 +968,7 @@ public class BookManagerController extends BaseController {
     @RequestMapping("/borrowByManager_{vipId}")
     public String borrowByManager(Model model, @PathVariable String vipId) {
         String userId = UserUtil.getUserId(request);
-        TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
+        TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
         TbLibJoin libJoin = joinService.getById(manager.getLibId());
         LibReadVip vip = vipService.getById(vipId);
         Date start_jia_time = DateHelper.parseDate(libJoin.getStartJiaTime() == null ? "2018-01-15" : libJoin.getStartJiaTime(), "yyyy-MM-dd");
@@ -1129,7 +1131,7 @@ public class BookManagerController extends BaseController {
         logger.info("recording_localId-->" + recording_localId);
         logger.info("recording_serverId-->" + recording_serverId);
 
-        TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(UserUtil.getUserId(request));
+        TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(UserUtil.getUserId(request));
         if (manager != null && manager.getType() == 3) { //3是学霸老师
             TbLibJoin libJoin = joinService.getById(manager.getLibId());
             bookpl.setPlLat(null);

+ 6 - 9
src/main/java/com/ssj/weixin/library/controller/LibBookController.java

@@ -18,6 +18,8 @@ import com.ssj.framework.weixin.util.WeixinUtil;
 import com.ssj.service.reading.in.BookIsbnInDto;
 import com.ssj.service.reading.in.BookSaveInDto;
 import com.ssj.service.weixin.library.service.*;
+import com.ssj.weixin.manager.entity.TbLibReadManager;
+import com.ssj.weixin.manager.service.IReadManagerService;
 import com.ssj.weixin.util.UserUtil;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.lang3.StringUtils;
@@ -48,7 +50,7 @@ public class LibBookController extends BaseController {
 		
 	
 	@Autowired
-	private IBookManagerService managerService;
+	private IReadManagerService managerService;
 
 	
 	@Autowired
@@ -66,12 +68,11 @@ public class LibBookController extends BaseController {
 	public String initBookTags(Model model){
 		String userId =  UserUtil.getUserId(request);
 		//通过userId 查询管理员所在的图书馆
-		TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		if(manager ==null ){
 			model.addAttribute("msgType", "只有图书管理员才能进行录入操作!");
 			return "weixin/library/bangding_infor";
 		}else{
-			//List<Map<String,Object>> libList = adminSaleService.findCdLibList(userId);
 			if(manager.getType() == 5){
 				model.addAttribute("msgType", "合伙人不能进行录入操作!");
 				return "weixin/library/bangding_infor";
@@ -86,13 +87,9 @@ public class LibBookController extends BaseController {
 	@RequestMapping("/initBookIn_{id}")
 	public String initBookIn(Model model,@PathVariable String id){
 		 //职业
-//	   	List<Sort> sortList = sortService.getParamValByCode("book_tags");
-//	   	List<Sort> ageList = sortService.getParamValByCode("book_ages");
-//	   	model.addAttribute("sortList", sortList);
-//	   	model.addAttribute("ageList", ageList);
 		//通过userId 查询管理员所在的图书馆
 		String userId =  UserUtil.getUserId(request);
-		TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 		if(manager ==null || manager.getType() == 5){
 			model.addAttribute("msgType", "只有图书管理员才能进行录入操作!");
 			return "weixin/library/bangding_infor";
@@ -128,7 +125,7 @@ public class LibBookController extends BaseController {
 		try {
 			String userId =  UserUtil.getUserId(request);
 			//通过userId 查询管理员所在的图书馆
-			TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
+			TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(userId);
 
 			if(manager == null || manager.getType() == 5){
 				resp.failure("您好,只有图书管理员才能进行录入操作!");

+ 6 - 4
src/main/java/com/ssj/weixin/library/controller/LibVipController.java

@@ -30,6 +30,8 @@ import com.ssj.service.weixin.sales.service.LibVipServiceService;
 import com.ssj.service.weixin.tyzyb.service.ITyZybService;
 import com.ssj.service.weixin.user.service.UserService;
 import com.ssj.service.weixin.zuoyb.service.ZuoybStudentPushSerivce;
+import com.ssj.weixin.manager.entity.TbLibReadManager;
+import com.ssj.weixin.manager.service.IReadManagerService;
 import com.ssj.weixin.util.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -61,7 +63,7 @@ public class LibVipController extends BaseController {
 	private UserService userService;
 
 	@Autowired
-	private IBookManagerService managerService;
+	private IReadManagerService managerService;
 
 	@Autowired
 	private IBookDetailService detailService;
@@ -118,7 +120,7 @@ public class LibVipController extends BaseController {
             return "weixin/library/bangding_infor";
         }
 		User user = UserUtil.getUser(request);
-		TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(user.getId());
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(user.getId());
 		//管理员
 		if(Objects.nonNull(manager)){
 			if(manager.getType() == 5){
@@ -141,7 +143,7 @@ public class LibVipController extends BaseController {
 			model.addAttribute("serviceList", serviceList);
 			model.addAttribute("weekReadInfo", weekReadInfo);
 			model.addAttribute("vip", vip);
-			model.addAttribute("libtype", manager.getLibtype());
+			model.addAttribute("libtype", 1);
 			TbLibSubscribe sub = subService.findByVipIdAndStat(vip.getId(),"1");
 			if(sub != null ){
 				//离馆  签离
@@ -846,7 +848,7 @@ public class LibVipController extends BaseController {
 	public String bangding_infor(Model model,@PathVariable String vipId){
 		User user = UserUtil.getUser(request);
 		//先判断是否管理员
-		TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(user.getId());
+		TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(user.getId());
 		//先查询是否已绑定用户
         LibReadVip vip = vipService.getById(vipId);
 		if(manager!=null){

+ 4 - 2
src/main/java/com/ssj/weixin/library/controller/OneBookController.java

@@ -11,6 +11,8 @@ import com.ssj.service.sys.jxy.service.JxyService;
 import com.ssj.service.weixin.library.service.*;
 import com.ssj.service.weixin.sales.service.LibVipServiceService;
 import com.ssj.service.weixin.story.service.StoryTaskService;
+import com.ssj.weixin.manager.entity.TbLibReadManager;
+import com.ssj.weixin.manager.service.IReadManagerService;
 import com.ssj.weixin.util.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -53,7 +55,7 @@ public class OneBookController extends BaseController {
 	private  ILibSubscribeService libSubscribeService;
 	
 	@Autowired
-	private IBookManagerService managerService;
+	private IReadManagerService managerService;
 	
 	@Autowired
 	private ILibJoinService joinService;
@@ -237,7 +239,7 @@ public class OneBookController extends BaseController {
 	    public String addSharing(Model model,@PathVariable String isbn){
 	    	User user = UserUtil.getUser(request);
 			//判断用户是否管理员
-			TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(user.getId());
+			TbLibReadManager manager = managerService.findByUserIdAndLibIsNotNull(user.getId());
 	    	if(manager != null &&  manager.getType()==3){ //3是学霸老师
 		    	TbLibJoin libJoin =joinService.getById(manager.getLibId());
 		    	model.addAttribute("libJoin", libJoin);

+ 22 - 0
src/main/java/com/ssj/weixin/manager/dao/ReadManagerDao.java

@@ -0,0 +1,22 @@
+package com.ssj.weixin.manager.dao;
+
+import com.ssj.bean.weixin.libmy.domain.TbLibManager;
+import com.ssj.weixin.manager.entity.TbLibReadManager;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @author sh
+ * @className ReadManagerDao
+ * @description repository
+ * @date 2021/3/15
+ */
+@Repository
+public interface ReadManagerDao extends JpaRepository<TbLibReadManager,String> {
+    @Query(nativeQuery = true,value = "select  * from tb_lib_read_manager where user_id=?1 and lib_id=?2 and state=1 limit 1")
+    TbLibReadManager findByUserIdAndLibId(String userId, String libId);
+
+    @Query(nativeQuery = true,value = "select  * from tb_lib_read_manager where user_id=?1 and lib_id is not null and state=1 limit 1")
+    TbLibReadManager findByUserIdAndLibIsNotNull(String userId);
+}

+ 14 - 0
src/main/java/com/ssj/weixin/manager/dao/ReadManagerQueryDao.java

@@ -0,0 +1,14 @@
+package com.ssj.weixin.manager.dao;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author sh
+ * @className ReadManagerQueryDao
+ * @description
+ * @date 2021/3/15
+ */
+public interface ReadManagerQueryDao {
+    List<Map<String, Object>> findManageUserList(String userId);
+}

+ 32 - 0
src/main/java/com/ssj/weixin/manager/dao/ReadManagerQueryImpl.java

@@ -0,0 +1,32 @@
+package com.ssj.weixin.manager.dao;
+
+import com.ssj.framework.core.persistence.PagingHibernateJdbcDao;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Repository;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author sh
+ * @className ReadManagerQueryImpl
+ * @description
+ * @date 2021/3/15
+ */
+@Repository
+public class ReadManagerQueryImpl implements ReadManagerQueryDao{
+    @Autowired
+    private PagingHibernateJdbcDao dao;
+
+    @Override
+    public List<Map<String, Object>> findManageUserList(String userId) {
+        StringBuilder selSQL = new StringBuilder();
+        List<Object> queryParams = new ArrayList<Object>();
+        selSQL.append(" SELECT t.id,t.user_id,t11.league_name,t.lib_id ,t.state,t.type ,t11.libtype from tb_lib_read_manager t     \n");
+        selSQL.append(" join tb_lib_join t11 on t.lib_id = t11.id  \n");
+        selSQL.append("where t.user_id = ? and t.state = 1 \n");
+        queryParams.add(userId);
+        return dao.findMap(selSQL.toString(), queryParams.toArray());
+    }
+}

+ 119 - 0
src/main/java/com/ssj/weixin/manager/entity/TbLibReadManager.java

@@ -0,0 +1,119 @@
+package com.ssj.weixin.manager.entity;
+
+import com.ssj.bean.common.framework.core.domain.BaseEntity;
+
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.util.Date;
+
+
+@Entity
+@Table(name = "tb_lib_read_manager")
+public class TbLibReadManager extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    private String libId;
+    /**
+     * 用户id
+     */
+    private String userId;
+    /**
+     * 0:馆长,1:图书馆管理员,
+     */
+    private Integer type;
+    /**
+     * 真实姓名
+     */
+    private String name;
+    /**
+     * 电话号码
+     */
+    private String telephone;
+    /**
+     * 性别
+     */
+    private Integer sex;
+
+    /**
+     * 头像
+     */
+    private String tPhoto;
+    /**
+     * 1有效-2无效
+     */
+    private Integer state;
+
+    private Date createTime;
+
+    public String getLibId() {
+        return libId;
+    }
+
+    public void setLibId(String libId) {
+        this.libId = libId;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getTelephone() {
+        return telephone;
+    }
+
+    public void setTelephone(String telephone) {
+        this.telephone = telephone;
+    }
+
+    public Integer getSex() {
+        return sex;
+    }
+
+    public void setSex(Integer sex) {
+        this.sex = sex;
+    }
+
+    public String gettPhoto() {
+        return tPhoto;
+    }
+
+    public void settPhoto(String tPhoto) {
+        this.tPhoto = tPhoto;
+    }
+
+    public Integer getState() {
+        return state;
+    }
+
+    public void setState(Integer state) {
+        this.state = state;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+}

+ 29 - 0
src/main/java/com/ssj/weixin/manager/service/IReadManagerService.java

@@ -0,0 +1,29 @@
+package com.ssj.weixin.manager.service;
+
+import com.ssj.bean.weixin.libmy.domain.TbLibManager;
+import com.ssj.framework.core.common.service.BaseService;
+import com.ssj.weixin.manager.entity.TbLibReadManager;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author sh
+ * @className IReadManagerService
+ * @description read manager interface
+ * @date 2021/3/11
+ */
+public interface IReadManagerService extends BaseService<TbLibReadManager,String> {
+
+    List<Map<String, Object>> findManageUserList(String userId);
+
+    /**
+     * 查询用户是否管理员 馆长跟助理都有权限
+     * @param userId
+     * @param libId
+     * @return
+     */
+    TbLibReadManager findByUserIdAndLibId(String userId, String libId);
+
+    TbLibReadManager findByUserIdAndLibIsNotNull(String userId);
+}

+ 50 - 0
src/main/java/com/ssj/weixin/manager/service/impl/ReadManagerServiceImpl.java

@@ -0,0 +1,50 @@
+package com.ssj.weixin.manager.service.impl;
+
+import com.ssj.bean.weixin.libmy.domain.TbLibManager;
+import com.ssj.framework.core.common.service.BaseServiceImpl;
+import com.ssj.weixin.manager.dao.ReadManagerDao;
+import com.ssj.weixin.manager.dao.ReadManagerQueryDao;
+import com.ssj.weixin.manager.entity.TbLibReadManager;
+import com.ssj.weixin.manager.service.IReadManagerService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.repository.PagingAndSortingRepository;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author sh
+ * @className ReadManagerServiceImpl
+ * @description
+ * @date 2021/3/15
+ */
+@Service
+public class ReadManagerServiceImpl extends BaseServiceImpl<TbLibReadManager,String> implements IReadManagerService {
+
+    @Autowired
+    private ReadManagerDao dao;
+
+    @Autowired
+    private ReadManagerQueryDao queryDao;
+
+    @Override
+    public PagingAndSortingRepository<TbLibReadManager, String> getDao() {
+        return dao;
+    }
+
+    @Override
+    public List<Map<String, Object>> findManageUserList(String userId) {
+        return queryDao.findManageUserList(userId);
+    }
+
+    @Override
+    public TbLibReadManager findByUserIdAndLibId(String userId, String libId) {
+        return dao.findByUserIdAndLibId(userId,libId);
+    }
+
+    @Override
+    public TbLibReadManager findByUserIdAndLibIsNotNull(String userId) {
+        return dao.findByUserIdAndLibIsNotNull(userId);
+    }
+}

+ 411 - 0
src/main/resources/templates/weixin/library/scanQRCode2.html

@@ -0,0 +1,411 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org">
+<head>
+    <title>书本信息录入</title>
+<script th:include="weixin/common/includeCSS" th:remove="tag" ></script>
+<link href="weui/mui.picker.css" th:href="@{/static/weui/mui.picker.css?version=2.3.6}" rel="stylesheet"/>
+<link href="weui/mui.poppicker.css" th:href="@{/static/weui/mui.poppicker.css?version=2.3.6}" rel="stylesheet"/>
+<script src="js/mui/mui.min.js" th:src="@{/static/js/mui/mui.min.js}"></script>
+<script src="js/mui.picker.js" th:src="@{/static/js/mui/mui.poppicker.js}"></script>
+<script src="js/mui.poppicker.js" th:src="@{/static/js/mui/mui.picker.js}"></script>
+<script src="js/laytpl.js" th:src="@{/static/js/laytpl.js}"></script>
+<script src="js/city.data-3.js" th:src="@{/static/js/city.data-3.js}" charset="utf-8"></script>
+<link href="weui/mui.min.css" th:href="@{/static/weui/mui.min.css?version=2.3.6}" rel="stylesheet"/>
+<script src="js/jquery-weui.js" th:src="@{/static/js/jquery-weui.js}"></script>
+<link href="style/jquery-weui.css" th:href="@{/static/style/jquery-weui.css}" rel="stylesheet"/>
+<script src="js/jquery.form.min.js" th:src="@{/static/js/jquery.form.min.js}"></script>
+<style type="text/css">
+</style>
+</head>
+<body class="bgfff">
+	<div class="mui-content">
+		<div class="orderbox" id="tabDiv">
+			<div class="userinfor" style="margin-bottom: 30px;">
+				<img th:src="@{/static/images/logossj.jpg}" />
+				<p class="name">[[${joinName}]]</p>
+			</div>
+			<a href="javascript:void(0);" id="scanQRCode1" class="btn_order">扫一扫书籍ISBN录入</a>
+			<a style="margin-top: 15px;" href="javascript:void(0);" class="btn_order_b">手动输入书籍ISBN</a>
+			</div>
+		<div class="orderbox" id = "inputDiv" style=" display: none">
+			<div class="userinfor">
+				<img th:src="@{/static/images/logossj.jpg}" />
+				<p class="name">[[${joinName}]]</p>
+			</div>
+			<div class="shoudinput">
+				<div class="dc_flex">
+					<div class="tag">ISBN码</div>
+					<div class="dc_hd"><input type="text" id="inputIsbn" placeholder="请输入ISBN码"></div>
+				</div>
+				<div class="dc_flex">
+					<div class="tag">丛书序号</div>
+					<div class="dc_hd dc_right"><input id="showUserPicker"  type="text" placeholder="请选择丛书序号"></div>
+				</div>
+			</div>
+			<a style="margin-top: 50px;" href="javascript:void(0);" onclick="manualInput();" class="btn_order">确定</a>
+		</div>
+		<div class="sjlybox" id="bookInfo2" style=" display: none">
+		 <form action="" method="post" id="submitFrom" enctype="multipart/form-data">
+			 <input type="hidden" id="id" name="id" th:value="${id}">
+			 <input type="hidden" id="localImage" name="localImage" >
+			 <input type="hidden" id="summary" name="summary" >
+			 <input type="hidden" id="saveType" name="saveType" value="1">
+			<div class="dc_flex flextop">
+				    <div class="lefttype">封面</div>
+					<div id="preview" class="btnuploadbtn dc_hd">
+						<img id="imghead" border="0" onClick="$('#previewImg').click();">
+					 </div>         
+					<input type="file" onChange="previewImage(this)" accept="image/*" name="path" style="display: none;" id="previewImg">
+			</div>
+			<div class="dc_flex">
+				<div class="lefttype">书名</div>
+				<div class="dc_hd"><input type="text" id="title" name="title" class="editinput" /></div>
+			</div>
+			<div class="dc_flex">
+				<div class="lefttype">作者</div>
+				<div class="dc_hd"><input type="text" id="author" name="author" class="editinput"/></div>
+			</div>
+			<div class="dc_flex">
+				<div class="lefttype">价格</div>
+				<div class="dc_hd"><input type="text" id="price" name="price" class="editinput"/></div>
+			</div>
+			<div class="dc_flex">
+				<div class="lefttype">ISBN13</div>
+				<div class="dc_hd"><input class="editinput" type="text"  id="isbn13" name="isbn13" readonly="readonly"></input></div>
+			</div>
+			
+			<div class="dc_flex">
+				<div class="lefttype">丛书序号</div>
+				<div class="dc_hd"><input class="editinput" type="text" id="csIndex" name="csIndex" readonly="readonly"></input></div>
+			</div>
+			<div class="dc_flex">
+				<div class="lefttype">简介</div>
+				<div class="dc_hd" >
+						<div class="jj" >
+							<textarea class="eidttext" id="summaryarea"></textarea>
+						</div>
+				</div>
+			</div>
+			</form>
+			<div class="footbtns">
+					<div class="dc_flex">
+						<div class="dc_hd" style="margin-left: 0;"><a href="javascript:void(0);" id="qdbtn" class="btn_order" onclick="submitFrom();">确定</a></div>
+					</div>
+			</div>
+		</div>
+	</div>
+	
+</body>
+<script>
+$(function() {
+ 	jssdk();
+ 	$('.btn_order_b').on('click',function(){
+		$('#tabDiv').hide();
+		$('#inputDiv').show();
+	});
+ });
+
+ function jssdk() {
+ 	$.ajax({
+ 			url: "[[${sysUrl}]]/weixin/question/wxjssdk",
+ 			type: 'post',
+ 			dataType: 'json',
+ 			contentType: "application/x-www-form-urlencoded; charset=utf-8",
+ 			data: {
+ 				'url': location.href.split('#')[0]
+ 			},
+ 			success: function(data) {
+ 				if (data && data.code == 999) {
+ 					wx.config({
+ 						debug: false,
+ 						appId: data.data.appId,
+ 						timestamp: data.data.timestamp,
+ 						nonceStr: data.data.noncestr,
+ 						signature: data.data.signature,
+ 						jsApiList: ['scanQRCode']
+ 					});
+ 					wx.ready(function() {
+ 							// 9 微信原生接口
+ 							// 9.1.2 扫描二维码并返回结果
+ 							document.querySelector('#scanQRCode1').onclick = function() {
+ 								     wx.scanQRCode({
+ 										needResult: 1,
+ 										desc: 'scanQRCode desc',
+ 										success: function(res) { 
+ 											// alert(JSON.stringify(res));
+ 											var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
+											var isbn ="";
+											if(result.split(",").length>1){
+												isbn= $.trim(result.split(",")[1]);
+											}else{
+												isbn=$.trim(result);
+											}
+
+ 											// url = "https://api.douban.com/v2/book/isbn/9787510817267";
+ 											//var isbn = "9787543695504";
+ 											if(isbn == "" || isbn == undefined || isbn == "null"){
+ 												 $.toast("获取isbn号失败,请重新尝试或者联系系统管理员!", "cancel");
+ 												 return;
+ 											}
+ 											searchBook(isbn,'');
+ 											
+ 								 	  	}
+ 								 	});   
+ 							};
+ 						});
+ 					wx.error(function(res) {
+ 						alert(res.errMsg);
+ 					});
+ 				}
+ 			}
+ 		});
+ }
+ 
+ $(document).ready(function(){
+	 $(document).on('change','.Jfile',function(){
+	   setImagePreview(this);
+	}); 
+ });
+ 
+ //手动输入
+ function manualInput(){
+	 var isbn = $.trim($("#inputIsbn").val());
+	 var csisbn = $("#showUserPicker").val();
+	 if(isbn=="" || isbn == undefined || isbn == "null"){
+		 $.toast("请输入书籍的isbn号!", "cancel");
+		 return ;
+	 }
+	 searchBook(isbn,csisbn);
+ }
+ 
+ function searchBook(isbn,csisbn){
+	 $.ajax({
+			type: "post",
+			url:"[[${sysUrl}]]/weixin/book/getBookInfo",
+			datatype: "json",
+			data:{
+				"isbn13":isbn,
+				'csIndex':csisbn
+			},
+			success: function(data) {
+				console.log(data);
+				if(data.code == '999'){
+					var saveType = data.data.serialType;
+
+					if(csisbn=='' && saveType == "3"){
+						var cslist = data.data.list;
+						var listData=[];
+						cslist.forEach(function (value, index) {
+							listData.push({value:value.csIndex,text:value.csIndex+"-"+value.title});
+						})
+						userPicker.setData(listData);
+						$("#tabDiv").hide();
+						$("#inputIsbn").val(isbn);
+						$("#inputDiv").show();
+					}else{
+						var bookInfo = data.data.bookInfo;
+						console.log(bookInfo)
+						$("#bookInfo2").show();
+						$("#summary").val(bookInfo.summary);
+						$("#price").val(bookInfo.price);
+						$("#title").val(bookInfo.title);
+						$("#imghead").attr('src',imgUrl+bookInfo.localImage);
+						$("#localImage").attr('src',bookInfo.localImage);
+						$("#author").val(bookInfo.author);
+						$("#isbn13").val(bookInfo.isbn13);
+						$("#summaryarea").val(bookInfo.summary);
+						$("#csIndex").val(bookInfo.csIndex);
+						$("#childTheme").val(bookInfo.childTheme);
+						$("#section").val(bookInfo.section);
+
+						$("#tabDiv").hide();
+						$('#inputDiv').hide();
+					}
+
+				}else{
+					$.toast(data.data.msg, "cancel");
+				}
+			},
+			fail: function(res) {
+				$.toast("未找到数据书籍!", "cancel");
+			}
+		 })  
+ }
+ //图片上传预览    IE是用了滤镜。
+ function previewImage(file)
+ {
+   var MAXWIDTH  = 90; 
+   var MAXHEIGHT = 90;
+   var div = document.getElementById('preview');
+   $("#saveType").val("2");
+   if (file.files && file.files[0])
+   {
+       div.innerHTML ='<img id=imghead onclick=$("#previewImg").click()>';
+       var img = document.getElementById('imghead');
+       img.onload = function(){
+         var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
+         img.width  =  rect.width;
+         img.height =  rect.height;
+       }
+       var reader = new FileReader();
+       reader.onload = function(evt){img.src = evt.target.result;}
+       reader.readAsDataURL(file.files[0]);
+   }
+   else //兼容IE
+   {
+     var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';
+     file.select();
+     var src = document.selection.createRange().text;
+     div.innerHTML = '<img id=imghead>';
+     var img = document.getElementById('imghead');
+     img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;
+     var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
+     status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);
+     div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\"'></div>";
+   }
+ }
+ function clacImgZoomParam( maxWidth, maxHeight, width, height ){
+     var param = {top:0, left:0, width:width, height:height};
+     if( width>maxWidth || height>maxHeight ){
+         rateWidth = width / maxWidth;
+         rateHeight = height / maxHeight;
+         
+         if( rateWidth > rateHeight ){
+             param.width =  maxWidth;
+             param.height = Math.round(height / rateWidth);
+         }else{
+             param.width = Math.round(width / rateHeight);
+             param.height = maxHeight;
+         }
+     }
+     param.left = Math.round((maxWidth - param.width) / 2);
+     param.top = Math.round((maxHeight - param.height) / 2);
+     return param;
+ }
+ function submitFrom() {
+ 	var hidTitle = $("#title").val();
+ 	hidTitle = $.trim(hidTitle);
+ 	if(hidTitle == ''){
+ 		$.toast("请输入图书书名", "cancel");
+ 		return false;
+ 	}
+ 	var price = $("#price").val();
+ 	price = $.trim(price);
+ 	if(price == ''){
+ 		$.toast("请输入图书价格", "cancel");
+ 		return false;
+ 	}
+ 	$("#summary").val($("#summaryarea").val());
+	$.showLoading("数据提交中,请稍后……!");
+ 	var url = "[[${sysUrl}]]/weixin/book/save";
+ 	var params = $("#submitFrom").serialize();
+ 	$("#submitFrom").ajaxSubmit({ 
+        type: 'post', // 提交方式 get/post 
+        url: url, // 需要提交的 url 
+        data:params, 
+            success: function(data) {
+        		// data 保存提交后返回的数据,一般为 json 数据
+                // 此处可对 data 作相关处理 
+                $.hideLoading();
+                if(data.code == 999){
+                	$.toast("保存成功!","ok");
+    		    	setTimeout(function(){  
+    		    		location.replace('[[${sysUrl}]]/weixin/book/initBookTags.html');
+    				    event.returnValue=false;
+    				},2000); 
+                }else{
+                	$.hideLoading();
+                	$.toast(data.msg, "cancel");
+                }
+            },
+			fail: function(res) {
+				$.hideLoading();
+				$.toast("提交出现异常,请稍后再试!", "cancel");
+			}
+           
+        }); 
+ }
+ var userPicker;
+ (function($, doc) {
+		$.init();
+		$.ready(function() {
+			//普通示例
+			userPicker = new $.PopPicker();
+			userPicker.setData([{
+				value: '1',
+				text: 1
+			}, {
+				value: '2',
+				text: 2
+			}, {
+				value: '3',
+				text: 3
+			}, {
+				value: '4',
+				text: 4
+			}, {
+				value: '5',
+				text: 5
+			}, {
+				value: '6',
+				text: 6
+			}, {
+				value: '7',
+				text: 7
+			}, {
+				value: '8',
+				text: 8
+			}, {
+				value: '9',
+				text: 9
+			},{
+				value: '10',
+				text: 10
+			}, {
+				value: '11',
+				text: 11
+			}, {
+				value: '12',
+				text: 12
+			}, {
+				value: '13',
+				text: 13
+			}, {
+				value: '14',
+				text: 14
+			}, {
+				value: '15',
+				text: 15
+			}, {
+				value: '16',
+				text: 16
+			}, {
+				value: '17',
+				text: 17
+			}, {
+				value: '18',
+				text: 18
+			}, {
+				value: '19',
+				text: 19
+			}, {
+				value: '20',
+				text: 20
+			}]);
+			var showUserPickerButton = doc.getElementById('showUserPicker');
+			showUserPickerButton.addEventListener('tap', function(event) {
+				userPicker.show(function(items) {
+					showUserPickerButton.value = items[0].value;
+					//返回 false 可以阻止选择框的关闭
+					//return false;
+				});
+			}, false);
+		});
+	})(mui, document);
+</script>
+</html>
+
+
+
+
+