소스 검색

扫会员二维码,图书等功能优化

shenhao 4 년 전
부모
커밋
b5a7ca10fb

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

@@ -62,7 +62,7 @@ public class BookDetailQueryDaoImpl implements IBookDetailQueryDao {
 			queryParams.add(vipId);
 		}
 		
-		selSql.append("group by t.id");	
+		selSql.append("group by t.id  order by a.create_time desc");
 		
 		return dao.findMap(selSql.toString(), queryParams.toArray());
 	}

+ 5 - 5
src/main/java/com/ssj/framework/weixin/util/WeixinUtil.java

@@ -30,11 +30,11 @@ import java.util.UUID;
 public class WeixinUtil {
     private static Logger log = LoggerFactory.getLogger(WeixinUtil.class);
 
-    public   static String APPID = "";
+    public   static String APPID = (String) SystemResourceLocator.getValue("weixin_appId");;
 
-    public  static String APPSECRET = "";
+    public  static String APPSECRET = (String) SystemResourceLocator.getValue("weixin_appSecret");
 
-    public  static String TOKEN = "";
+    public  static String TOKEN = (String) SystemResourceLocator.getValue("weixin_token");
 
 
     public  static String TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token";//获取token
@@ -47,8 +47,8 @@ public class WeixinUtil {
 
     public static String API_MATERIAL_GET="https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=ACCESS_TOKEN";
 
-    public static  String url ="";
-    public static String bucketName ="";
+    public static  String url =(String) SystemResourceLocator.getValue("peidian_url");
+    public static String bucketName =(String) SystemResourceLocator.getValue("peidian_bucketName");
 
     /**
      * 发起https请求并获取结果

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

@@ -887,16 +887,17 @@ public class ReadingController  extends BaseController{
 				responseEntity.failure(ResponseConstant.CODE_004, "会员卡为空");
 				return responseEntity;
 			}
-			String userId= tokenManager.getUserId(accessToken);
-			User user = userService.getById(userId);
+
 			LibReadVip vip=vipService.getById(libVip.getVipId());
 			if(vip==null){
-				if(!userId.equals(vip.getUserId())){
-					responseEntity.failure(ResponseConstant.CODE_000, "传入vipId错误,请检查!");
-					return responseEntity;
-				}
+				responseEntity.failure(ResponseConstant.CODE_000, "传入vipId错误,请检查!");
+				return responseEntity;
 			}
+
+			String userId= tokenManager.getUserId(accessToken);
+
 			if(StringUtil.isEmpty(vip.getUserId())){
+				User user = userService.getById(userId);
 				if(StringUtils.isEmpty(libVip.getImgUrl())){
 					libVip.setImgUrl(user.getPhoto());
 				}
@@ -923,7 +924,6 @@ public class ReadingController  extends BaseController{
 
 				vip.setUserId(userId);
 				vip.setActivateTime(new Date());
-				vip.setParentName(userService.getById(userId).getName());
 				//新卡
 				if(5==vip.getLevel() && StringUtils.isNotEmpty(libVip.getLibId())){
 					//插入该图书馆的服务

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1239 - 1437
src/main/java/com/ssj/weixin/library/controller/BookManagerController.java


+ 78 - 313
src/main/java/com/ssj/weixin/library/controller/LibVipController.java

@@ -39,10 +39,7 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RequestMapping("/weixin/libVip")
 @Controller
@@ -109,327 +106,104 @@ public class LibVipController extends BaseController {
 			model.addAttribute("msgType", "您好!此会员卡不存在。");
 			return "weixin/library/bangding_infor";
 		}
-		User user = UserUtil.getUser(request);
-        //有服务就跳转到激活
+		//查看卡是否激活
+		if(Objects.isNull(vip.getUserId())){
+			model.addAttribute("msgType", "您好,请前往小程序激活!");
+			return "weixin/library/bangding_infor";
+		}
+        //无服务就跳转到激活
         LibVipService libVipService  = libVipServiceService.getVipIdService(id);
         if(libVipService==null){
-            model.addAttribute("msgType", "您好,请前往小程序激活!");
+            model.addAttribute("msgType", "您好,您的服务已经过期,请联系管理员!");
             return "weixin/library/bangding_infor";
         }
+		User user = UserUtil.getUser(request);
 		TbLibManager manager = managerService.findByUserIdAndLibIsNotNull(user.getId());
-		Date nowDate = new Date();
-		if(manager != null && vip.getUserId() ==null){ //管理员
-
-			if(manager.getType() == 5){
-				model.addAttribute("msgType", "尊敬的合伙人,您未拥有扫卡权限!");
-				return "weixin/library/bangding_infor";
-			}
-			if(libVipService!=null){
-				//跳转到激活
-				TbLibJoin tbLibJoin=joinService.getById(libVipService.getLibId());
-				String school =cnAreaService.getLocationArea(tbLibJoin.getLeagueLat(), tbLibJoin.getLeagueLng(), 4);
-				model.addAttribute("school", school);
-				model.addAttribute("tbLibJoin", tbLibJoin);
-				model.addAttribute("type", 0);//0代购后激活
-				model.addAttribute("user", user);
-				model.addAttribute("vipId", id);
-				model.addAttribute("grade", sortService.getParamValByCode("grade"));//年级
-				return "weixin/vip/activateCard";
-			}
-			model.addAttribute("vipId", id);
-			if(5==vip.getLevel()){
-				model.addAttribute("type", 2);//自己购卡,定位
-				return "weixin/vip/location";
-			}
-
-			model.addAttribute("type", 1);//自己购卡,定位
-			if(4==vip.getLevel()){
-				return "weixin/vip/lxLocation";
-			}
-			return "weixin/vip/location";
-
-
-
-		}else if (manager != null && !Strings.isNullOrEmpty(vip.getUserId())){
-
+		//管理员
+		if(Objects.nonNull(manager)){
 			if(manager.getType() == 5){
 				model.addAttribute("msgType", "尊敬的合伙人,您未拥有扫卡权限!");
 				return "weixin/library/bangding_infor";
 			}
+			//查看是否属于自己馆的卡
 			Integer ptCount =  libVipServiceService.getVipIdAndLibIdCount(id,manager.getLibId());
 			if(ptCount==0){
 				model.addAttribute("msgType", "图书馆管理员您好!此卡没有购买您图书馆的相关服务,无法进行操作");
 				return "weixin/library/bangding_infor";
-			}else{
-				//判断是否有购买普通会员卡服务
-				TbLibJoin tbLibJoin=joinService.getById(manager.getLibId());
-				Date start_jia_time =DateHelper.parseDate( tbLibJoin.getStartJiaTime()==null?"2018-01-15":tbLibJoin.getStartJiaTime(), "yyyy-MM-dd") ;
-				Date end_jia_time = DateHelper.parseDate(tbLibJoin.getEndJiaTime()==null?"2018-02-19":tbLibJoin.getEndJiaTime(), "yyyy-MM-dd") ;
-				if(nowDate.getTime()>start_jia_time.getTime() && nowDate.getTime()<end_jia_time.getTime()){ //在寒假范围内
-					//查询此卡是否有作业吧服务
-					Integer countVip =  libVipServiceService.getVipIdZXServiceCount(id,manager.getLibId());
-					if(countVip == 0 ){ //没有作业吧服务
-						//查询该卡是否有寒暑假
-						Integer mouthCount = libVipServiceService.getMouthServiceCount(id,manager.getLibId(),"S001","C003");
-						if(mouthCount==0){
-							Integer isOcbuy = libVipServiceService.getOcBuyServiceCount(id,manager.getLibId(),"S001","C001");
-							if(isOcbuy==0){
-								Integer jiaCount = libVipServiceService.findIsHaveJiaSer(id,manager.getLibId());
-								if(jiaCount == 0){
-									model.addAttribute("msgType", "图书馆管理员您好!此卡没有购买您图书馆的寒暑假假期服务,无法进行操作");
-									return "weixin/library/bangding_infor";
-								}
-							}
-
-						}
-					}
-				}else{
-					//不在寒暑假时间内 查询是否拥有非寒暑假服务
-					Integer jiaCount =  libVipServiceService.findJiaServiceByLib(id,manager.getLibId());
-					if(jiaCount == 0){
-						model.addAttribute("msgType", "图书馆管理员您好!此卡没有购买您图书馆的非假期相关服务,无法进行操作");
-						return "weixin/library/bangding_infor";
-					}
-				}
-				if(4==vip.getLevel() || libVipServiceService.isVipIdAndWeekService(vip.getId(),null)){
-					int dayWeek=DateHelper.getday(new Date());//判断是不是周六日
-					if(dayWeek>1&& dayWeek<6){
-						model.addAttribute("msgType", "图书馆管理员,您好。<br/>本卡仅限周末使用,不包含寒暑假,不承诺配阅读顾问;<br/>仅限与社区机构/学校进行图书馆共建合作。");
-						return "weixin/library/bangding_infor";
-					}
-				}
-				//看是否馆长
-				LibStaffing  libStaffing =  libStaffingService.findByUserIdAndLib(user.getId(),manager.getLibId());
-				List<Map<String, Object>> serviceList = libVipServiceService.findUserServiceList(id,manager.getLibId());
-				//本周借阅情况
-				Map<String, Object> weekReadInfo = subService.findWeekReadInfo(id);
-				if(libStaffing!=null && ("s_sd".equals(libStaffing.getType()) || "s_cd".equals(libStaffing.getType()))){
-					//馆长---消费情况
-					Map<String, Object> costInfo = libStaffingService.findUserCost(id,manager.getLibId());
-					// 到馆情况
-					Map<String, Object> comeLibInfo = subService.findComeLibInfo(id);
-					Integer countVip =  libVipServiceService.getVipIdZXServiceCount(id,manager.getLibId());
-					if(countVip == 0){
-						model.addAttribute("workInfo", null);
-						model.addAttribute("workSug", null);
-					}else{
-						Map<String, Object> workInfo = subService.findworkInfo(id,manager.getLibId());
-						Map<String, Object> workSug = subService.findWorkSug(id);
-						model.addAttribute("workInfo", workInfo);
-						model.addAttribute("workSug", workSug);
-					}
-					//作业反馈
-
-					comeLibInfo.put("sug", "及时与家长电话回访跟进");
-					model.addAttribute("serviceList", serviceList);
-					model.addAttribute("weekReadInfo", weekReadInfo);
-					model.addAttribute("costInfo", costInfo);
-					model.addAttribute("comeLibInfo", comeLibInfo);
-
-					model.addAttribute("vip", vip);
-					model.addAttribute("libtype", manager.getLibtype());
-					TbLibSubscribe sub = subService.findByVipIdAndStat(vip.getId(),"1");
-					if(sub != null ){
-						//离馆  签离
-						model.addAttribute("vip", vip);
-						model.addAttribute("subId", sub.getId());
-						Integer ptCount2 =  libVipServiceService.getVipIdPTServiceCount(id,manager.getLibId());
-						if(ptCount2 == 0){
-							model.addAttribute("islib", "1"); //不是图书馆服务,没代借
-						}else{
-							model.addAttribute("islib", "2"); //图书馆服务,有代借
-						}
-						model.addAttribute("siginout", "1"); //是否签离  1、是,2否
-					}else{
-						//确认到馆操作  签到
-						model.addAttribute("orderUser", vip);
-						model.addAttribute("subId", "");
-						model.addAttribute("siginout", "2"); //是否签离  1、是,2否
-						Integer ptCount2 =  libVipServiceService.getVipIdPTServiceCount(id,manager.getLibId());
-						if(ptCount2 == 0){
-							model.addAttribute("islib", "1"); //不是图书馆服务,没代借
-						}else{
-							model.addAttribute("islib", "2"); //图书馆服务,有代借
-						}
-					}
-					return "weixin/library/order/cdsign";
-				}else{
-					//用户侦测说明
-
-
-					TbTyZyb tyzyb = tyzybService.findByAnyCondition(vip.getUserId());
-					model.addAttribute("tyzyb", tyzyb);
-					model.addAttribute("serviceList", serviceList);
-					model.addAttribute("weekReadInfo", weekReadInfo);
-					model.addAttribute("vip", vip);
-					model.addAttribute("libtype", manager.getLibtype());
-					TbLibSubscribe sub = subService.findByVipIdAndStat(vip.getId(),"1");
-					if(sub != null ){
-						//离馆  签离
-						model.addAttribute("vip", vip);
-						model.addAttribute("subId", sub.getId());
-						Integer ptCount2 =  libVipServiceService.getVipIdPTServiceCount(id,manager.getLibId());
-						if(ptCount2 == 0){
-							model.addAttribute("islib", "1"); //不是图书馆服务,没代借
-						}else{
-							model.addAttribute("islib", "2"); //图书馆服务,有代借
-						}
-						model.addAttribute("siginout", "1"); //是否签离  1、是,2否
-					}else{
-						//确认到馆操作  签到
-						model.addAttribute("orderUser", vip);
-						model.addAttribute("subId", "");
-						model.addAttribute("siginout", "2"); //是否签离  1、是,2否
-						Integer ptCount2 =  libVipServiceService.getVipIdPTServiceCount(id,manager.getLibId());
-						if(ptCount2 == 0){
-							model.addAttribute("islib", "1"); //不是图书馆服务,没代借
-						}else{
-							model.addAttribute("islib", "2"); //图书馆服务,有代借
-						}
-					}
-
-					return "weixin/library/order/salessign";
-				}
-
-				//}
 			}
-		}
 
-		//这里判断是不是销售人员。。。
-		if(vip.getUserId() != null && !"".equals(vip.getUserId())){ //已绑定
-			if(user.getId().equals(vip.getUserId())){ //本人
-				LibVipService vipService=libVipServiceService.getVipIdService(id);
-				if(vipService != null){
-					TbLibJoin tbLibJoin = joinService.getById(vipService.getLibId());
-					Date start_jia_time =DateHelper.parseDate( tbLibJoin.getStartJiaTime()==null?"2018-01-15":tbLibJoin.getStartJiaTime(), "yyyy-MM-dd") ;
-					Date end_jia_time = DateHelper.parseDate(tbLibJoin.getEndJiaTime()==null?"2018-02-19":tbLibJoin.getEndJiaTime(), "yyyy-MM-dd") ;
-					if(nowDate.getTime()>start_jia_time.getTime() && nowDate.getTime()<end_jia_time.getTime()){ //在寒假范围内
-						//查询该馆是否有寒假卡
-						LibSalesPrice salesPrice = salesPriceService.findByLibIdAndSpeciesAndType(vipService.getLibId(), "S001", "C008");
-						if(salesPrice != null){ //设有寒暑假服务
-							Integer countVip =  libVipServiceService.getVipIdZXServiceCount(id,vipService.getLibId()); //是否有作业吧服务
-							if(countVip == 0){
-								Integer mouthCount = libVipServiceService.getMouthServiceCount(id,vipService.getLibId(),"S001","C003");//半年卡以及月卡不计寒暑假
-								if(mouthCount==0){
-									//查询是否是10月1号前买的年卡
-									Integer isOcbuy = libVipServiceService.getOcBuyServiceCount(id,vipService.getLibId(),"S001","C001");
-									if(isOcbuy == 0){
-										//查询该卡是否有寒暑假
-										Integer jiaCount = libVipServiceService.findIsHaveJiaSer(id,vipService.getLibId());
-										if(jiaCount == 0){
-											model.addAttribute("msgType", vip.getChildName()+"妈妈/爸爸,您好。<br/>现在是寒暑假假期时间,需要购买假期服务才能进行预约。");
-											return "weixin/library/bangding_infor";
-										}
-									}
-								}
-							}
-						}
-					}else{
-						//不在寒暑假时间内 查询是否拥有非寒暑假服务
-						Integer jiaCount =  libVipServiceService.findJiaServiceByLib(id,tbLibJoin.getId());
-						if(jiaCount == 0){
-							model.addAttribute("msgType", vip.getChildName()+"妈妈/爸爸,您好。<br/>现在不是寒暑假假期时间,需要购买非假期服务才能进行预约。");
-							return "weixin/library/bangding_infor";
-						}
-					}
-					if(4==vip.getLevel() || libVipServiceService.isVipIdAndWeekService(id,null)){
-						int dayWeek=DateHelper.getday(new Date());//判断是不是周六日
-						if(dayWeek>1&& dayWeek<6){
-							model.addAttribute("msgType", vip.getChildName()+"妈妈/爸爸,您好。<br/>本卡仅限周末使用,可免预约周末到馆外借图书,但因周末馆内场地有限,需提前预约确认能否周末到馆阅读。");
-							return "weixin/library/bangding_infor";
-						}
-					}
-					//查询是否已预约--已预约--跳预约详情页面--否跳预约页面
-					TbLibSubscribe sub = subService.findByVipIdAndStat(vip.getId(),"1");
-					if(sub != null && sub.getOrderTime() != null){
-						model.addAttribute("vip", vip);
-						model.addAttribute("sub",sub);
-						model.addAttribute("isOrder", "1"); //已预约
-						return "weixin/library/orderView";
-					}else{
-						List<Map<String, Object>> serviceList = libVipServiceService.findUserServiceList(id,vipService.getLibId());
-						//本周借阅情况
-						Map<String, Object> weekReadInfo = subService.findWeekReadInfo(id);
-						Integer countVip =  libVipServiceService.getVipIdZXServiceCount(id,vipService.getLibId());
-						if(countVip == 0){
-							model.addAttribute("workInfo", null);
-							model.addAttribute("workSug", null);
-						}else{
-							Map<String, Object> workInfo = subService.findworkInfo(id,vipService.getLibId());
-							Map<String, Object> workSug = subService.findWorkSug(id);
-							model.addAttribute("workInfo", workInfo);
-							model.addAttribute("workSug", workSug);
-						}
-						//作业反馈
-
-
-						//查询一个该馆的管理员
-						Map<String, Object> managerMap = subService.findOneManager(tbLibJoin.getId());
-
-						model.addAttribute("sub",new TbLibSubscribe());
-						model.addAttribute("vip", vip);
-						model.addAttribute("isOrder", "2"); //未预约
-						model.addAttribute("join", tbLibJoin);
-						model.addAttribute("managerMap", managerMap);
-						model.addAttribute("serviceList", serviceList); //未预约
-						model.addAttribute("weekReadInfo", weekReadInfo);
-						return "weixin/library/order/parentsign";
-					}
-				}else{
-					model.addAttribute("msgType", "尊敬的用户!您还没有购买图书馆的相关服务,无法进行操作!");
-					return "weixin/library/bangding_infor";
-				}
+			List<Map<String, Object>> serviceList = libVipServiceService.findUserServiceList(id,manager.getLibId());
+			//本周借阅情况
+			Map<String, Object> weekReadInfo = subService.findWeekReadInfo(id);
+			//用户侦测说明
+			TbTyZyb tyzyb = tyzybService.findByAnyCondition(vip.getUserId());
+			model.addAttribute("tyzyb", tyzyb);
+			model.addAttribute("serviceList", serviceList);
+			model.addAttribute("weekReadInfo", weekReadInfo);
+			model.addAttribute("vip", vip);
+			model.addAttribute("libtype", manager.getLibtype());
+			TbLibSubscribe sub = subService.findByVipIdAndStat(vip.getId(),"1");
+			if(sub != null ){
+				//离馆  签离
+				model.addAttribute("vip", vip);
+				model.addAttribute("subId", sub.getId());
+				model.addAttribute("siginout", "1");
 			}else{
-				//提示已绑定
-				model.addAttribute("msgType", "尊敬的用户!此卡已经绑定,如果有需要请联系图书馆管理员!");
-				return "weixin/library/bangding_infor";
+				//确认到馆操作  签到
+				model.addAttribute("orderUser", vip);
+				model.addAttribute("subId", "");
+				//是否签离  1、是,2否
+				model.addAttribute("siginout", "2");
 			}
-		}else{   // 绑定用户
-			//先判断改卡是否有服务,
-			//判断是否有服务
-			LibVipService vipser  = libVipServiceService.getVipIdService(id);
-			if(vipser!=null){
-				//跳转到激活
-				TbLibJoin tbLibJoin=joinService.getById(vipser.getLibId());
-				String school =cnAreaService.getLocationArea(tbLibJoin.getLeagueLat(), tbLibJoin.getLeagueLng(), 4);
-				model.addAttribute("school", school);
-				model.addAttribute("tbLibJoin", tbLibJoin);
-				model.addAttribute("type", 0);//0代购后激活
-				model.addAttribute("user", user);
-				model.addAttribute("vipId", id);
-				model.addAttribute("grade", sortService.getParamValByCode("grade"));//年级
-				return "weixin/vip/activateCard";
-			}
-			model.addAttribute("vipId", id);
-			if(5==vip.getLevel()){
-				model.addAttribute("type", 2);//自己购卡,定位
-				return "weixin/vip/location";
-			}
-
-
-			if(4==vip.getLevel()){
-				//用户自己扫卡支付联名卡
-				if(vip.getOrderUser() != null && DateHelper.daysOfTian(new Date(),vip.getOrderTime())< 2){
-					//跳过定位
-					LibStaffing  libStaffing2 =  libStaffingService.findByUserIdAndType(vip.getOrderUser(),"s_qd");
-					return "forward:/weixin/payment/lxVipBuy_"+libStaffing2.getLibId()+".html?vipId="+id+"&type=0";
-				}else{
-					model.addAttribute("type", 1);//自己购卡,定位
-					return "weixin/vip/lxLocation";
-				}
+			Integer ptCount2 =  libVipServiceService.getVipIdPTServiceCount(id,manager.getLibId());
+			model.addAttribute("islib", ptCount2 == 0?"1":"2");
+			//是否签离  1、是,2否
+			return "weixin/library/order/salessign";
 
+		}else{
+			//不是管理员,用户自己
+			if(!vip.getUserId().equals(user.getId())){
+				model.addAttribute("msgType", "您好,此卡已被其他人激活,请联系管理员!");
+				return "weixin/library/bangding_infor";
 			}
-			if(vip.getOrderUser() != null && DateHelper.daysOfTian(new Date(),vip.getOrderTime())< 2){
-				//跳过定位
-				LibStaffing  libStaffing3 =  libStaffingService.findByUserIdAndType(vip.getOrderUser(),"s_qd");
-				return "forward:/weixin/payment/vipCardSales_"+libStaffing3.getLibId()+".html?vipId="+id+"&salesId="+vip.getOrderUser()+"&type=0";
-			}else{
-				model.addAttribute("type", 1);//自己购卡,定位
-				return "weixin/vip/location";
+			//查询是否已预约--已预约--跳预约详情页面--否跳预约页面
+			TbLibSubscribe sub = subService.findByVipIdAndStat(vip.getId(),"1");
+			if(sub != null && sub.getOrderTime() != null){
+				model.addAttribute("vip", vip);
+				model.addAttribute("sub",sub);
+				model.addAttribute("isOrder", "1"); //已预约
+				return "weixin/library/orderView";
+			}else {
+				LibVipService vipService = libVipServiceService.getVipIdService(id);
+				List<Map<String, Object>> serviceList = libVipServiceService.findUserServiceList(id, vipService.getLibId());
+				//本周借阅情况
+				Map<String, Object> weekReadInfo = subService.findWeekReadInfo(id);
+				Integer countVip = libVipServiceService.getVipIdZXServiceCount(id, vipService.getLibId());
+				if (countVip == 0) {
+					model.addAttribute("workInfo", null);
+					model.addAttribute("workSug", null);
+				} else {
+					Map<String, Object> workInfo = subService.findworkInfo(id, vipService.getLibId());
+					Map<String, Object> workSug = subService.findWorkSug(id);
+					model.addAttribute("workInfo", workInfo);
+					model.addAttribute("workSug", workSug);
+				}
+				//作业反馈
+
+				TbLibJoin tbLibJoin = joinService.getById(vipService.getLibId());
+				//查询一个该馆的管理员
+				Map<String, Object> managerMap = subService.findOneManager(tbLibJoin.getId());
+
+				model.addAttribute("sub", new TbLibSubscribe());
+				model.addAttribute("vip", vip);
+				model.addAttribute("isOrder", "2");
+				model.addAttribute("join", tbLibJoin);
+				model.addAttribute("managerMap", managerMap);
+				model.addAttribute("serviceList", serviceList);
+				model.addAttribute("weekReadInfo", weekReadInfo);
+				return "weixin/library/order/parentsign";
 			}
-
 		}
-
 	}
 
 	/**
@@ -524,15 +298,6 @@ public class LibVipController extends BaseController {
 		TbLibSubscribe sub = new TbLibSubscribe();
 		if(subId != null && !"".equals(subId) && !"undefined".equals(subId)){
 			sub =  subService.getById(subId);
-
-			//签离需要老师编辑完成,即对应zuoybStudentPush的type需要为2或3
-//			ZuoybStudentPush zuoybStudentPush = zuoybStudentPushSerivce.findByVipIdAndDate(vipId, DateUtil.format_yyyyMMddHHmmss(sub.getCreateTime()));
-//			Integer type = zuoybStudentPush.getType();
-//			if (type != 2 && type != 3) {
-//				logger.info("老师编辑未完成,不可签离,zuoybStudentPush=" + zuoybStudentPush);
-//				response.failure("老师编辑未完成,不可签离");
-//				return response;
-//			}
 		}
 
 		//确认离馆操作

+ 18 - 72
src/main/resources/templates/weixin/library/backcart.html

@@ -83,25 +83,20 @@
 				<input type="hidden" th:value="${vipId}" id="hidUserId"/>
 				<input type="hidden" th:value="${vipId}" id="vipId"/>
 				<ul class="cart_item" id="bookcar">
-					<li th:each="itemIdex:${bookList}">
-					 	<input type="hidden" name="bookId" th:value="${itemIdex.id}"/>
-					 	<input type="hidden" name="detailId" th:value="${itemIdex.detail_id}"/>
-						<a href="javascript:;" class="dc_flex" th:data-id="${itemIdex.id}">
-							<div class="pic"><img th:src="${imgUrl}+''+${itemIdex.local_image}"></div>
+					<li>
+					 	<input type="hidden" name="bookId" th:value="${bookDetailId}"/>
+					 	<input type="hidden" name="detailId" th:value="${detailId}"/>
+						<a href="javascript:;" class="dc_flex" th:data-id="${bookList.id}">
+							<div class="pic"><img th:src="${imgUrl}+''+${bookList.localImage}"></div>
 							
 							<div class="dc_hd">
 								<div class="dc_flex">
 									<div class="dc_hd">
-									<p class="name">[[${itemIdex.title }]]</p>
-									<p class="zz">作者:[[${itemIdex.author}]]</p>
+									<p class="name">[[${bookList.title }]]</p>
+									<p class="zz">作者:[[${bookList.author}]]</p>
 									</div>
 									 <div><span class="btn_delete" onclick="delData(this)">删除</span></div>
 								</div>
-								<div class="book_tag" th:if="${ not #lists.isEmpty(tags)}">
-									<span  th:each="item:${itemIdex.tags}" th:classappend="book_tag_color + ${itemStat.count}">
-											[[${item}]]
-									</span>
-								</div>
 							</div>
 						</a>
 					</li>
@@ -109,51 +104,6 @@
 			</div>
 		</div>
 	</div>
-	
-	<!--押金弹出框-->
-	<div id="" class="invite_dialog" style="display: none;">
-		<div class="mask"></div>
-		<div class="invite_popup" style="margin-top: -92.5px;">
-			<div class="tool_close"><a href="javascript:;"></a></div>
-			<div class="content">
-				<div class="title">请充值</div>
-				<div class="text">
-					<p>借书要先交40元押金和最低2元充值哦,2元/5日/册,最高只能一次借3本书,可扫码续借,逾期1元/日/册</p>
-				</div>
-			</div>
-			<a th:href="${sysUrl}+'/web/webManager/index'" class="btn foot_btn_close">去充值</a>
-		</div>
-	</div>
-	
-	<!--充值弹出框-->
-	<div id="" class="invite_dialog" style="display: none;">
-		<div class="mask"></div>
-		<div class="invite_popup" style="margin-top: -92.5px;">
-			<div class="tool_close"><a href="javascript:;"></a></div>
-			<div class="content">
-				<div class="title">请充值</div>
-				<div class="text">
-					<p>借书要先交40元押金和最低2元充值哦,2元/5日/册,最高只能一次借3本书,可扫码续借,逾期1元/日/册</p>
-				</div>
-			</div>
-			<a th:href="${sysUrl}+'/web/webManager/index'" class="btn foot_btn_close">去充值</a>
-		</div>
-	</div>
-	
-	<!--上限弹出框-->
-	<div id="bookOver" class="invite_dialog" style="display: none;">
-		<div class="mask"></div>
-		<div class="invite_popup" style="margin-top: -92.5px;">
-			<div class="tool_close"><a href="javascript:;"></a></div>
-			<div class="content">
-				<div class="title">已达可借上线</div>
-				<div class="text">
-					<p>亲,一次只能借三本书哦,看完再来吧</p>
-				</div>
-			</div>
-			<a href="###" class="btn foot_btn_close">确定</a>
-		</div>
-	</div>
 
 
 
@@ -165,22 +115,14 @@
 		<div class="pic"><img src="{{imgUrl}}{{d.local_image}}"></div>
 		<div class="dc_hd">
 			<div class="dc_flex">
-			<div class="dc_hd">
-			<p class="name">{{d.title }}</p>
-			<p class="zz">作者:{{d.author}}</p>
-			</div>
-<div><span class="btn_delete" onclick="delData(this)">删除</span></div>
-</div>
-{{# if(d.tags!=null && d.tags.length > 0){ }}
-			<div class="book_tag">
-				
-				{{# var bookTags = d.tags.toString();}}
-				{{#  var tagarr = bookTags.split(",");}}
-				{{# for(var i=0;i<tagarr.length;i++){}}
-						<span class="book_tag_color{{(i+1)}}">{{tagarr[i]}}</span>
-				{{#}}}
+				<div class="dc_hd">
+				<p class="name">{{d.title }}</p>
+				<p class="zz">作者:{{d.author}}</p>
+				</div>
+				<div>
+					<span class="btn_delete" onclick="delData(this)">删除</span>
+				</div>
 			</div>
-{{#}}}
 		</div>
 	</a>
 </li>
@@ -289,6 +231,10 @@
 		 			id+=",";
 		 		}
 		 	}
+		 	if(id==""){
+				$.toast("请扫描所还书籍进行还书!", "cancel");
+				return;
+			}
 		 	var did = "";
 		 	for(var i=0;i<detailId.length;i++){
 		 		did+=detailId[i].value;

+ 48 - 145
src/main/resources/templates/weixin/library/borrowcart.html

@@ -87,25 +87,20 @@
 				<input type="hidden" name="userId" id="userId" th:value="${userId}"/>
 				<input type="hidden" name="isMe" th:value="${isMe}"/>
 				<ul class="cart_item" id="bookcar">
-					<li th:each="itemIdex:${bookList}">
-					 	<input type="hidden" name="bookId" th:value="${itemIdex.id}"/>
-					 	<input type="hidden" name="isbn13" th:value="${itemIdex.isbn13}"/>
-					 	
-						<a href="javascript:;" class="dc_flex" th:data-id="${itemIdex.id}">
-							<div class="pic"><img th:src="${imgUrl}+''+${itemIdex.local_image}"></div>
+					<li>
+						<input type="hidden" name="bookId" th:value="${bookDetailId}"/>
+						<input type="hidden" name="detailId" th:value="${bookDetailId}"/>
+						<a href="javascript:;" class="dc_flex" th:data-id="${bookList.id}">
+							<div class="pic"><img th:src="${imgUrl}+''+${bookList.localImage}"></div>
+
 							<div class="dc_hd">
 								<div class="dc_flex">
 									<div class="dc_hd">
-										<p class="name">[[${itemIdex.title }]]</p>
-										<p class="zz">作者:[[${itemIdex.author}]]</p>
+										<p class="name">[[${bookList.title }]]</p>
+										<p class="zz">作者:[[${bookList.author}]]</p>
 									</div>
 								     <div><span class="btn_delete" onclick="delData(this)">删除</span></div>
 								</div>
-								<div class="book_tag" th:if="${ not #lists.isEmpty(tags)}">
-									<span th:each="item:${itemIdex.tags}" th:classappend="book_tag_color+${itemStat.count}">
-											[[${item}]]
-									</span>
-								</div>
 							</div>
 						</a>
 					</li>
@@ -211,16 +206,6 @@
 			</div>
 <div><span class="btn_delete" onclick="delData(this)">删除</span></div>
 </div>
-{{# if(d.tags!=null && d.tags.length > 0){ }}
-			<div class="book_tag">
-				
-				{{# var bookTags = d.tags.toString();}}
-				{{#  var tagarr = bookTags.split(",");}}
-				{{# for(var i=0;i<tagarr.length;i++){}}
-						<span class="book_tag_color{{(i+1)}}">{{tagarr[i]}}</span>
-				{{#}}}
-			</div>
-{{#}}}
 		</div>
 	</a>
 </li>
@@ -387,141 +372,59 @@ function delData(obj){
  			}
  		});
  }
-		
-		
+
+
 		function submitFrom() {
-			var vipid = $("#vipid").val();
+			var vipId = $("#vipid").val();
 			var isvip = $("#isvip").val();
-			if(vipid == "" && isvip=="2"){
+			if (vipId == "" && isvip == "2") {
 				$("#dialog_yebz").show();
 				return;
 			}
 			var bookLeft = $("#hidLeft").val();
-			if(bookLeft < 0){
+			if (bookLeft < 0) {
 				$("#bookOver").show();
-				return ;
+				return;
 			}
 			$.showLoading("数据提交中,请稍后……!");
 			$("#invite_lq_submit").removeAttr("onclick");
 			//提交前先检查余额是否够
+
+			var bookId = document.getElementsByName("bookId");
+			var id = "";
+			for (var i = 0; i < bookId.length; i++) {
+				id += bookId[i].value;
+				if (i < bookId.length - 1) {
+					id += ",";
+				}
+			}
+
 			$.ajax({
-					type: "post",
-					url:"[[${sysUrl}]]/weixin/bkManager/checkCharge",
-					datatype: "json",
-					data:{
-						"ye_fee":$("#payMoney").val(),
-						"borrowUserId":$("#userId").val(),
-						"vipid":vipid
-					},
-					success: function(data) {
-						if(data.code == "999"){
-							var msgType = data.data.msgType;
-							 
-							if(msgType == "2"){  //首次借书
-								$.hideLoading();
-								$('.invite_dialog').hide();
-								$("#firstCharge").show();
-								$("#invite_lq_submit").attr("onclick","submitFrom()");
-								return ;
-							}else if(msgType == "3"){ //是会员或者余额足够
-								var bookId = document.getElementsByName("bookId");
-							 	var id ="";
-							 	for(var i=0;i<bookId.length;i++){
-							 		id+=bookId[i].value;
-							 		if(i<bookId.length-1){
-							 			id+=",";
-							 		}
-							 	}
-								$.ajax({
-									type: "post",
-									url:"[[${sysUrl}]]/weixin/bkManager/checkDrift",
-									datatype: "json",
-									data:{
-										"id":id,
-										"vipid":vipid
-									},
-									success: function(data) {
-										if(data.code == "999"){
-											 
-											var nextStep = data.data.nextType;
-											if(nextStep == "1"){
-												$('.invite_dialog').hide();
-											 	$.ajax({
-														type: "post",
-														url:"[[${sysUrl}]]/weixin/bkManager/save",
-														datatype: "json",
-														data:{
-															"id":id,
-															"money":$("#payMoney").val(),
-															"borrowUserId":$("#userId").val(),
-															"vipid":vipid
-														},
-														success: function(data) {
-															$.hideLoading();
-															if(data.code == "999"){
-																location.replace('[[${sysUrl}]]/weixin/bkManager/borrowSuccess_'+vipid+'.html');
-															    event.returnValue=false;
-															}
-															$("#invite_lq_submit").attr("onclick","submitFrom()");
-														},
-														fail: function(res) {
-															$.hideLoading();
-															$("#invite_lq_submit").attr("onclick","submitFrom()");
-														}
-													}) 
-											}else if (nextStep == "2"){
-												$.hideLoading();
-												 $.toast("图书原持有人不同意借出!","cancel");
-												 $("#invite_lq_submit").attr("onclick","submitFrom()");
-												 return ;
-											}else if (nextStep == "3"){
-												$.hideLoading();
-												 $.toast("图书原持有人仍未确认,请催促及时确认,以免失效!","cancel");
-												 $("#invite_lq_submit").attr("onclick","submitFrom()");
-												 return ;
-											}else{
-												$.hideLoading();
-												 $.toast("超出系统定义,请联系管理员!","cancel");
-												 $("#invite_lq_submit").attr("onclick","submitFrom()");
-												 return ;
-											}
-											
-										}else{
-											 $.hideLoading();
-											 $.toast("服务器异常,请稍后再试!","cancel");
-											 $("#invite_lq_submit").attr("onclick","submitFrom()");
-											 return ;
-										}
-									},
-									fail: function(res) {
-										 $.hideLoading();
-										$.toast("服务器异常,请稍后再试!","cancel");
-										$("#invite_lq_submit").attr("onclick","submitFrom()");
-										return ;
-									}
-								}) 
-							}else if(msgType == "4"){ //余额不够,需要充值
-								$.hideLoading();
-								$('.invite_dialog').hide();
-								$("#charge").show();
-								$("#invite_lq_submit").attr("onclick","submitFrom()");
-								return ;
-							}
-						}else{
-							$.hideLoading();
-							 $.toast("服务器异常,请稍后再试!","cancel");
-							 $("#invite_lq_submit").attr("onclick","submitFrom()");
-							 return ;
-						}
-					},
-					fail: function(res) {
-						$.hideLoading();
-						$.toast("服务器异常,请稍后再试!","cancel");
-						$("#invite_lq_submit").attr("onclick","submitFrom()");
-						return ;
+				type: "post",
+				url: "[[${sysUrl}]]/weixin/bkManager/save",
+				datatype: "json",
+				data: {
+					"id": id,
+					"money": $("#payMoney").val(),
+					"borrowUserId": $("#userId").val(),
+					"vipId": vipId
+				},
+				success: function (data) {
+					$.hideLoading();
+					if (data.code == "999") {
+						location.replace('[[${sysUrl}]]/weixin/bkManager/borrowSuccess_' + vipId + '.html');
+						event.returnValue = false;
+					}else{
+						$.toast(data.msg, "cancel");
 					}
-				}) 
-		 }
+					$("#invite_lq_submit").attr("onclick", "submitFrom()");
+				},
+				fail: function (res) {
+					$.hideLoading();
+					$("#invite_lq_submit").attr("onclick", "submitFrom()");
+				}
+			})
+		}
 		
 		
     </script>