shenhao 4 лет назад
Родитель
Сommit
b70d11c43a

+ 3 - 0
src/main/java/com/ssj/dao/weixin/problem/dao/CnAreaDao.java

@@ -82,4 +82,7 @@ public interface CnAreaDao extends JpaRepository<CnArea, String>{
 			"select s.vip_id from scon_homework_picture s where s.create_time >= ?1 and s.create_time <= ?2 and s.corrected_picture_url is not null and s.corrected_picture_url != '' GROUP BY s.vip_id) " +
 			"GROUP BY t.school")
 	public List<String> findBySchoolName(String startTime,String endTime);
+
+	@Query(nativeQuery =true,value = "select  * from sys_cn_area where name=?1 and type=?2 and up_id=?3 limit 1")
+    CnArea findAreaByNameAndType(String name, int type, String upId);
 }

+ 8 - 0
src/main/java/com/ssj/service/weixin/problem/service/CnAreaService.java

@@ -88,4 +88,12 @@ public interface CnAreaService extends BaseService<CnArea, String>{
     List<Map<String, Object>> findCnAreaAll(Map<String, Object> params);
 
     Page<MerchantOut> findMerchantByPage(Map<String, Object> params, Pageable initPage);
+
+	/**
+	 * 通过名字跟类型找省市区
+	 * @param proName
+	 * @param type
+	 * @return
+	 */
+	CnArea findAreaByNameAndType(String proName, int type,String upId);
 }

+ 5 - 0
src/main/java/com/ssj/service/weixin/problem/service/impl/CnAreaServiceImpl.java

@@ -99,6 +99,11 @@ public class CnAreaServiceImpl extends BaseServiceImpl<CnArea, String> implement
 	}
 
 	@Override
+	public CnArea findAreaByNameAndType(String name, int type,String upId) {
+		return cnAreaDao.findAreaByNameAndType(name,type,upId);
+	}
+
+	@Override
 	public List<CnArea> findByTypeList(String type, String upId, String name, Integer pageNo, Integer pageSize) {
 		if(StringUtils.isNotEmpty(name)) {
 			return cnAreaDao.findByTypeList(type,upId,name,(pageNo-1)*pageSize,pageSize);

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

@@ -556,9 +556,7 @@ public String cnArea(Model model,
 public String addcnArea(Model model,@RequestParam(required = false, defaultValue = "1")String id){
 	CnArea  cnArea = cnAreaService.getById(id);
 	 if(cnArea ==null ) {cnArea =new CnArea();}
-	 List<CnArea> areaList = cnAreaService.findByTypeList("3");
 	 model.addAttribute("cnArea",cnArea);
-	 model.addAttribute("areaList",areaList);
 	 return "sys/problem/addcnArea";
 
 }
@@ -1184,4 +1182,63 @@ public String updateviplist(Model model,
 		model.addAttribute("version",SystemResourceLocator.getVersionList());
 		return "sys/school/bookList";
 	}
+
+	/**
+	 * ----admin 添加省市区
+	 */
+	/**
+	 *
+	 * @param model
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping("/addArea")
+	public String addArea(Model model,@RequestParam(required = false, defaultValue = "1")String id){
+		CnArea  cnArea = cnAreaService.getById(id);
+		if(cnArea ==null ) {cnArea =new CnArea();}
+		model.addAttribute("cnArea",cnArea);
+		return "sys/problem/addArea";
+
+	}
+
+	@RequestMapping(value = "/saveArea", method = RequestMethod.POST)
+	@ResponseBody
+	public ResponseEntity saveArea(String proName,String city,String area) {
+		ResponseEntity response = new ResponseEntity();
+		CnArea cnArea = cnAreaService.findAreaByNameAndType(proName,1,"0");
+		if(Objects.isNull(cnArea)){
+			cnArea = new CnArea();
+			cnArea.setName(proName);
+			cnArea.setType(1);
+			cnArea.setUpId("0");
+			cnArea.setIsHotcity(0);
+			cnArea = cnAreaService.save(cnArea);
+		}
+
+		CnArea cityArea = cnAreaService.findAreaByNameAndType(city,2,cnArea.getId());
+
+		if(Objects.isNull(cityArea)){
+			cityArea = new CnArea();
+			cityArea.setName(city);
+			cityArea.setType(2);
+			cityArea.setUpId(cnArea.getId());
+			cityArea.setIsHotcity(0);
+			cityArea = cnAreaService.save(cityArea);
+		}
+
+		String[] areas = area.split(",");
+		for(String str:areas){
+			CnArea lastArea = cnAreaService.findAreaByNameAndType(str,3,cityArea.getId());
+			if(Objects.isNull(lastArea)){
+				lastArea = new CnArea();
+				lastArea.setName(str);
+				lastArea.setType(3);
+				lastArea.setUpId(cityArea.getId());
+				lastArea.setIsHotcity(0);
+				cnAreaService.save(lastArea);
+			}
+		}
+		response.success("添加成功");
+		return response;
+	}
 }

+ 118 - 0
src/main/resources/templates/sys/problem/addArea.html

@@ -0,0 +1,118 @@
+<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>
+ <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="place">
+    <span>位置:</span>
+    <ul class="placeul">
+    	<li><a href="#">添加省市区</a></li>
+    </ul>
+</div>
+<div class="formbody">
+	<div class="formtitle"><span>添加省市区</span></div>
+	<form id="roleFrom"   method="post" class="form-horizontal form-validate">
+		<ul class="forminfo">
+			<li class="clearfix">
+				<label class="fl">省<b>*</b></label>
+				  <input  type="text" id="proName"   class="dfinput fl"  name="proName">
+			</li>
+		   <li class="clearfix">
+				<label class="fl">市<b>*</b></label>
+				  <input  type="text" id="city"  class="dfinput fl"  name="city">
+			</li>
+			<li class="clearfix">
+				<label class="fl">区<b>*</b></label>
+				  <input  type="text" id="area"  class="dfinput fl"  name="area">
+			</li>
+			<li>
+				<label>&nbsp;</label>
+				<button type="submit" class="btn">保存</button>
+				<button type="button" class="btn" onclick="window.history.go(-1);">取消</button>
+			</li>
+		</ul>
+	</form>
+</div>
+</body>
+<script type="text/javascript">
+$(function(){
+	$("#roleFrom").validate({
+		rules : {
+			name : {
+				required : true
+			 },
+			schoolAddress : {
+		        required : true
+	         }},
+		messages: {
+			name : {
+				required : "请输入学校名称"
+			 },
+			schoolAddress : {
+				required : "请输入学校具体地址"
+				 }
+		   },
+		errorPlacement : function(error, element) {
+				error.appendTo(element.parent()); 
+		},
+		submitHandler : function(form) {
+			roleFrom();
+		}
+	});
+	
+});
+function roleFrom(){
+	var url="[[${sysUrl}]]/sys/problem/saveArea";
+	var params = $("#roleFrom").serialize();
+	$.post(url,params,function(data){
+		if(data != null){
+			if(data.code=="999"){
+					layer.msg("操作成功!",{icon:1});
+			    	setTimeout(function(){
+			    		window.location.href ='[[${sysUrl}]]/sys/problem/cnArealist.html';
+					},1000);
+				}else{
+					layer.msg(data.meta.message,{icon:11});
+				}
+		}
+		
+	});
+}
+</script>
+</html>

+ 9 - 4
src/main/resources/templates/sys/problem/cnArealist.html

@@ -51,10 +51,15 @@
 		<li>
 			<input type="button" class="scbtn" value="查询" />
 		</li>
-	<li>
-				<ul class="toolbar">
-		<a th:href="@{/sys/problem/addcnArea.html}"><li class="click"><span><img th:src="@{/static/sys/images/t01.png}" /></span>添加</li></a>
-				</ul>
+		<li>
+			<ul class="toolbar">
+				<a th:href="@{/sys/problem/addcnArea.html}"><li class="click"><span><img th:src="@{/static/sys/images/t01.png}" /></span>添加</li></a>
+			</ul>
+		</li>
+		<li th:if="${ #httpSession.getAttribute('admin') !=null  && #httpSession.getAttribute('admin').loginName eq 'admin'  } ">
+			<ul class="toolbar">
+				<a th:href="@{/sys/problem/addArea.html}"><li class="click"><span><img th:src="@{/static/sys/images/t01.png}" /></span>添加省市区</li></a>
+			</ul>
 		</li>
 		<li>
 			<ul class="toolbar"  th:onclick="'cnArea()'">