瀏覽代碼

缝缝补补

shenhao 4 年之前
父節點
當前提交
0d68c39768
共有 21 個文件被更改,包括 229 次插入48 次删除
  1. 1 1
      src/main/java/com/ssj/api/controller/ApiTrainController.java
  2. 2 2
      src/main/java/com/ssj/api/controller/ApiWxController.java
  3. 12 0
      src/main/java/com/ssj/bean/sys/fx/domain/MerchantMealOrder.java
  4. 8 1
      src/main/java/com/ssj/bean/sys/imlibuser/TbClassStudentTemp.java
  5. 1 1
      src/main/java/com/ssj/dao/weixin/problem/dao/ProblemQueryDao.java
  6. 4 3
      src/main/java/com/ssj/dao/weixin/problem/dao/impl/ProblemQueryDaoImpl.java
  7. 4 0
      src/main/java/com/ssj/dao/weixin/sales/dao/LibVipServiceDao.java
  8. 2 2
      src/main/java/com/ssj/service/sys/fx/service/MerchantMealService.java
  9. 24 30
      src/main/java/com/ssj/service/sys/fx/service/impl/MerchantMealServiceImpl.java
  10. 2 2
      src/main/java/com/ssj/service/sys/imlibuser/service/impl/TbClassStudentTempServiceImpl.java
  11. 3 1
      src/main/java/com/ssj/service/weixin/problem/service/impl/ValidVipServiceImpl.java
  12. 8 0
      src/main/java/com/ssj/service/weixin/sales/service/LibVipServiceService.java
  13. 9 2
      src/main/java/com/ssj/service/weixin/sales/service/impl/LibVipServiceServiceImpl.java
  14. 2 2
      src/main/java/com/ssj/sys/controller/FxController.java
  15. 3 0
      src/main/java/com/ssj/sys/controller/ImLibUserController.java
  16. 32 0
      src/main/java/com/ssj/sys/controller/SysCuratorController.java
  17. 1 1
      src/main/resources/mybatis/mapper/CuratorMapper.xml
  18. 二進制
      src/main/resources/static/sys/excel/student_lib.xlsx
  19. 96 0
      src/main/resources/templates/sys/fx/curator/libVipServiceUpdate.html
  20. 14 0
      src/main/resources/templates/sys/fx/curator/studentIndex.html
  21. 1 0
      src/main/resources/templates/sys/train/user_edit.html

+ 1 - 1
src/main/java/com/ssj/api/controller/ApiTrainController.java

@@ -536,7 +536,7 @@ public class ApiTrainController extends BaseController {
 
 				//给新商户创建服务订单
 				int buyMouth = o.getMaxCount()%o.getCostCount()>0?(o.getMaxCount()/o.getCostCount())+1:o.getMaxCount()/o.getCostCount();
-				merchantMealService.saveMerchantMeal(newMerchant.getId(), 5, o.getCostCount(),buyMouth , 0, BigDecimal.ZERO.doubleValue(), BigDecimal.ZERO.doubleValue(), o.getBeginTime(), o.getBeginTime());
+				merchantMealService.saveMerchantMeal(newMerchant.getId(), 5, o.getCostCount(),buyMouth , 0, BigDecimal.ZERO.doubleValue(), BigDecimal.ZERO.doubleValue(), o.getBeginTime(), o.getBeginTime(),null);
 			});
 			responseEntity.success("转换成功!");
 		} catch (Exception e) {

+ 2 - 2
src/main/java/com/ssj/api/controller/ApiWxController.java

@@ -120,10 +120,10 @@ public class ApiWxController extends BaseController {
                             Merchant merchant = merchantService.getById(libOrderDetails.getUserId());
                             double unitPrice = libOrderDetails.getPrice().multiply(new BigDecimal("0.4")).divide(new BigDecimal(libOrderDetails.getNumber())).setScale(2,RoundingMode.HALF_UP).doubleValue();
                             if (merchant.getPosType() == 2) {
-                                merchantMealService.saveMerchantMeal(merchant.getId(), 5, libOrderDetails.getType(), libOrderDetails.getNumber(), 0, unitPrice, libOrderDetails.getPrice().doubleValue(), libOrderDetails.getStartActiveTime(), libOrderDetails.getActiveTime());
+                                merchantMealService.saveMerchantMeal(merchant.getId(), 5, libOrderDetails.getType(), libOrderDetails.getNumber(), 0, unitPrice, libOrderDetails.getPrice().doubleValue(), libOrderDetails.getStartActiveTime(), libOrderDetails.getActiveTime(),orderNo);
                             } else { //3
                                 String endActiveTime = DateHelper.format(DateHelper.getMonthDate(DateHelper.parseDate(libOrderDetails.getActiveTime(), "yyyy-MM-dd"), libOrderDetails.getNumber()), "yyyy-MM-dd");
-                                merchantMealService.saveMerchantMealSC(merchant.getId(), 5, libOrderDetails.getType(), libOrderDetails.getActiveTime(), endActiveTime, unitPrice, libOrderDetails.getPrice().doubleValue(), null);
+                                merchantMealService.saveMerchantMealSC(merchant.getId(), 5, libOrderDetails.getType(), libOrderDetails.getActiveTime(), endActiveTime, unitPrice, libOrderDetails.getPrice().doubleValue(), null,orderNo);
                             }
 
                         } catch (Exception e) {

+ 12 - 0
src/main/java/com/ssj/bean/sys/fx/domain/MerchantMealOrder.java

@@ -47,6 +47,10 @@ public class MerchantMealOrder extends BaseEntity {
 	 * 销售id
 	 */
 	private String agentId;
+	/**
+	 * 订单no
+	 */
+	private String orderNo;
 
 	public String getMerchantId() {
 		return merchantId;
@@ -175,4 +179,12 @@ public class MerchantMealOrder extends BaseEntity {
 	public void setAgentId(String agentId) {
 		this.agentId = agentId;
 	}
+
+	public String getOrderNo() {
+		return orderNo;
+	}
+
+	public void setOrderNo(String orderNo) {
+		this.orderNo = orderNo;
+	}
 }

+ 8 - 1
src/main/java/com/ssj/bean/sys/imlibuser/TbClassStudentTemp.java

@@ -58,6 +58,8 @@ public class TbClassStudentTemp  extends BaseEntity {
     
     private Integer takeType;
 
+    private String serviceEndTime;
+
 	public String getVipId() {
 		return vipId;
 	}
@@ -235,6 +237,11 @@ public class TbClassStudentTemp  extends BaseEntity {
 		this.viceParentRole = viceParentRole;
 	}
 
+	public String getServiceEndTime() {
+		return serviceEndTime;
+	}
 
-  
+	public void setServiceEndTime(String serviceEndTime) {
+		this.serviceEndTime = serviceEndTime;
+	}
 }

+ 1 - 1
src/main/java/com/ssj/dao/weixin/problem/dao/ProblemQueryDao.java

@@ -89,5 +89,5 @@ public interface ProblemQueryDao {
 	 * 检查付费用户,服务失效时间
 	 * @return
 	 */
-	List<Map<String, Object>> checkVipValidList();
+	List<Map<String, Object>> checkVipValidList(String libId);
 }

+ 4 - 3
src/main/java/com/ssj/dao/weixin/problem/dao/impl/ProblemQueryDaoImpl.java

@@ -333,13 +333,14 @@ public class ProblemQueryDaoImpl implements ProblemQueryDao{
 	}
 
 	@Override
-	public List<Map<String, Object>> checkVipValidList() {
+	public List<Map<String, Object>> checkVipValidList(String libId) {
 		String sql = "SELECT t.id as s_id,t12.id as vip_id from tb_lib_vip_service t\n" +
-				"join tb_lib_order_details t11 on t.order_details_id = t11.id\n" +
+				"left join tb_lib_order_details t11 on t.order_details_id = t11.id\n" +
 				"join tb_lib_vip t12 on t.vip_id = t12.id and t.lib_id = t12.lib_id\n" +
 				"join fx_merchant t13 on t12.lib_id = t13.lib_id\n" +
-				"where t12.lib_id is not null and t.end_time<NOW() and t.stat=1 ";
+				"where (t.lib_id=? or t11.id is not null) and t.end_time<NOW() and t.stat=1 ";
 		List<Object> queryParams = new ArrayList<Object>();
+		queryParams.add(libId);
 		return dao.findMap(sql,queryParams.toArray());
 	}
 

+ 4 - 0
src/main/java/com/ssj/dao/weixin/sales/dao/LibVipServiceDao.java

@@ -350,4 +350,8 @@ public interface LibVipServiceDao extends JpaRepository<LibVipService, String> {
 	@Query(nativeQuery = true, value = "update tb_lib_vip_service set end_time = ?2 where order_details_id = ?1 ")
 	@Modifying
 	void updateServiceEndTimeByOrderDetailId(String orderDetailId, String endTime);
+
+	@Query(nativeQuery = true, value = "update tb_lib_vip_service set end_time = ?3 where lib_id = ?1 and vip_id=?2 and species='S003' and stat=1 ")
+	@Modifying
+    void serviceEditSave(String libId, String vipId, String endTime);
 }

+ 2 - 2
src/main/java/com/ssj/service/sys/fx/service/MerchantMealService.java

@@ -27,9 +27,9 @@ public interface MerchantMealService extends BaseService<MerchantMeal, String> {
 	
 	List<MerchantMeal> findMerchantMealAll(String merchantId);
 	
-	void saveMerchantMeal(String merchantId,Integer signType,Integer libService,Integer buyMonth,Integer giveMonth,Double unitPrice,Double price,String startActiveTime,String activeTime);
+	void saveMerchantMeal(String merchantId,Integer signType,Integer libService,Integer buyMonth,Integer giveMonth,Double unitPrice,Double price,String startActiveTime,String activeTime,String orderNo);
 	
-	void saveMerchantMealSC(String merchantId,Integer signType,Integer libService,String startActiveTime,String endActiveTime,Double unitPrice,Double price,String agentId);
+	void saveMerchantMealSC(String merchantId,Integer signType,Integer libService,String startActiveTime,String endActiveTime,Double unitPrice,Double price,String agentId,String orderNo);
 	
 	void updateMerchantByMeal(String merchantId);
 	

+ 24 - 30
src/main/java/com/ssj/service/sys/fx/service/impl/MerchantMealServiceImpl.java

@@ -112,7 +112,7 @@ public class MerchantMealServiceImpl extends BaseServiceImpl<MerchantMeal, Strin
 	
 	@Override
 	@Transactional
-	public void saveMerchantMeal(String merchantId, Integer signType,Integer libService, Integer buyMonth, Integer giveMonth,Double unitPrice,Double price,String startActiveTime,String activeTime) {
+	public void saveMerchantMeal(String merchantId, Integer signType,Integer libService, Integer buyMonth, Integer giveMonth,Double unitPrice,Double price,String startActiveTime,String activeTime,String orderNo) {
 		List<MerchantMeal> merchantMeals=new ArrayList<MerchantMeal>();
 		Merchant merchant=merchantService.getById(merchantId);
 		switch (merchant.getPosType()) {
@@ -130,6 +130,7 @@ public class MerchantMealServiceImpl extends BaseServiceImpl<MerchantMeal, Strin
 			mealOrder.setCreateTime(new Date());
 			mealOrder.setType(1);
 			mealOrder.setSignType(signType);
+			mealOrder.setOrderNo(orderNo);
 			switch (mealOrder.getSignType()) {
 			case 1:
 				mealOrder.setPortNum(200);
@@ -236,7 +237,7 @@ public class MerchantMealServiceImpl extends BaseServiceImpl<MerchantMeal, Strin
 
 	@Override
 	@Transactional
-	public void saveMerchantMealSC(String merchantId, Integer signType, Integer libService, String startActiveTime,String endActiveTime,Double unitPrice, Double price,String agentId) {
+	public void saveMerchantMealSC(String merchantId, Integer signType, Integer libService, String startActiveTime,String endActiveTime,Double unitPrice, Double price,String agentId,String orderNo) {
 		List<MerchantMeal> merchantMeals=new ArrayList<MerchantMeal>();
 		Merchant merchant=merchantService.getById(merchantId);
 		switch (merchant.getPosType()) {
@@ -257,6 +258,7 @@ public class MerchantMealServiceImpl extends BaseServiceImpl<MerchantMeal, Strin
 			mealOrder.setType(2);
 			mealOrder.setSignType(signType);
 			mealOrder.setAgentId(agentId);
+			mealOrder.setOrderNo(orderNo);
 			switch (mealOrder.getSignType()) {
 			case 1:
 				mealOrder.setPortNum(200);
@@ -376,39 +378,31 @@ public class MerchantMealServiceImpl extends BaseServiceImpl<MerchantMeal, Strin
 				merchant.setPortNum(maxPortNum);
 				merchant.setLibService(sumLibService+merchantSignService.getMerchantSignByCurLibService(merchantId));
 				merchantService.save(merchant);
-				
 				//调用openApi接口
 				//20210419 改为这边处理,不调openApi接口处理
 				if(StringUtils.isNotEmpty(merchant.getLibId())) {
 					DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-					//更新join表
-					TbLibJoin join = joinService.getById(merchant.getLibId());
-					join.setLibService(merchant.getLibService());
-					join.setSignType(merchant.getSignType());
-					join.setSignTime(merchant.getStartActiveTime());
-					join.setEndSignTime(merchant.getEndActiveTime());
-					joinService.save(join);
-					//查询现在馆有学生人数
-					int studentNum = vipService.countByLibId(merchant.getLibId());
-					if(merchant.getLibService()<studentNum){
-						//服务失效 家长自助购买的另外处理
-						libVipServiceService.updateStatByLibId(merchant.getLibId());
-						//解绑馆下所有学生
-						vipService.updateLibId(merchant.getLibId());
-					}else{
-						//更新服务时间
-						libVipServiceService.updateServiceEndTime(merchant.getLibId(),format.format(merchant.getEndActiveTime()));
+					if(!"无锡市".equals(merchant.getUnitName())){
+						//无锡市的服务失效时间由家长端购买生效或者后台导入生效
+						//更新join表
+						TbLibJoin join = joinService.getById(merchant.getLibId());
+						join.setLibService(merchant.getLibService());
+						join.setSignType(merchant.getSignType());
+						join.setSignTime(merchant.getStartActiveTime());
+						join.setEndSignTime(merchant.getEndActiveTime());
+						joinService.save(join);
+						//查询现在馆有学生人数
+						int studentNum = vipService.countByLibId(merchant.getLibId());
+						if(merchant.getLibService()<studentNum){
+							//服务失效 家长自助购买的另外处理
+							libVipServiceService.updateStatByLibId(merchant.getLibId());
+							//解绑馆下所有学生
+							vipService.updateLibId(merchant.getLibId());
+						}else{
+							//更新服务时间
+							libVipServiceService.updateServiceEndTime(merchant.getLibId(),format.format(merchant.getEndActiveTime()));
+						}
 					}
-//					libVipServiceService.openApiServiceCRM(
-//							3,
-//							merchant.getLibId(),
-//							merchant.getSignType(),
-//							merchant.getMealType(),
-//							merchant.getLibService(),
-//							merchant.getStartActiveTime()!=null ? format.format(merchant.getStartActiveTime()) : "",
-//							merchant.getStartActiveTime()!=null ? format.format(merchant.getStartActiveTime()) : "",
-//							merchant.getEndActiveTime()!=null ? format.format(merchant.getEndActiveTime()) : ""
-//							);
 				}
 			}
 			break;

+ 2 - 2
src/main/java/com/ssj/service/sys/imlibuser/service/impl/TbClassStudentTempServiceImpl.java

@@ -364,9 +364,9 @@ public class TbClassStudentTempServiceImpl extends BaseServiceImpl<TbClassStuden
 						tbClassStudentService.save(tbClassStudent);
 					}
 				}
-
+				Date endDate = DateHelper.parseDate(tbLibImStudentTemp.getServiceEndTime(),"yyyy-MM-dd");
 				//给学生增加一个默认的永久校区批改服务
-	            libVipServiceService.insertLibServiceByType(libVip.getId(), libJoin.getId(), libJoin.getEndSignTime(), libJoin.getSignType(),tbLibImStudentTemp.getCorrectType()==null?0:tbLibImStudentTemp.getCorrectType());
+	            libVipServiceService.insertLibServiceByType(libVip.getId(), libJoin.getId(), endDate, libJoin.getSignType(),tbLibImStudentTemp.getCorrectType()==null?0:tbLibImStudentTemp.getCorrectType());
 				
 			} catch (Exception e) {
 				e.printStackTrace();

+ 3 - 1
src/main/java/com/ssj/service/weixin/problem/service/impl/ValidVipServiceImpl.java

@@ -57,7 +57,9 @@ public class ValidVipServiceImpl extends BaseServiceImpl<ValidVip, String> imple
 		/**
 		 * 查询用户支付要过期的数据
 		 */
-		List<Map<String,Object>> list = problemQueryDao.checkVipValidList();
+		//无锡馆根据service表时间失效,暂直接赋值
+		String libId = "20210419467840347353882624";
+		List<Map<String,Object>> list = problemQueryDao.checkVipValidList(libId);
 		if(Objects.nonNull(list)){
 			list.forEach(m->{
 				//清除用户服务(service.stat=2 vip.lib_id =null)

+ 8 - 0
src/main/java/com/ssj/service/weixin/sales/service/LibVipServiceService.java

@@ -658,4 +658,12 @@ public interface LibVipServiceService extends BaseService<LibVipService, String>
 	 * @param endTime
 	 */
     void updateServiceEndTimeByOrderDetailId(String orderDetailId, String endTime);
+
+	/**
+	 * 更新S003 有效期内的服务时长
+	 * @param libId
+	 * @param vipId
+	 * @param endTime
+	 */
+	void serviceEditSave(String libId, String vipId, String endTime);
 }

+ 9 - 2
src/main/java/com/ssj/service/weixin/sales/service/impl/LibVipServiceServiceImpl.java

@@ -1702,11 +1702,13 @@ public class LibVipServiceServiceImpl extends BaseServiceImpl<LibVipService, Str
         if (signType > 0) {
             //新套餐,需要给校区服务和批改服务两个,结束时间保持一致
             //查询这个馆下有没有有效的服务
-            endDate = this.getEndDate(vipId, libId);
+			Merchant merchant = merchantService.getMerchantByLibId(libId);
+			if(!"无锡市".equals(merchant.getUnitName()) || endDate ==null){
+				endDate = this.getEndDate(vipId, libId);
+			}
             //如果导入excel批改服务类型未指定 则按以前流程
 			if(correctType == 0){
 				//2021-02-07 深圳吴老师学校商户只给平台批改服务
-				Merchant merchant = merchantService.getMerchantByLibId(libId);
 				if(Objects.nonNull(merchant) && merchant.getPosType()==3){
 					this.insertCorrectServiceByLibIdAndType(vipId,libId,endDate);
 				}else{
@@ -1962,5 +1964,10 @@ public class LibVipServiceServiceImpl extends BaseServiceImpl<LibVipService, Str
 		libVipServiceDao.updateServiceEndTimeByOrderDetailId(orderDetailId,endTime);
 	}
 
+	@Override
+	public void serviceEditSave(String libId, String vipId, String endTime) {
+		libVipServiceDao.serviceEditSave(libId,vipId,endTime);
+	}
+
 
 }

+ 2 - 2
src/main/java/com/ssj/sys/controller/FxController.java

@@ -5307,7 +5307,7 @@ public class FxController  extends BaseController {
 		}
 		Merchant merchant=merchantService.getById(id);
 		if(merchant.getPosType()==2) {
-			merchantMealService.saveMerchantMeal(id, signType, libService, buyMonth, giveMonth, unitPrice, price, startActiveTime, activeTime);
+			merchantMealService.saveMerchantMeal(id, signType, libService, buyMonth, giveMonth, unitPrice, price, startActiveTime, activeTime,null);
 			response.success("成功");
 		}else {
 			response.failure("商户类型不可购买此服务包");
@@ -5343,7 +5343,7 @@ public class FxController  extends BaseController {
 		}
 		Merchant merchant=merchantService.getById(id);
 		if(merchant.getPosType()==3) {
-			merchantMealService.saveMerchantMealSC(id, signType, libService, startActiveTime, endActiveTime, unitPrice, price,agentId);
+			merchantMealService.saveMerchantMealSC(id, signType, libService, startActiveTime, endActiveTime, unitPrice, price,agentId,null);
 			response.success("成功");
 		}else {
 			response.failure("商户类型不可购买此服务包");

+ 3 - 0
src/main/java/com/ssj/sys/controller/ImLibUserController.java

@@ -251,6 +251,9 @@ public class ImLibUserController extends BaseController {
 					if(map.containsKey("data_12")){
 						tbLibImStudentTemp.setCorrectType(Integer.parseInt(map.get("data_12")));
 					}
+					if(map.containsKey("data_13")){
+						tbLibImStudentTemp.setServiceEndTime(map.get("data_13"));
+					}
 					
 					tbLibImStudentTemps.add(tbLibImStudentTemp);
 					

+ 32 - 0
src/main/java/com/ssj/sys/controller/SysCuratorController.java

@@ -18,6 +18,8 @@ import com.ssj.service.conch.parents.v1.dto.CorrectDetailDto4;
 import com.ssj.service.sys.fx.service.MerchantService;
 import com.ssj.service.sys.fx.service.SysCuratorService;
 import com.ssj.service.weixin.library.service.ILibJoinService;
+import com.ssj.service.weixin.library.service.ILibVipService;
+import com.ssj.service.weixin.sales.service.LibVipServiceService;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -53,6 +55,10 @@ public class SysCuratorController extends BaseController {
     @Autowired
     private ParentService parentService;
 
+    @Autowired
+    private LibVipServiceService vipServiceService;
+
+
     @RequestMapping("/index")
     public String index(Model model, @RequestParam String libId){
         Map<String,Object> data = sysCuratorService.findIndexData(libId);
@@ -71,6 +77,11 @@ public class SysCuratorController extends BaseController {
         Map<String, Object> params = new HashMap<String, Object>();
         params.put("searchValue",searchValue);
         params.put("libId",libId);
+        //是否显示编辑服务时间 1不显示 2显示
+        params.put("showEdit",1);
+        if("20210419467840347353882624".equals(libId)){
+            params.put("showEdit",2);
+        }
         params.put("stat",request.getParameter("stat")==null?"":request.getParameter("stat"));
         params.put("startDate",request.getParameter("startDate")==null?"":request.getParameter("startDate"));
         params.put("endDate",request.getParameter("endDate")==null?"":request.getParameter("endDate"));
@@ -84,6 +95,27 @@ public class SysCuratorController extends BaseController {
         return "sys/fx/curator/studentIndex";
     }
 
+    @RequestMapping("/serviceEdit")
+    public String serviceEdit(Model model, @RequestParam String libId,@RequestParam String vipId){
+        model.addAttribute("libId",libId);
+        model.addAttribute("vipId",vipId);
+        return "sys/fx/curator/libVipServiceUpdate";
+    }
+
+    @RequestMapping(value = "/serviceEditSave")
+    @ResponseBody
+    public ResponseEntity serviceEditSave(String libId,String vipId,String  endTime) {
+        ResponseEntity responseEntity = new ResponseEntity();
+        try{
+            Map<String, Object> map = new HashMap<String, Object>();
+            vipServiceService.serviceEditSave(libId,vipId,endTime);
+            responseEntity.success(map,"操作成功");
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
+        return responseEntity;
+    }
+
     @RequestMapping("/teacherIndex")
     public String teacherIndex(Model model, @RequestParam String libId,@RequestParam(required = false, defaultValue = "10") int pageSize,
                                @RequestParam(required = false, defaultValue = "1") int pageNo,@RequestParam(required = false, defaultValue = "") String searchValue){

+ 1 - 1
src/main/resources/mybatis/mapper/CuratorMapper.xml

@@ -491,7 +491,7 @@
         <if test="map.serviceType != null and map.serviceType != '' and map.serviceType!='S999'">
             and t.correct_type=#{map.serviceType}
         </if>
-        order by t.end_time desc
+        order by t.stat asc,t.end_time desc
     </select>
 
     <select id="findClassListBySys" resultType="java.util.Map">

二進制
src/main/resources/static/sys/excel/student_lib.xlsx


+ 96 - 0
src/main/resources/templates/sys/fx/curator/libVipServiceUpdate.html

@@ -0,0 +1,96 @@
+<html xmlns:th="http://www.thymeleaf.org">
+<head>
+<title>私塾家</title>
+<script th:include="sys/common/metaCSS" th:remove="tag"></script> 
+<script th:include="sys/common/metaJS" th:remove="tag"></script> 
+<script src="sys/js/jquery.validate.min.js" th:src="@{/static/sys/js/jquery.validate.min.js}"></script>
+<script src="sys/js/jquery-validation/messages_zh.js" th:src="@{/static/sys/js/jquery-validation/messages_zh.js}"></script>
+<script src="sys/js/My97DatePicker/WdatePicker.js" th:src="@{/static/sys/js/My97DatePicker/WdatePicker.js}"></script>
+ <style>
+    	.clearfix:after {
+			visibility: hidden;
+			display: block;
+			font-size: 0;
+			content: " ";
+			clear: both;
+			height: 0;
+		}
+		.clearfix { display: inline-table; }
+		* html .clearfix { height: 1%; }
+		.clearfix { display: block; }
+		.fl{display:inline;float:left}
+		clearfix >control-label-error{display:inline;float:left;marign-left:10px}
+		 label.control-label-error {
+  				color: Red;
+             }
+          .lispan {line-height: 34px;}   
+          
+          .select1{
+   		    width:100%;
+		    height: 32px;
+		    line-height: 32px;
+		    border-top: solid 1px #a7b5bc;
+		    border-left: solid 1px #a7b5bc;
+		    border-right: solid 1px #ced9df;
+		    border-bottom: solid 1px #ced9df;
+		    opacity:1;
+	        margin-bottom: 10px;
+    	}
+    </style>
+</head>
+
+<body>
+<div class="formbody">
+	<div class="formtitle"><span>修改会员服务</span></div>
+	<form id="submitFrom"   method="post" class="form-horizontal form-validate">
+		     <input type="hidden" name="vipId"  th:value="${vipId}"/>
+		     <input type="hidden" name="libId" th:value="${libId}"/>
+		<ul class="forminfo">
+
+			<li class="clearfix" >
+			    <label>到期时间:<b>*</b></label>
+				<input type="text" id="endTime" class="dfinput fl" name="endTime" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd'})" />
+		   </li>
+			<li>
+				<label>&nbsp;</label>
+				<button type="button" class="btn" onclick="showIndex()">保存</button>
+				<button type="button" class="btn" onclick="window.history.go(-1);">取消</button>
+			</li>
+		</ul>
+	</form>
+</div>
+</body>
+<script type="text/javascript">
+
+function showIndex(){
+	var content ="您确定要修改吗?";
+	parent.layer.confirm(content, {
+		icon: 4, btn: ['确定','关闭'] //按钮
+	}, function(){
+		var url="[[${sysUrl}]]/sys/admin/curator/serviceEditSave";
+		var libId= $("#libId").val();
+		var vipId= $("#vipId").val();
+		var endTime= $("#endTime").val();
+		var params ={
+			'libId' : id,
+			'vipId' : vipId,
+			'endTime' : endTime
+		};
+		$.post(url,params,function(data){
+			if(data.data.status=='success'){
+				parent.layer.msg("修改成功",{icon:1});
+				closeWin();
+			}else{
+				parent.layer.msg(data.data.msg,{icon:11});
+				closeWin();
+			}
+		});
+	});
+}
+function closeWin(){
+	parent.location.reload();
+	parent.layer.close(parent.layer.getFrameIndex(window.name));
+}
+
+</script>
+</html>

+ 14 - 0
src/main/resources/templates/sys/fx/curator/studentIndex.html

@@ -87,6 +87,7 @@
 						</thead>
 					</table>
 				</th>
+				<th>操作</th>
 		    </tr>
 		</thead>
 		<tbody>
@@ -113,6 +114,7 @@
 							</tbody>
 						</table>
 					</td>
+				<td th:if="${showEdit == 2}"><a th:href="${'javascript:studentService('''+item.id+''','''+item.lib_id+''')'}">编辑服务时间</a></td>
 			</tr>
 		</tbody>
 	</table>
@@ -132,5 +134,17 @@
 		},3000);
 	});
 
+	function studentService(vipId,libId) {
+		var   title ='修改服务';
+		layer.open({
+			type: 2,
+			title: title,
+			closeBtn: 1, //不显示关闭按钮
+			shift: 0.8,
+			//offset: '100px',
+			area: ['80%', '80%'],
+			content:'[[${sysUrl}]]/sys/admin/curator/serviceEdit.html?libId='+libId+"&vipId="+vipId
+		});
+	}
 </script>
 </html>

+ 1 - 0
src/main/resources/templates/sys/train/user_edit.html

@@ -3,6 +3,7 @@
 <title>私塾家</title>
 <script th:include="sys/common/metaCSS" th:remove="tag"></script> 
 <script th:include="sys/common/metaJS" th:remove="tag"></script> 
+<script th:include="sys/common/selectSearchJS" th:remove="tag"></script>
 <script src="sys/js/My97DatePicker/WdatePicker.js" th:src="@{/static/sys/js/My97DatePicker/WdatePicker.js}"></script>
 <link rel="stylesheet" href="https://www.17sucai.com/preview/1528155/2019-03-29/v/css/jsmodern.min.css">
 <script src="https://www.17sucai.com/preview/1528155/2019-03-29/v/js/jsmodern.min.js"></script>