黑名单地址管理

编程入门 行业动态 更新时间:2024-10-27 14:19:01

<a href=https://www.elefans.com/category/jswz/34/1737925.html style=黑名单地址管理"/>

黑名单地址管理

黑名单地址管理:

首先搞清楚功能需求:

一配置、

​ 1、支持选择查询的字段有:状态、创建时间、操作时间(采用现有时间查询组件)。

​ 2、支持模糊查询的字段有:黑名单地址。

​ 3、支持精准查询的字段有:操作人。

​ 4、列表数据按操作时间倒序排序。

二、新增

(1)点击“新增”按钮,弹窗提示配置黑名单地址,需配置以下信息:

① 省份:为选择配置项,枚举值为中国境内的所有省份、省级直辖市、自治州,默认为请选择(空值),为非必选项。

② 地市:为选择配置项,枚举值为选择省份后的对应地市,默认为请选择(空值),为非必选项,区县、乡镇项同理。

③ 详细地址:为手动输入项,不可超过100个字符,为非必填项。

④ 提交保存时,需校验是否全部项都进行配置,全部内容未进行配置不可提交保存。

⑤ 点击“取消”按钮,不保存编辑内容,关闭弹窗回到列表页。

⑥ 点击“保存”按钮,保存编辑内容,关闭弹窗回到列表页,且列表页含有该条数据。

  1. 新增或编辑提交保存时,需判断列表是否有地址相同的数据,存在地址相同的数据需弹窗提示“列表已有相同黑名单地址,请重新编辑!”(此处无UI),关闭弹窗回到原有编辑弹窗。

  2. 新增或编辑提交保存时,需判断新增数据区域划分上在原有数据中是否已涵盖。若涵盖,需弹窗提示“xxx已被列入黑名单,请勿重复配置”。

a. 举例:当已配置重庆市为黑名单地址时,再配置重庆市荣昌县为黑名单时,需弹窗提示“重庆市已被列入黑名单,请勿重复配置!”。关闭弹窗回到列表页。

⑦ 新增数据默认为失效状态。

(2)列表字段说明

① 列表从左到右字段排序依次为“序号、黑名单地址、创建时间、操作人、操作时间、操作”。

② 序号:对数据进行排序。

③ 黑名单地址:根据配置地址内容进行对应展示,选择项+详细地址。

④ 创建时间/操作时间:保存配置后生成创建时间,每次编辑提交保存记录为操作时间,初始操作时间与创建时间相同。

⑤ 操作人:记录每次数据创建人或编辑人工号。

⑥ 操作

  1. 查看:查看弹窗内容与编辑弹窗相同,弹窗中的内容不可进行修改,且只有“返回”按钮。

  2. 编辑:编辑弹窗与“新增弹窗”内容相同,仅失效数据可进行编辑。

  3. 生效:生效状态地址仅支持“查看、失效”操作,且前端收货地址处需校验该条数据。

  4. 失效:失效状态地址支持“编辑、查看、生效”操作,且前端收货地址处不校验该条数据。

三、删除

(1)点击“删除”按钮,可删除列表中已配置的黑名单地址。

① 勾选数据前的方框,点击删除按钮即可删除数据,支持批量删除功能。

② 删除数据时,需弹出二次确认弹窗,提醒是否确认删除数据,此处无UI。

③ 仅能删除失效数据,删除生效数据时需弹窗提示“当前数据处于生效状态,无法进行删除!”。

四、导出

(1)点击“导出”按钮,可导出列表数据。

① 查询后导出,可导出目标数据。

② 未查询导出,可导出列表全部数据。

③ 支持选择性批量导出功能:勾选列表数据,即可批量导出勾选的目标数据。

五、前端数据校验

(1)前端地区选择项仅判断最小地址单位。

① 举例

  1. 举例:后台只配置省份时,表示全省区域被纳入业务黑名单,前端业务下单时需校验收货地址是否属于该省,属于该地区则不能下单成功。

  2. 举例:后台配置地市时,需先选择省份,表示全市区域被纳入业务黑名单,前端业务下单时需校验收货地址是否属于该市,属于该地区则不能下单成功,区县、乡镇配置同理。

(2)只配置详细地址时,前端业务下单时需校验收货详细地址中的内容,校验其中的关键词,比如:

① 后台配置详细地址为“贵州省贵阳市观山湖区金麦社区金龙国际花园11栋3单元”,则前端校验关键词有“贵州省贵阳市观山湖区、金麦社区、11栋、3单元”。

② 后台配置详细地址为“贵州省贵阳市观山湖区金阳北路xx号”,则校验关键词有“贵州省贵阳市观山湖区、金阳北路、xx号”。

③ 选择项和详细地址都配置时,前端下单时需校验用户收货地址所选地区及详细地址关键词。

④ 必须全部关键词满足条件,前端才能判定输入地址为黑名单。

⑤ 地址为黑名单时,无法下单成功,需弹窗提示“当前地址暂无法进行配送,请更换地址后重试!”,此处无UI。

代码实现:

首先是数据表的设计:

-- Create table
create table TF_F_EC_BLACKLIST
(blacklist_id      VARCHAR2(10) not null,blacklist_address VARCHAR2(100),operator_name     VARCHAR2(20),blacklist_status  VARCHAR2(2),create_date        DATE,update_date       DATE,del_flag          VARCHAR2(2),stand_3           VARCHAR2(100),stand_2           VARCHAR2(100),stand_1           VARCHAR2(100),province          VARCHAR2(20),themayor          VARCHAR2(20),district          VARCHAR2(20),toens             VARCHAR2(20),detailed          VARCHAR2(50)
)
tablespace DR_DATApctfree 10initrans 1maxtrans 255storage(initial 64next 8minextents 1maxextents unlimited);
-- Add comments to the columns 
comment on column TF_F_EC_BLACKLIST.blacklist_idis 'id';
comment on column TF_F_EC_BLACKLIST.blacklist_addressis '号卡黑名单地址';
comment on column TF_F_EC_BLACKLIST.operator_nameis '创建修改人';
comment on column TF_F_EC_BLACKLIST.blacklist_statusis '状态‘0’生效‘1’失效';
comment on column TF_F_EC_BLACKLIST.crate_dateis '创建时间';
comment on column TF_F_EC_BLACKLIST.update_dateis '修改时间';
comment on column TF_F_EC_BLACKLIST.del_flagis '删除‘0’正常‘1’删除';
comment on column TF_F_EC_BLACKLIST.provinceis '省级';
comment on column TF_F_EC_BLACKLIST.themayoris '地市';
comment on column TF_F_EC_BLACKLIST.districtis '区县';
comment on column TF_F_EC_BLACKLIST.toensis '乡镇';
comment on column TF_F_EC_BLACKLIST.detailedis '详细详细地址';

然后创建实体类(pojo):

package com.ai.iis.domain.pojo.doc;import com.ai.iis.domain.pojo.base.DataEntity;import java.util.Date;
import java.util.LinkedHashMap;/*** @author lsf*/
public class BlackList extends DataEntity<BlackList> {/*** id*/private String blacklistId="";/*** 黑名单地址*/private String blacklistAddress="";/*** 操作人*/private String operatorName="";/*** 状态*/private String blacklistStatus="";/*** 创建时间*/private Date createDate;/*** 操作时间*/private Date updateDate;/*** 删除*/private String delFlag="";/*** 创建时间--开始*/private Date createStartDate;/*** 创建时间--结束*/private Date createEndDate;/*** 操作时间--开始*/private Date updateStartDate;/*** 操作时间--结束*/private Date updateEndDate;/*** 省地址*/private String province="";/*** 市级地址*/private String theMayor="";/*** 区县级*/private String district="";/*** 乡镇*/private String towns="";/*** 详细地址*/private String detailed="";private String stand1;private String stand2;private String stand3;public String getBlacklistId() {return blacklistId;}public void setBlacklistId(String blacklistId) {this.blacklistId = blacklistId;}public String getBlacklistAddress() {return blacklistAddress;}public void setBlacklistAddress(String blacklistAddress) {this.blacklistAddress = blacklistAddress;}public String getOperatorName() {return operatorName;}public void setOperatorName(String operatorName) {this.operatorName = operatorName;}public String getBlacklistStatus() {return blacklistStatus;}public void setBlacklistStatus(String blacklistStatus) {this.blacklistStatus = blacklistStatus;}@Overridepublic Date getCreateDate() {return createDate;}@Overridepublic void setCreateDate(Date createDate) {this.createDate = createDate;}@Overridepublic Date getUpdateDate() {return updateDate;}@Overridepublic void setUpdateDate(Date updateDate) {this.updateDate = updateDate;}@Overridepublic String getDelFlag() {return delFlag;}@Overridepublic void setDelFlag(String delFlag) {this.delFlag = delFlag;}public Date getCreateStartDate() {return createStartDate;}public void setCreateStartDate(Date createStartDate) {this.createStartDate = createStartDate;}public Date getCreateEndDate() {return createEndDate;}public void setCreateEndDate(Date createEndDate) {this.createEndDate = createEndDate;}public Date getUpdateStartDate() {return updateStartDate;}public void setUpdateStartDate(Date updateStartDate) {this.updateStartDate = updateStartDate;}public Date getUpdateEndDate() {return updateEndDate;}public void setUpdateEndDate(Date updateEndDate) {this.updateEndDate = updateEndDate;}public String getProvince() {return province;}public void setProvince(String province) {this.province = province;}public String getTheMayor() {return theMayor;}public void setTheMayor(String theMayor) {this.theMayor = theMayor;}public String getDistrict() {return district;}public void setDistrict(String district) {this.district = district;}public String getTowns() {return towns;}public void setTowns(String towns) {this.towns = towns;}public String getDetailed() {return detailed;}public void setDetailed(String detailed) {this.detailed = detailed;}public String getStand1() {return stand1;}public void setStand1(String stand1) {this.stand1 = stand1;}public String getStand2() {return stand2;}public void setStand2(String stand2) {this.stand2 = stand2;}public String getStand3() {return stand3;}public void setStand3(String stand3) {this.stand3 = stand3;}@Overridepublic String toString() {return "BlackList{" +"blacklistId='" + blacklistId + '\'' +", blacklistAddress='" + blacklistAddress + '\'' +", operatorName='" + operatorName + '\'' +", blacklistStatus='" + blacklistStatus + '\'' +", createDate=" + createDate +", updateDate=" + updateDate +", delFlag='" + delFlag + '\'' +", createStartDate=" + createStartDate +", createEndDate=" + createEndDate +", updateStartDate=" + updateStartDate +", updateEndDate=" + updateEndDate +", province='" + province + '\'' +", theMayor='" + theMayor + '\'' +", district='" + district + '\'' +", towns='" + towns + '\'' +", detailed='" + detailed + '\'' +", stand1='" + stand1 + '\'' +", stand2='" + stand2 + '\'' +", stand3='" + stand3 + '\'' +'}';}public LinkedHashMap<String, String> getExpireExportMap() {LinkedHashMap<String, String> exportColMap = new LinkedHashMap<String, String>();exportColMap.put("blacklistAddress", "黑名单地址");exportColMap.put("operatorName", "操作人");exportColMap.put("blacklistStatus", "状态");exportColMap.put("createDate", "创建时间");exportColMap.put("updateDate", "操作时间");return exportColMap;}
}

控制器Controller:

package com.ai.iis.shopconsole.modules.order.web;import com.ai.ecs.common.export.ExportExcel;
import com.ai.ecs.common.utils.DateUtils;
import com.ai.ecs.common.utils.StringUtils;
import com.ai.iis.domain.pojo.Page;
import com.ai.iis.domain.pojo.doc.BlackList;
import com.ai.iis.domain.pojo.sys.UserAccount;
import com.ai.iis.shopconsole.modules.sys.utils.UserUtils;
import com.ai.iis.suit.api.BlackListService;
import com.thinkgem.jeesite.common.web.BaseController;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;/*** @author lsf*/
@Controller
@RequestMapping(value = "${adminPath}/blackList/")
public class BlackListController extends BaseController {@Autowiredprivate BlackListService blackListService;private static final Logger logger = Logger.getLogger(BlackListController.class);@RequestMapping(value = "initPage")public ModelAndView initPage() {return new ModelAndView("modules/order/bill/blackList");}@ResponseBody@RequestMapping(value = "list")public Map<String, Object> list(BlackList blackList, HttpServletRequest request, HttpServletResponse response) {Map<String, Object> json = new HashMap<String, Object>();try {Page<BlackList> page = blackListService.findBlackPageList(new Page<BlackList>(request, response), blackList);if (page.getList().size() > 0) {json.put("page", page);json.put("status", "0");} else {json.put("status", "1");}return json;} catch (Exception e) {json.put("status", "1");return json;}}/*** 修改状态*/@ResponseBody@RequestMapping(value = "editStatus")public Map<String, Object> editStatus(BlackList blackList, HttpServletRequest request, HttpServletResponse response) {Map<String, Object> json = new HashMap<String, Object>();try {if ("0".equals(blackList.getBlacklistStatus())) {blackList.setBlacklistStatus("1");} else {blackList.setBlacklistStatus("0");}int num = blackListService.updateStatus(blackList);if (num > 0) {json.put("status", "0");json.put("message", "修改状态成功");} else {json.put("status", "1");json.put("message", "修改状态成功");}return json;} catch (Exception e) {json.put("status", "1");json.put("message", e);return json;}}/*** 删除数据*/@ResponseBody@RequestMapping(value = "delBlackList")public Map<String, Object> delBlackList(String IdList) {Map<String, Object> map = new HashMap<>();String[] split = IdList.split(",");int num = 0;BlackList blackList = new BlackList();try {for (String blacklistId : split) {//根据id查询数据,判断是生效数据还是失效数据BlackList blackList1 = blackListService.findBlackListById(blacklistId);if ("0".equals(blackList1.getBlacklistStatus())) {map.put("message", "当前数据处于生效状态,无法进行删除!");map.put("status", "1");return map;}}for (String blacklistId : split) {int i = blackListService.updateDelFlag(blacklistId);num++;}if (num > 0) {map.put("message", "删除数据成功");map.put("status", "0");return map;} else {map.put("message", "删除失败");map.put("status", "1");return map;}} catch (Exception e) {map.put("message", e);map.put("status", "1");return map;}}/*** 进入编辑页面*/@ResponseBody@RequestMapping(value = "editBlack")public ModelAndView editBlack(String blacklistId) {BlackList black = blackListService.findBlackListById(blacklistId);ModelAndView mav = new ModelAndView("modules/order/bill/editBlack");mav.addObject("black", black);return mav;}/*** 进入查看页面*/@ResponseBody@RequestMapping(value = "findBlackList")public ModelAndView findBlackList(String blacklistId) {BlackList black = blackListService.findBlackListById(blacklistId);ModelAndView mav = new ModelAndView("modules/order/bill/findBlackList");mav.addObject("black", black);return mav;}/*** 编辑数据*/@ResponseBody@RequestMapping(value = "editBlackList")public Map<String, Object> editBlackList(HttpServletRequest request, HttpServletResponse response) {Map<String, Object> map = new HashMap<>();BlackList blackList1 = new BlackList();try {//获取登录工号UserAccount userAccount = UserUtils.getUserAccount(UserUtils.getUser());//获取省级List<String> list = new ArrayList<>();String province1 = request.getParameter("area").trim();String province = blackListService.findORGIdSelect(request.getParameter("area").trim());//获取地市String theMayor1 = request.getParameter("theMayor").trim();String theMayor = blackListService.findORGIdSelect(request.getParameter("theMayor").trim());//获取区县String district1 = request.getParameter("city").trim();String district = blackListService.findORGIdSelect(request.getParameter("city").trim());//获取乡镇String towns1 = request.getParameter("shopinfo").trim();String towns = blackListService.findORGIdSelect(request.getParameter("shopinfo"));//获取详细地址String detailed = request.getParameter("detailed");if (detailed.length() > 100) {map.put("message", "详细地址不能超过100个字符");map.put("status", "1");return map;}blackList1.setBlacklistId(request.getParameter("blacklistId").trim());//添加到黑名单实体类if (province == null) {if (!province1.isEmpty()) {province = province1;} else {province = "";}}blackList1.setProvince(province);if (district == null) {if (!district1.isEmpty()) {district = district1;} else {district = "";}}blackList1.setDistrict(district);if (theMayor == null) {if (!theMayor1.isEmpty()) {theMayor = theMayor1;} else {theMayor = "";}}blackList1.setTheMayor(theMayor);if (towns == null) {if (!towns1.isEmpty()) {towns = towns1;} else {towns = "";}}blackList1.setTowns(towns);if (detailed == null) {if (!request.getParameter("detailed").trim().isEmpty()) {detailed = request.getParameter("detailed").trim();} else {detailed = "";}}blackList1.setDetailed(detailed);blackList1.setOperatorName(userAccount.getUserId());blackList1.setBlacklistAddress(province + theMayor + district + towns + detailed);/*** 编辑之前:* 1.根据省级名称来查询是否存在* 2.根据省级和地市一起查询是否存在* 3.根据省,市和区县查询是否存在* 4.根据全地址来进行查询是否存在* */if (blackListService.findBlackList(province).size() > 0) {map.put("message", province + "已被列入黑名单,请勿重复配置!");map.put("status", "1");return map;}if (blackListService.findBlackList(province + theMayor).size() > 0) {map.put("message", province + theMayor + "已被列入黑名单,请勿重复配置!");map.put("status", "1");return map;}if (blackListService.findBlackList(province + theMayor + district).size() > 0) {map.put("message", province + theMayor + district + "已被列入黑名单,请勿重复配置!");map.put("status", "1");return map;}if (blackListService.findBlackList(province + theMayor + district + towns).size() > 0) {map.put("message", province + theMayor + district + towns + "已被列入黑名单,请勿重复配置!");map.put("status", "1");return map;}if (blackListService.findBlackList(blackList1.getBlacklistAddress()).size() > 0) {map.put("message", "列表已有相同黑名单地址,请重新编辑!");map.put("status", "1");return map;}//数据库中不存在,即可以编辑int num = blackListService.updateBlackList(blackList1);if (num > 0) {map.put("message", "编辑成功");map.put("status", "0");return map;}} catch (Exception e) {map.put("message", "编辑异常");map.put("status", e);return map;}return map;}/*** 保存数据*/@ResponseBody@RequestMapping(value = "saveBlackList")public Map<String, Object> saveBlackList(HttpServletRequest request, HttpServletResponse response) {Map<String, Object> map = new HashMap<>();BlackList blackList = new BlackList();try {//获取登录工号UserAccount userAccount = UserUtils.getUserAccount(UserUtils.getUser());if (request.getParameter("area").trim().isEmpty() && request.getParameter("detailed").isEmpty()) {map.put("message", "请选择或填写地址");map.put("status", "1");return map;}//获取省级List<String> list = new ArrayList<>();/*String province = request.getParameter("area").trim();*/String province = blackListService.findORGIdSelect(request.getParameter("area").trim());//获取地市//String theMayor = request.getParameter("theMayor").trim();String theMayor = blackListService.findORGIdSelect(request.getParameter("theMayor").trim());//获取区县//String district = request.getParameter("city").trim();String district = blackListService.findORGIdSelect(request.getParameter("city").trim());//获取乡镇//String towns = request.getParameter("shopinfo").trim();String towns = blackListService.findORGIdSelect(request.getParameter("shopinfo"));//获取详细地址String detailed = request.getParameter("detailed");//添加到黑名单实体类if (province == null) {province = "";}blackList.setProvince(province);if (district == null) {district = "";}blackList.setDistrict(district);if (theMayor == null) {theMayor = "";}blackList.setTheMayor(theMayor);if (towns == null) {towns = "";}blackList.setTowns(towns);if (detailed == null) {detailed = "";}if (detailed.length() > 100) {map.put("message", "详细地址不能超过100个字符");map.put("status", "1");return map;}blackList.setDetailed(detailed);blackList.setOperatorName(userAccount.getUserId());blackList.setBlacklistAddress(province + theMayor + district + towns + detailed);//插入之前判断数据库里面是否存在该条数据/** 1.根据省级名称来查询是否存在* 2.根据省级和地市一起查询是否存在* 3.根据省,市和区县查询是否存在* 4.根据全地址来进行查询是否存在** */List<BlackList> list1 = blackListService.findBlackList(province);if (list1.size() > 0) {map.put("message", province + "已被列入黑名单,请勿重复配置!");map.put("status", "1");return map;}if (blackListService.findBlackList(province + theMayor).size() > 0) {map.put("message", province + theMayor + "已被列入黑名单,请勿重复配置!");map.put("status", "1");return map;}if (blackListService.findBlackList(province + theMayor + district).size() > 0) {map.put("message", province + theMayor + district + "已被列入黑名单,请勿重复配置!");map.put("status", "1");return map;}if (blackListService.findBlackList(province + theMayor + district + towns).size() > 0) {map.put("message", province + theMayor + district + towns + "已被列入黑名单,请勿重复配置!");map.put("status", "1");return map;}if (blackListService.findBlackList(blackList.getBlacklistAddress()).size() > 0) {map.put("message", "列表已有相同黑名单地址,请重新编辑!");map.put("status", "1");return map;}int num = blackListService.insetBlackList(blackList);if (num > 0) {map.put("message", "新增成功");map.put("status", "0");} else {map.put("message", "新增失败");map.put("status", "1");}} catch (Exception e) {map.put("message", "新增失败");map.put("status", "1");}return map;}/*** 进入新增页面*/@ResponseBody@RequestMapping(value = "saveBlack")public ModelAndView saveBlack() {return new ModelAndView("modules/order/bill/saveBlack");}/*** 查询下级地址** @param request* @param response* @return* @throws Exception*/@ResponseBody@RequestMapping(value = "chooseArea")public List<Map<String, String>> chooseArea(HttpServletRequest request,HttpServletResponse response) throws Exception {String areaCode = request.getParameter("areaCode").trim();//联动查询try {if ("0".equals(areaCode)) {List<Map<String, String>> provinceList = blackListService.findORGSelection("1", areaCode);return provinceList;}List<Map<String, String>> provinceList = blackListService.findORGSelection("", areaCode);return provinceList;} catch (Exception e) {System.out.println(e);}return null;}/*** 导出数据*/@RequestMapping(value = "/export", method = RequestMethod.POST)public void export(BlackList blackList, HttpServletRequest request, HttpServletResponse response, String IdList) {try {List<BlackList> blackInfo = new ArrayList<>();if (StringUtils.isNotEmpty(IdList)) {String[] split = IdList.split(",");for (String blacklistId : split) {BlackList black = blackListService.findBlackListById(blacklistId);blackInfo.add(black);}} else {blackInfo = blackListService.findBlack(blackList);/* blackInfo = page.getList();*/}String fileName = "外省订单黑名单地址报表" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";new ExportExcel<BlackList>("外省订单黑名单地址报表", blackList.getExpireExportMap()).setDataList(blackInfo).write(response, fileName).dispose();} catch (Exception e) {logger.error("数据导出异常:" + e.getMessage(), e);}}}

控制器之后是api(service)接口:

package com.ai.iis.suit.api;import com.ai.iis.domain.pojo.Page;
import com.ai.iis.domain.pojo.doc.BlackList;import java.util.List;
import java.util.Map;public interface BlackListService {Page<BlackList> findBlackPageList(Page<BlackList> blackListPage, BlackList blackList);int updateStatus(BlackList blackList);/*** 查询行政区域* @param* @return*/List<Map<String, String>> findORGSelection(String orgLevel, String parentId);int updateDelFlag (String blackListId);int insetBlackList(BlackList blackList);String findORGIdSelect(String orgId);List<BlackList> findBlackList(String blacklistAddress);int updateBlackList(BlackList blackList);BlackList findBlackListById(String blacklistId);List<BlackList> findBlack(BlackList blackList);
}

service实现类:

package com.ai.iis.suit.service;import com.ai.iis.domain.pojo.Page;
import com.ai.iis.domain.pojo.doc.BlackList;import com.ai.iis.suit.api.BlackListService;
import com.ai.iis.suit.dao.BlackListDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;
import java.util.Map;@Service
public class BlackListServiceImpl implements BlackListService {@AutowiredBlackListDao blackListDao;@Overridepublic Page<BlackList> findBlackPageList(Page<BlackList> blackListPage, BlackList blackList) {blackList.setPage(blackListPage);List<BlackList> list = blackListDao.findInterPageList(blackList);blackListPage.setList(list);return blackListPage;}@Overridepublic int updateStatus(BlackList blackList) {return blackListDao.updateStatus(blackList);}@Overridepublic List<Map<String, String>> findORGSelection(String orgLevel, String parentId) {return blackListDao.findORGSelection(orgLevel,parentId);}@Overridepublic int updateDelFlag(String blackListId) {return blackListDao.updateDelFlag(blackListId);}@Overridepublic int insetBlackList(BlackList blackList) {return blackListDao.insetBlackList(blackList);}@Overridepublic String findORGIdSelect(String orgId) {return blackListDao.findORGIdSelect(orgId);}@Overridepublic List<BlackList> findBlackList(String blacklistAddress) {return  blackListDao.findBlackList(blacklistAddress);}@Overridepublic int updateBlackList(BlackList blackList) {return blackListDao.updateBlackList(blackList);}@Overridepublic BlackList findBlackListById(String blacklistId) {return blackListDao.findBlackListById(blacklistId);}@Overridepublic List<BlackList> findBlack(BlackList blackList) {return blackListDao.findInterPageList(blackList);}
}

dao接口:

package com.ai.iis.suit.dao;import com.ai.iis.common.dao.ICrudDao;
import com.ai.iis.dao.annotation.MyBatisDao;
import com.ai.iis.domain.pojo.doc.BlackList;
import org.apache.ibatis.annotations.Param;import java.util.List;
import java.util.Map;@MyBatisDao
public interface BlackListDao extends ICrudDao<BlackListDao> {/*** 根据条件分页查询* */List<BlackList> findInterPageList(BlackList blackList);/*** 修改状态* */int updateStatus(BlackList blackList);/*** 删除数据* */int updateDelFlag(String blackListId);/*** 查询下级地址* */List<Map<String, String>> findORGSelection(@Param(value = "orgLevel") String orgLevel, @Param(value = "parentId") String parentId);/*** 插入数据* */int insetBlackList(BlackList blackList);/*** 根据地址id查询地址* */String findORGIdSelect(String orgId);/*** 根据全地址查询数据* */List<BlackList> findBlackList(String blacklistAddress);/*** 更新数据* */int updateBlackList(BlackList blackList);/*** 根据id查询数据*/BlackList findBlackListById(String blacklistId);}

dao.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ".dtd">
<mapper namespace="com.ai.iis.suit.dao.BlackListDao"><select id="findInterPageList" parameterType="com.ai.iis.domain.pojo.doc.BlackList"resultType="com.ai.iis.domain.pojo.doc.BlackList">SELECT * FROM otoshop.TF_F_EC_BLACKLIST WHERE DEL_FLAG = '0'<if test="blacklistAddress != null and blacklistAddress != ''">AND BLACKLIST_ADDRESS LIKE '%' || #{blacklistAddress} || '%'</if><if test="operatorName !=null and operatorName != ''">AND OPERATOR_NAME = #{operatorName}</if><if test="blacklistStatus != null and blacklistStatus != ''">AND BLACKLIST_STATUS = #{blacklistStatus}</if><if test="createStartDate != null and createStartDate != ''">AND to_char(CREATE_DATE,'yyyyMMddhh24mmss') > to_char(#{createStartDate},'yyyyMMddhh24mmss')</if><if test="createEndDate != null and createEndDate != ''">AND to_char(#{createEndDate},'yyyyMMddhh24mmss') > to_char(CREATE_DATE,'yyyyMMddhh24mmss')</if><if test="updateStartDate != null and updateStartDate != ''">AND to_char(UPDATE_DATE,'yyyyMMddhh24mmss') > to_char(#{updateStartDate},'yyyyMMddhh24mmss')</if><if test="updateEndDate != null and updateEndDate != ''">AND to_char(#{updateEndDate},'yyyyMMddhh24mmss') > to_char(UPDATE_DATE,'yyyyMMddhh24mmss')</if>ORDER BY UPDATE_DATE DESC</select><update id="updateStatus" parameterType="com.ai.iis.domain.pojo.doc.BlackList">UPDATE otoshop.TF_F_EC_BLACKLIST SETBLACKLIST_STATUS = #{blacklistStatus},UPDATE_DATE=SYSDATE WHERE BLACKLIST_ID = #{blacklistId}</update><!--删除数据--><update id="updateDelFlag" parameterType="com.ai.iis.domain.pojo.doc.BlackList">UPDATE otoshop.TF_F_EC_BLACKLIST SETDEL_FLAG = '1' WHERE BLACKLIST_ID = #{blacklistId}</update><select id="findORGSelection" resultType="java.util.Map">select org_id as "orgId",org_name as "orgName"from otoshop.td_d_ec_org where 1=1<if test="orgLevel != null and orgLevel != ''">and org_level =#{orgLevel}</if><if test="parentId != null and parentId != ''">and parent_id =#{parentId}</if></select><select id="findORGIdSelect" resultType="java.lang.String" parameterType="java.lang.String">select org_name as "orgName"from otoshop.td_d_ec_org where org_id =#{orgId}</select><select id="findBlackList" parameterType="java.lang.String" resultType="com.ai.iis.domain.pojo.doc.BlackList">select * from otoshop.TF_F_EC_BLACKLIST where BLACKLIST_ADDRESS = #{blacklistAddress} and DEL_FLAG ='0'</select><insert id="insetBlackList" parameterType="com.ai.iis.domain.pojo.doc.BlackList">insert into otoshop.TF_F_EC_BLACKLIST(BLACKLIST_ID,BLACKLIST_ADDRESS,OPERATOR_NAME,BLACKLIST_STATUS,CREATE_DATE,UPDATE_DATE,DEL_FLAG,PROVINCE,THEMAYOR,DISTRICT,TOENS,DETAILED)values (TF_F_EC_BLACKLIST_ID.nextval,#{blacklistAddress},#{operatorName},1,sysdate,sysdate,0,#{province},#{theMayor},#{district},#{towns},#{detailed})</insert><update id="updateBlackList" parameterType="com.ai.iis.domain.pojo.doc.BlackList">update otoshop.TF_F_EC_BLACKLIST SET<if test="blacklistAddress != null and blacklistAddress != ''">BLACKLIST_ADDRESS = #{blacklistAddress},</if><if test="operatorName != null and operatorName != ''">OPERATOR_NAME = #{operatorName},</if><if test="theMayor != null and theMayor != ''">THEMAYOR = #{theMayor},</if><if test="province != null and province != ''">PROVINCE = #{province},</if><if test="district != null and district != ''">DISTRICT = #{district},</if><if test="towns != null and towns != ''">TOENS = #{towns},</if><if test="detailed != null and detailed != ''">DETAILED = #{detailed},</if><if test="delFlag != null and delFlag != ''">DEL_FLAG = #{delFlag},</if>UPDATE_DATE = sysdateWHERE BLACKLIST_ID = #{blacklistId}</update><select id="findBlackListById" resultType="com.ai.iis.domain.pojo.doc.BlackList" parameterType="java.lang.String">select * from otoshop.TF_F_EC_BLACKLIST where BLACKLIST_ID= #{blacklistId} and DEL_FLAG='0'</select></mapper>

首页jsp文件:

<%--Created by IntelliJ IDEA.User: ft170Date: 2021/6/7Time: 17:34To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/mod2016/include/taglib.jsp" %>
<html>
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><%@ include file="/WEB-INF/views/mod2016/include/head.jsp" %><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>号卡黑名单管理</title><link href="<c:url value='/static/jquery-ztree/3.5.12/css/zTreeStyle/zTreeStyle.min.css'/>" rel="stylesheet"type="text/css"><script type="text/javascript"src="<c:url value='/static/jquery-ztree/3.5.12/js/jquery.ztree.all-3.5.min.js'/>"></script><script type="text/javascript"src="<c:url value='/static/common/jeesite.js'/>"></script><script type="text/javascript">$(document).ready(function () {page();});function page(n, s) {if (n) $("#pageNo").val(n);if (s) $("#pageSize").val(s);loading('正在提交,请稍等...');$.ajax({type: 'post',url: ctx + "/blackList/list",data: $("#searchForm").serialize(),dataType: "json",success: function (result) {closeLoading();$("#dataTable tbody").html('');if (result.status == '0') {var tabalHtml = '';var dataList = result.page.list;for (var i = 0; i < dataList.length; i++) {tabalHtml += '<tr><td><input class="CHECK_ORDER_ID"  type="checkbox" style="margin-top: -5px"; value="\'' + dataList[i].blacklistId + '\'">' + (i + 1) + '</td>';tabalHtml += '<td>' + dataList[i].blacklistAddress + '</td>';tabalHtml += '<td>' + dataList[i].operatorName + '</td>';if (dataList[i].blacklistStatus == '0') {tabalHtml += '<td><div>' + '生效' + '</div></td>';} else {tabalHtml += '<td><div>' + '失效' + '</div></td>';}tabalHtml += '<td><fmt:formatDate value="${operationtime}" pattern="yyyy-MM-dd HH:mm:ss" /> ' + dataList[i].createDate + '</td>'tabalHtml += '<td><fmt:formatDate value="${operationtime}" pattern="yyyy-MM-dd HH:mm:ss" /> ' + dataList[i].updateDate + '</td>'tabalHtml += '<td><div >';if (dataList[i].blacklistStatus == '0') {tabalHtml += '<a href="javascript:editStatus(\'' + dataList[i].blacklistId + '\',\'' + dataList[i].blacklistStatus + '\')" class="font-blue  mgr-10">失效</a>';} else {tabalHtml += '<a href="javascript:editInfo(\'' + dataList[i].blacklistId + '\' )" class="font-blue  mgr-10">编辑</a>';tabalHtml += '<a href="javascript:editStatus(\'' + dataList[i].blacklistId + '\',\'' + dataList[i].blacklistStatus + '\')" class="font-blue  mgr-10">生效</a>';}tabalHtml += '<a href="javascript:findBlack(\'' + dataList[i].blacklistId + '\')" class="font-blue  mgr-10">查看</a>';tabalHtml += '</div></td></tr>';}$("#dataTable tbody").html(tabalHtml);}$("#pageCount").html(result.page.count);$(".pagination").html(result.page.html);},error: function (data) {closeLoading();top.$.jBox.error("网络异常,稍后再试!");}});};/** 修改状态*/function editStatus(blacklistId, blacklistStatus) {$.jBox.confirm("您确定设置状态为:[" + (blacklistStatus == '1' ? "生效" : "失效") + "] 状态吗?", "系统提示", function (v, h, f) {if (v == "ok") {postAjaxJson("${ctx}/blackList/editStatus", {"blacklistId": blacklistId,"blacklistStatus": blacklistStatus}, ajaxCallbackUpdata);}}, {buttonsFocus: 1});}function ajaxCallbackUpdata(response) {if (response.status == '0') {$.jBox.prompt(response.message, '提示', 'info',{closed: function () {page();}});} else {top.$.jBox.info(response.message);}}/*** 新增页面* */function addInfo() {openzDiag("新增", ctx + "/blackList/saveBlack", 450, 300, "page()");}/*** 编辑页面* */function editInfo(blacklistId) {openzDiag("编辑", ctx + "/blackList/editBlack?blacklistId=" + blacklistId, 450, 300, "page()");}/*** 查看页面* */function findBlack(blacklistId) {openzDiag("查看", ctx + "/blackList/findBlackList?blacklistId=" + blacklistId, 450, 300, "page()");}/*** 批量选择*/function checkedAll(className) {if ($("#CHECK_ALL_ORDER").is(":checked")) {$("." + className).attr("checked", true);} else {$("." + className).attr("checked", false);}}/**删除数据* */function deleteinfo() {var IdList = [];$("#dataTable").find('input[class="CHECK_ORDER_ID"]:checked').each(function () { //遍历,将所有选中的值放到数组中IdList.push($(this).val());});IdList = IdList.join(",").replace(/'/g, "");if (IdList.length === 0) {top.$.jBox.info("请先勾选需要删除的数据!");} else {$.jBox.confirm("是否确认删除数据? ", "系统提示", function (v, h, f) {if (v == "ok") {postAjaxJson("${ctx}/blackList/delBlackList", {"IdList": IdList}, ajaxCallbackUpdata);}},{buttonsFocus: 1});}}//导出数据function exportData() {confirmx('确认要导出数据吗?', function () {var IdList = [];$("#dataTable").find('input[class="CHECK_ORDER_ID"]:checked').each(function () { //遍历,将所有选中的值放到数组中IdList.push($(this).val());});IdList = IdList.join(",").replace(/'/g, "");if (IdList.length === 0) {$("#searchForm").attr("action", "${ctx}/blackList/export?$(\"#searchForm\").serialize()");$("#searchForm").submit();} else {$("#searchForm").attr("action", "${ctx}/blackList/export?IdList=" + IdList);$("#searchForm").submit();}});}</script></head>
<body class="bg-gray">
<table width="100%" class="bg-white"><div><td style="vertical-align: top;"><form id="searchForm" action="" method="post" class="form-horizontal"><input id="pageNo" name="pageNo" type="hidden" value=""/><input id="pageSize" name="pageSize" type="hidden" value=""/><%--<ul class="ul-form">--%><div class="searchbar searchbar-n bg-white "><div class="fl mgb-10 mgr-10"><span class="fl  w100-tr">黑名单地址:</span><input id="blacklistAddress" name="blacklistAddress" class="input-n4 fl w-input162"type="text"/></div><div class="fl mgb-10 mgr-10"><span class="fl  w100-tr">状态:</span><select id="blacklistStatus" name="blacklistStatus" class="input-n4 fl w-input162"><option value="">请选择</option><option value="0">生效</option><option value="1">失效</option></select></div><div class="fl mgb-10 mgr-10"><span class="fl  w100-tr">创建时间:</span><input id="createStartDate" name="createStartDate" type="text" readonly="readonly"maxlength="20"class="Wdate input-n4 fl w-input162" placeholder="请选择"value="<fmt:formatDate value="${ecOrder.beginDate}" pattern="yyyy/MM/dd HH:mm:ss"/>"οnclick="WdatePicker({dateFmt:'yyyy/MM/dd 00:00:00',isShowClear:false});"/><span>至</span></div><div><input id="createEndDate" name="createEndDate" type="text" readonly="readonly" maxlength="20"class="Wdate input-n4 fl w-input162"placeholder="请选择"value="<fmt:formatDate value="${ecOrder.endDate}" pattern="yyyy/MM/dd HH:mm:ss"/>"οnclick="WdatePicker({dateFmt:'yyyy/MM/dd 23:59:59',isShowClear:false});"/></div><div class="fl mgb-10 mgr-10"><span class="fl  w100-tr">操作人:</span><input id="operatorName" name="operatorName" class="input-n4 fl w-input162"type="text"/></div><div class="fl mgb-10 mgr-10"><span class="fl  w100-tr">操作时间:</span><input id="updateStartDate" name="updateStartDate" type="text" readonly="readonly"maxlength="20"class="Wdate input-n4 fl w-input162"placeholder="请选择"value="<fmt:formatDate value="${ecOrder.beginDate}" pattern="yyyy/MM/dd HH:mm:ss"/>"οnclick="WdatePicker({dateFmt:'yyyy/MM/dd 00:00:00',isShowClear:false});"/><span>至</span></div><div><input id="updateEndDate" name="updateEndDate" type="text" readonly="readonly" maxlength="20"class="Wdate input-n4 fl w-input162"placeholder="请选择"value="<fmt:formatDate value="${ecOrder.endDate}" pattern="yyyy/MM/dd HH:mm:ss"/>"οnclick="WdatePicker({dateFmt:'yyyy/MM/dd 23:59:59',isShowClear:false});"/></div><div class="fl mgl-10  mgt-5"><input type="button" value="查询" class="btn-yellow " οnclick="return page();"></div></div></form><input name="CHECK_ALL_ORDER" id="CHECK_ALL_ORDER" οnclick="checkedAll('CHECK_ORDER_ID')" type="checkbox"style="margin-top: -5" ;>全选</input><input class="btns">黑名单地址列表<span class="fs12 font-gray">(共<span id="pageCount"></span>条)</span><div class="list-manage fr"><a href="javascript:addInfo()"class="font-blue ">新增</a><span class="font-gray"></span></div><div class="list-manage fr"><a href="javascript:deleteinfo()"class="font-blue ">删除</a><span class="font-gray"></span></div><div class="list-manage fr"><a href="javascript:exportData()"class="font-blue ">导出</a><span class="font-gray"></span></div></div><div class="btns"></div><table id="dataTable" border="0" width="100%" class=" table-style4  js_table_style4"><thead><tr><th>序号</th><th>黑名单地址</th><th>操作人</th><th>状态</th><th>创建时间</th><th>操作时间</th><th>操作</th></tr></thead><tbody></tbody></table><!-- 分页 stat --><div class="pagination clear ">${page}</div><!-- 分页 end --></td>
</table>
</body>
</html>

新增jsp:

<%--Created by IntelliJ IDEA.User: ft170Date: 2021/6/8Time: 11:33To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/WEB-INF/views/mod2016/include/taglib.jsp" %>
<html>
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><%@ include file="/WEB-INF/views/mod2016/include/head.jsp" %><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>新增</title><link href="<c:url value='/static/jquery-ztree/3.5.12/css/zTreeStyle/zTreeStyle.min.css'/>" rel="stylesheet"type="text/css"><script type="text/javascript"src="<c:url value='/static/jquery-ztree/3.5.12/js/jquery.ztree.all-3.5.min.js'/>"></script><script type="text/javascript"src="<c:url value='/static/common/jeesite.js'/>"></script><script type="text/javascript">$(document).ready(function () {chooseArea(0)});//地址联动function chooseArea(type) {var html = "";if (type == 1) {var area = $("#area").val();} else if (type == 2) {var area = $("#theMayor").val();} else if (type == 0) {var area = 0;} else {var area = $("#city").val();}$.ajax({type: 'post',url: ctx + "/blackList/chooseArea",data: {"areaCode": area},dataType: "json",success: function (result) {var html = "";if (result != null) {if (type == 0) {html = '<option value="" selected>请选择省级</option>';for (var i = 0; i < result.length; i++) {html += '<option value=' + result[i].orgId + '>' + result[i].orgName + '</option>';};$("#area").html(html);} else if (type == 1) {html = '<option value="" selected>请选择地市</option>';for (var i = 0; i < result.length; i++) {html += '<option value=' + result[i].orgId + '>' + result[i].orgName + '</option>';};$("#theMayor").html(html)} else if (type == 2) {html = '<option value="" selected>请选择区县</option>';for (var i = 0; i < result.length; i++) {html += '<option value=' + result[i].orgId + '>' + result[i].orgName + '</option>';};$("#city").html(html)} else {html = '<option value="" selected>请选择乡镇</option>';for (var i = 0; i < result.length; i++) {html += '<option value=' + result[i].orgId + '>' + result[i].orgName + '</option>';};$("#shopinfo").html(html)}}},error: function (data) {closeLoading();alert("网络异常,稍后再试!");}});}function submitData() {var savedata = $("#inputForm").serialize();postAjaxJson("${ctx}/blackList/saveBlackList", savedata, saveSuccess);}function saveSuccess(response) {if (response.status == '0') {$.jBox.prompt(response.message, '提示', 'info',{closed: function () {reload = true;top.Dialog.close();}});} else {top.$.jBox.info(response.message);}}</script>
</head>
<body class="bg-gray">
<div class="searchbar searchbar-n mgt-10  mgb-4"><form id="inputForm" action="" method="post" class="breadcrumb form-search "><div><div class="col-w2-right fl"><span>省份:</span><select id="area" name="area" οnclick="chooseArea(1)" class="w-input162"><option value="">请选择省级</option></select></div></div><div><div class="col-w2-right fl"><span>地市:</span><select id="theMayor" name="theMayor" οnclick="chooseArea(2)" class="w-input162"><option value="">请选择地市</option></select></div></div><div><div class="col-w2-right fl"><span>区县:</span><select id="city" name="city" οnclick="chooseArea(3)" class="w-input162"><option value="">请选择区县</option></select></div></div><div><div class="col-w2-right fl"><span>乡镇:</span><select id="shopinfo" name="shopinfo" class="w-input162"><option value="">请选择乡镇</option></select></div></div><div><div class="col-w2-right fl"><span>详细地址:<input id="detailed" name="detailed" class="w-input262"></span></div></div></form><div class="clear"style="position:fixed;text-align:center;margin-top:50px;bottom:0;padding-top:5;z-index:1010;width:100%;height:40px;background:#eee"><input type="button" value="取消" class="btn-gray-outline mgl-10" οnclick="top.Dialog.close();"><input type="button" value="保存" class="btn-yellow  mgl-10" οnclick="submitData()"></div>
</div></body>
</html>

编辑jsp:

<%--Created by IntelliJ IDEA.User: ft170Date: 2021/6/8Time: 11:33To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/WEB-INF/views/mod2016/include/taglib.jsp" %>
<html>
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><%@ include file="/WEB-INF/views/mod2016/include/head.jsp" %><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>编辑</title><link href="<c:url value='/static/jquery-ztree/3.5.12/css/zTreeStyle/zTreeStyle.min.css'/>" rel="stylesheet"type="text/css"><script type="text/javascript"src="<c:url value='/static/jquery-ztree/3.5.12/js/jquery.ztree.all-3.5.min.js'/>"></script><script type="text/javascript"src="<c:url value='/static/common/jeesite.js'/>"></script><script type="text/javascript">$(document).ready(function () {chooseArea(0)});//地址联动function chooseArea(type) {var html = "";if (type == 1) {var area = $("#area").val();} else if (type == 2) {var area = $("#theMayor").val();} else if (type == 0) {var area = 0;} else {var area = $("#city").val();}$.ajax({type: 'post',url: ctx + "/blackList/chooseArea",data: {"areaCode": area},dataType: "json",success: function (result) {var html = "";if (result != null) {if (type == 0) {html = '<option value="${black.province}" selected>请选择</option>';for (var i = 0; i < result.length; i++) {html += '<option value=' + result[i].orgId + '>' + result[i].orgName + '</option>';};$("#area").html(html);} else if (type == 1) {html = '<option value="${black.theMayor}" selected>请选择</option>';for (var i = 0; i < result.length; i++) {html += '<option value=' + result[i].orgId + '>' + result[i].orgName + '</option>';};$("#theMayor").html(html)} else if (type == 2) {html = '<option value="${black.district}" selected>请选择</option>';for (var i = 0; i < result.length; i++) {html += '<option value=' + result[i].orgId + '>' + result[i].orgName + '</option>';};$("#city").html(html)} else {html = '<option value="${black.towns}" selected>请选择</option>';for (var i = 0; i < result.length; i++) {html += '<option value=' + result[i].orgId + '>' + result[i].orgName + '</option>';};$("#shopinfo").html(html)}}},error: function (data) {closeLoading();alert("网络异常,稍后再试!");}});}function submitData() {var savedata = $("#inputForm").serialize();postAjaxJson("${ctx}/blackList/editBlackList",savedata , saveSuccess);}function saveSuccess(response) {if (response.status == '0') {$.jBox.prompt(response.message, '提示', 'info',{closed: function () {reload = true;top.Dialog.close();}});} else {top.$.jBox.info(response.message);}}</script>
</head>
<body class="bg-gray">
<div class="searchbar searchbar-n mgt-10  mgb-4"><form id="inputForm" action="" method="post" class="breadcrumb form-search "><input id="blacklistId" name="blacklistId" type="hidden" value="${black.blacklistId}"><div><div class="col-w2-right fl"><span>省份:</span><select id="area" name="area" οnclick="chooseArea(1)" class="w-input162"><option value="" >${black.province}</option></select></div></div><div><div class="col-w2-right fl"><span>地市:</span><select id="theMayor" name="theMayor" οnclick="chooseArea(2)" class="w-input162"><option value="">${black.theMayor}</option></select></div></div><div><div class="col-w2-right fl"><span>区县:</span><select id="city" name="city" οnclick="chooseArea(3)" class="w-input162"><option value="">${black.district}</option></select></div></div><div><div class="col-w2-right fl"><span>乡镇:</span><select id="shopinfo" name="shopinfo" class="w-input162"><option value="">${black.towns}</option></select></div></div><div><div class="col-w2-right fl"><span>详细地址:<input id="detailed" name="detailed" class="w-input262" value="${black.detailed}"></span></div></div></form><div class="clear"style="position:fixed;text-align:center;margin-top:50px;bottom:0;padding-top:5px;z-index:1010;width:100%;height:40px;background:#eee"><input type="button" value="取消" class="btn-gray-outline mgl-10" οnclick="top.Dialog.close();"><input type="button" value="保存" class="btn-yellow  mgl-10" οnclick="submitData()"></div>
</div></body>
</html>

至于前端的校验:

获取前端的收获地址,根据收货地址来查询黑名单数据表,就可以成功校验,校验逻辑:

首先获取省级与黑名单地址比较,然后是省加市与之比较,再然后就是省加市加区县比较。。。。。。。。

更多推荐

黑名单地址管理

本文发布于:2023-06-21 07:14:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/813758.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:黑名单   地址

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!