ganxiaomao 5 anni fa
parent
commit
f7180637aa
23 ha cambiato i file con 2716 aggiunte e 12 eliminazioni
  1. 60 0
      src/main/java/com/agent/action/credits/UserIdentityBeanController.java
  2. 16 1
      src/main/java/com/agent/action/digger/DiggerController.java
  3. 2 2
      src/main/java/com/agent/action/sale/SaleController.java
  4. 409 0
      src/main/java/com/agent/action/sale/SaleIntegralController.java
  5. 4 0
      src/main/java/com/agent/constans/CommonConstants.java
  6. 304 0
      src/main/java/com/agent/model/certification/bean/UserIdentityBean.java
  7. 56 0
      src/main/java/com/agent/model/certification/bpo/UserIdentityBeanBpo.java
  8. 117 0
      src/main/java/com/agent/model/certification/dao/UserIdentityBeanDao.java
  9. 46 0
      src/main/java/com/agent/model/certification/dao/convert/UserIdentityBeanConvert.java
  10. 65 0
      src/main/java/com/agent/model/certification/service/UserIdentityBeanService.java
  11. 1 1
      src/main/java/com/agent/model/digger/bean/DiggerBean.java
  12. 61 1
      src/main/java/com/agent/model/sale/bean/SalesBean.java
  13. 42 2
      src/main/java/com/agent/model/sale/bpo/SaleBeanBpo.java
  14. 84 1
      src/main/java/com/agent/model/sale/dao/SaleBeanDao.java
  15. 5 0
      src/main/java/com/agent/model/sale/dao/convert/SalesBeanConvert.java
  16. 5 0
      src/main/java/com/agent/model/sale/dao/mapper/SalesBeanMapper.java
  17. 40 0
      src/main/java/com/agent/model/sale/service/SaleBeanService.java
  18. 21 0
      src/main/java/com/agent/util/qiniu/FileUtil.java
  19. 93 3
      src/main/webapp/WEB-INF/views/gift/showAll.jsp
  20. 633 0
      src/main/webapp/WEB-INF/views/sale/agent/saleintegrallist.jsp
  21. 387 0
      src/main/webapp/WEB-INF/views/sale/agent/salelist_new.jsp
  22. 263 0
      src/main/webapp/WEB-INF/views/sale/plat/salelist_new.jsp
  23. 2 1
      src/main/webapp/resources/js/index.js

+ 60 - 0
src/main/java/com/agent/action/credits/UserIdentityBeanController.java

@@ -0,0 +1,60 @@
+package com.agent.action.credits;
+
+import com.agent.action.common.AbstractController;
+import com.agent.model.certification.bean.UserIdentityBean;
+import com.agent.model.certification.service.UserIdentityBeanService;
+import com.agent.model.common.bean.ResultBean;
+import com.agent.util.qiniu.FileUtil;
+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.RequestParam;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * icegan--用户身份认证控制器
+ */
+@Controller()
+@RequestMapping("/userIdentity")
+public class UserIdentityBeanController extends AbstractController {
+
+    @Autowired
+    private UserIdentityBeanService userIdentityBeanService;
+
+    @RequestMapping("/getUserIdentityInfo.do")
+    public void getUserIndentityInfo(HttpServletRequest request, HttpServletResponse response, @RequestParam("wxOpenId") String wxOpenId, @RequestParam("agentId") String agentId){
+        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE, "成功!");
+        UserIdentityBean bean = this.userIdentityBeanService.findOneByWxOpenIdAndAgentId(wxOpenId, agentId);
+        try{
+            if (bean == null){
+                resultBean = new ResultBean(ResultBean.FAIL_CODE, "未查找到数据,请检查参数是否正确!");
+                return;
+            }
+            bean.setIdcarddfrontpic(FileUtil.getImageUrl(bean.getIdcarddfrontpic()));
+            bean.setIdcarddbackpic(FileUtil.getImageUrl(bean.getIdcarddbackpic()));
+            bean.setBankcardpic(FileUtil.getImageUrl(bean.getBankcardpic()));
+            bean.setPic(FileUtil.getImageUrl(bean.getPic()));
+            resultBean.setResult(bean);
+        }catch(Exception e){
+            resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统异常,请稍后再试!");
+            e.printStackTrace();
+        }finally {
+            super.printResult(request,response,resultBean.toString());
+        }
+    }
+
+    @RequestMapping("/verify.do")
+    public void verify(HttpServletRequest request, HttpServletResponse response, @RequestParam("wxOpenId") String wxOpenId, @RequestParam("agentId") String agentId, @RequestParam("status") String status){
+        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE, "成功!");
+        try{
+            boolean update = this.userIdentityBeanService.updateStatusByWxOpenIdAndAgentId(status, wxOpenId, agentId);
+            resultBean.setResult(update);
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            super.printResult(request, response, resultBean.toString());
+        }
+    }
+}

+ 16 - 1
src/main/java/com/agent/action/digger/DiggerController.java

@@ -6,6 +6,7 @@ import com.agent.constans.ConfigConstants;
 import com.agent.model.authentication.bean.Authentication;
 import com.agent.model.bms.bean.UserBean;
 import com.agent.model.bms.service.BaseLoginService;
+import com.agent.model.certification.service.UserIdentityBeanService;
 import com.agent.model.common.bean.PageResultBean;
 import com.agent.model.common.bean.RegionBean;
 import com.agent.model.common.bean.ResultBean;
@@ -54,6 +55,11 @@ public class DiggerController extends AbstractController{
      */
     @Autowired
     private BaseLoginService baseLoginService;
+    /**
+     * icegan--用户身份认证service
+     */
+    @Autowired
+    private UserIdentityBeanService userIdentityBeanService;
 	/**
 	 * 中央后台车商记录列表页
 	 */
@@ -153,7 +159,16 @@ public class DiggerController extends AbstractController{
             }
 
             resultBean=diggerBeanService.queryDiggerRecordPage(diggerBean,"",null,currentPageInt,pageSizeInt);
-           List list= resultBean.getResultList();
+            List<DiggerBean> list= (List<DiggerBean>) resultBean.getResultList();
+           //icegan 更新list中的认证状态 start---
+            for(DiggerBean db: list){
+                String wxOpenId = db.getWxOpenID();
+                String agentId = db.getAgentID();
+                int exist = this.userIdentityBeanService.existByWxOpenIdAndAgentId(wxOpenId,agentId);
+                db.setState(exist);
+            }
+            resultBean.setResultList(list);
+            //icegan 更新list中的认证状态 end---
 
             //获取用户session信息中的字段权限,并组装成map带回页面
             List<UserColumnRoleBean> roleList = user.getUserColumnRoleBeans();

+ 2 - 2
src/main/java/com/agent/action/sale/SaleController.java

@@ -56,11 +56,11 @@ public class SaleController extends AbstractController{
 	/**
 	 * 中央后台销售员记录列表页
 	 */
-	private final String PLAT_SALE_LIST = "sale/plat/salelist";
+	private final String PLAT_SALE_LIST = "sale/plat/salelist_new";
 	/**
 	 * 代理商后台销售员记录列表页
 	 */
-	private final String AGENT_SALE_LIST = "sale/agent/salelist";
+	private final String AGENT_SALE_LIST = "sale/agent/salelist_new";
 	
 	/**
 	 * 载入销售员记录列表页

+ 409 - 0
src/main/java/com/agent/action/sale/SaleIntegralController.java

@@ -0,0 +1,409 @@
+package com.agent.action.sale;
+
+import com.agent.action.common.AbstractController;
+import com.agent.constans.CommonConstants;
+import com.agent.constans.ConfigConstants;
+import com.agent.model.bms.bean.UserBean;
+import com.agent.model.bms.service.BaseLoginService;
+import com.agent.model.certification.service.UserIdentityBeanService;
+import com.agent.model.common.bean.PageResultBean;
+import com.agent.model.common.bean.RegionBean;
+import com.agent.model.common.bean.ResultBean;
+import com.agent.model.sale.bean.SalesBean;
+import com.agent.model.sale.service.SaleBeanService;
+import com.agent.model.usercolumn.bean.UserColumnRoleBean;
+import com.agent.util.ExcelFileUtil;
+import com.agent.util.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * icegan--代理商销售员积分管理
+ */
+@Controller
+@RequestMapping("/saleintegral")
+public class SaleIntegralController extends AbstractController {
+    private static Logger log = LoggerFactory.getLogger(SaleIntegralController.class);
+
+    /**
+     * 销售员记录service
+     */
+    @Autowired
+    private SaleBeanService saleBeanService;
+    /**
+     * 公用service
+     */
+    @Autowired
+    private BaseLoginService baseLoginService;
+
+    @Autowired
+    private UserIdentityBeanService userIdentityBeanService;
+    /**
+     * 中央后台销售员记录列表页
+     */
+    private final String PLAT_SALE_LIST = "sale/agent/saleintegrallist";//"sale/plat/salelist";
+    /**
+     * 代理商后台销售员记录列表页
+     */
+    private final String AGENT_SALE_LIST = "sale/agent/saleintegrallist";
+
+    /**
+     * 载入销售员记录列表页
+     * @param request
+     * @param response
+     * @return
+     * @throws IOException
+     */
+    @RequestMapping("/showSaleList.do")
+    public ModelAndView showSaleList(HttpServletRequest request,
+                                     HttpServletResponse response) throws Exception{
+        //获取登录信息
+        HttpSession session = request.getSession();
+        UserBean user = (UserBean)session.getAttribute(CommonConstants.USER_INFO);
+        ModelAndView mv = null;
+        //页面跳转
+        if(ConfigConstants.IS_ADMIN.equals(user.getIsAdmin())) {
+            mv = super.createJspView(PLAT_SALE_LIST);
+        }else {
+            mv = super.createJspView(AGENT_SALE_LIST);
+            //获取用户session信息中的字段权限,并组装成map带回页面
+            List<UserColumnRoleBean> roleList = user.getUserColumnRoleBeans();
+            if(roleList!=null && !roleList.isEmpty()){
+                for(UserColumnRoleBean role:roleList){
+                    if(role!=null){
+                        if(ConfigConstants.SALE_LIST.equals(role.getListCode())){
+                            mv.addObject(role.getColumnCode(), "1");
+                        }
+                    }
+                }
+            }
+            //查询区域列表
+            List<RegionBean> provinceList = baseLoginService.getProvinceList();
+            mv.addObject("provinceList", provinceList);
+        }
+        return mv;
+    }
+
+    /**
+     * 搜索区域记录
+     * @param request
+     * @param response
+     */
+    @RequestMapping("/getSubRegion.do")
+    public void getSubRegion(HttpServletRequest request, HttpServletResponse response){
+        ResultBean resultBean =  new ResultBean(ResultBean.SUCCESS_CODE,"成功!");
+        try {
+            String pId = super.getParameter(request, "pId");
+            List<RegionBean> regionList = baseLoginService.getSubRegionList(pId);
+            resultBean.setResultList(regionList);
+        } catch (Exception e) {
+            resultBean= new ResultBean(ResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
+            log.error("getSubRegion error!",e);
+        }finally{
+            super.printResult(request, response, resultBean.toString());
+        }
+
+    }
+
+    /**
+     * 搜索销售员记录分页列表
+     * @param request
+     * @param response
+     */
+    @RequestMapping("/saleList.do")
+    public void saleList(HttpServletRequest request, HttpServletResponse response,
+                         @ModelAttribute SalesBean salesBean){
+        //返回页面数据
+        PageResultBean resultBean =  null;
+
+        try {
+            //获取登录信息
+            HttpSession session = request.getSession();
+            UserBean user = (UserBean)session.getAttribute(CommonConstants.USER_INFO);
+            //如果不是平台用户的话,则只能搜索到他本身的商家报价信息
+            if(!ConfigConstants.IS_ADMIN.equals(user.getIsAdmin())){
+                salesBean.setAgentId(user.getAgentId());
+                salesBean.setAgentOpt(ConfigConstants.IS_ADMIN);
+                salesBean.setRegeisterStatus("1");
+            }
+            // 当前页码
+            String currentPage = super.getParameter(request, "currentPage");
+            // 分页记录数
+            String pageSize = super.getParameter(request, "pageSize");
+            int currentPageInt = 1;
+            int pageSizeInt = 10;
+            if(StringUtils.isNotEmpty(currentPage)){
+                try {
+                    currentPageInt = Integer.parseInt(currentPage);
+                } catch (Exception e) {
+                    resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入正确的页数!");
+                }
+            }
+            if(StringUtils.isNotEmpty(pageSize)){
+                try {
+                    pageSizeInt = Integer.parseInt(pageSize);
+                } catch (Exception e) {
+                    resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入正确的分页数!");
+                }
+            }
+
+            resultBean=saleBeanService.querySaleRecordPage(salesBean,"",null,currentPageInt,pageSizeInt);
+
+            if(resultBean.getResultList() != null && !resultBean.getResultList().isEmpty()) {
+                List<SalesBean> list = (List<SalesBean>)resultBean.getResultList();
+                for(SalesBean bean:list) {
+                    if(org.apache.commons.lang.StringUtils.isNotEmpty(bean.getAgentAreaIds())) {
+                        List<RegionBean> regionList = baseLoginService.getRegionListByIds(bean.getAgentAreaIds().split(","));
+                        bean.setRegionList(regionList);
+                    }
+
+                    String wxOpenId = bean.getWxOpenid();
+                    String agentId = bean.getAgentId();
+                    int exist = this.userIdentityBeanService.existByWxOpenIdAndAgentId(wxOpenId,agentId);
+                    bean.setState(exist);
+                }
+            }
+
+            //获取用户session信息中的字段权限,并组装成map带回页面
+            List<UserColumnRoleBean> roleList = user.getUserColumnRoleBeans();
+            Map<String,String> columnMap = new HashMap<String,String>();
+            if(roleList!=null && !roleList.isEmpty()){
+                for(UserColumnRoleBean role:roleList){
+                    if(role!=null){
+                        if(ConfigConstants.SALE_LIST.equals(role.getListCode())){
+                            columnMap.put(role.getColumnCode(), role.getColumnName());
+                        }
+                    }
+                }
+            }
+            resultBean.setResult(columnMap);
+
+        } catch (Exception e) {
+            resultBean= new PageResultBean(PageResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
+            log.error("diggerList error!",e);
+        }finally{
+            super.printResult(request, response, resultBean.toString());
+        }
+
+    }
+
+    /**
+     * 修改
+     * @param request
+     * @param response
+     */
+    @RequestMapping("/edit.do")
+    public void refund(HttpServletRequest request, HttpServletResponse response){
+        //返回页面数据
+        ResultBean resultBean =  new ResultBean(ResultBean.SUCCESS_CODE,"成功!");
+        String id = super.getParameter(request, "id");
+        String agentAreaIds = super.getParameter(request, "agentAreaIds");
+        String agentAreaNames = super.getParameter(request, "agentAreaNames");
+        try {
+            if(StringUtils.isEmpty(id)){
+                resultBean = new ResultBean(ResultBean.FAIL_CODE,"请选择修改记录!");
+                return;
+            }
+            SalesBean salesBean = new SalesBean();
+            salesBean.setId(id);
+            salesBean.setAgentAreaIds(agentAreaIds);
+            salesBean.setAgentAreaNames(agentAreaNames);
+            boolean flag = saleBeanService.edit(salesBean);
+            if(!flag){
+                resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统繁忙,请稍后再来!");
+                return;
+            }
+        } catch (Exception e) {
+            resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统繁忙,请稍后再来!");
+            log.error("sales edit error!",e);
+        }finally{
+            super.printResult(request, response, resultBean.toString());
+        }
+    }
+
+    /**
+     * 上下架
+     * @param request
+     * @param response
+     */
+    @RequestMapping("/updown.do")
+    public void updown(HttpServletRequest request, HttpServletResponse response){
+        //返回页面数据
+        ResultBean resultBean =  new ResultBean(ResultBean.SUCCESS_CODE,"成功!");
+        String id = super.getParameter(request, "id");
+        String result = super.getParameter(request, "flag");
+        try {
+            if(StringUtils.isEmpty(id)){
+                resultBean = new ResultBean(ResultBean.FAIL_CODE,"请选择修改记录!");
+                return;
+            }
+            if(StringUtils.isEmpty(result)){
+                resultBean = new ResultBean(ResultBean.FAIL_CODE,"非法操作!");
+                return;
+            }
+            boolean flag = saleBeanService.upOrDown(result,id);
+            if(!flag){
+                resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统繁忙,请稍后再来!");
+                return;
+            }
+        } catch (Exception e) {
+            resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统繁忙,请稍后再来!");
+            log.error("sales updown error!",e);
+        }finally{
+            super.printResult(request, response, resultBean.toString());
+        }
+    }
+
+    /**
+     * 导出销售员记录
+     * @param request
+     * @param response
+     */
+    @RequestMapping("/exportSales.do")
+    public void exportSales(HttpServletRequest request, HttpServletResponse response,
+                            @ModelAttribute SalesBean salesBean){
+        //返回页面数据
+        ResultBean resultBean =  new ResultBean(ResultBean.SUCCESS_CODE,"成功!");
+        String ids = super.getParameter(request, "ids");
+        try {
+            //获取登录信息
+            HttpSession session = request.getSession();
+            UserBean user = (UserBean)session.getAttribute(CommonConstants.USER_INFO);
+            //判断必要参数是否传递到后台
+            String[] queryCondition = new String[]{};
+            if(StringUtils.isNotBlank(ids)){
+                queryCondition = ids.split(",");
+            }
+            ResultBean flag = new ResultBean(ResultBean.SUCCESS_CODE,"成功!");
+            //删除场区
+            // 任务项数量 查询条件
+            StringBuilder conditionSql = new StringBuilder();
+            // 任务项 条件值
+            List<Object> conditions = new ArrayList<Object>();
+            for (int i = 0; i < queryCondition.length; i++) {
+                conditions.add(queryCondition[i]);
+                conditionSql.append("?");
+                if(i<queryCondition.length-1) {
+                    conditionSql.append(",");
+                }
+            }
+            String path = request.getSession().getServletContext().getRealPath("/")+ "/sale/excel/";;
+            flag = saleBeanService.createSalesXlsx(salesBean,conditionSql.toString(),conditions,path,user);
+            if(!ResultBean.SUCCESS_CODE.equals(flag.getCode())){
+                resultBean = new ResultBean(ResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
+                return;
+            }
+            String filename = flag.getMessage();
+            String[] tempArr= filename.split("\\.");
+            //设置文件下载格式XLS
+            ExcelFileUtil.setXLSXHeader(request, response, tempArr[0]);
+            //获取文件
+            File upfile = new File(path+filename);
+            ExcelFileUtil.downloadFile(response.getOutputStream(),upfile);
+        } catch (Exception e) {
+            resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统繁忙,请稍后再来!");
+            log.error("exportSales error!",e);
+        }
+    }
+
+    /**
+     * 跳转编辑销售员积分的页面
+     * @param request
+     * @param response
+     * @param id
+     */
+    @RequestMapping("/editInte.do")
+    public void editSaleIntegral(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="id", required=true) String id){
+        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE, "成功!");
+        try {
+            if (StringUtils.isEmpty(id)) {
+                resultBean = new ResultBean(ResultBean.FAIL_CODE, "车商ID不能为空!");
+                return;
+            }
+            if (resultBean.getCode().equals(ResultBean.SUCCESS_CODE)) {
+                SalesBean salesBean = this.saleBeanService.getSaleBean(id);
+                if(salesBean == null){
+                    resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统繁忙,请稍后再来!");
+                    return;
+                }
+                resultBean.setResult(salesBean);
+            }
+        }catch (Exception e){
+            resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统繁忙,请稍后再来!");
+            log.error("showEditShop error!", e);
+        }finally {
+            super.printResult(request, response, resultBean.toString());
+        }
+    }
+
+    /**
+     * 更新销售员的积分
+     * @param request
+     * @param response
+     * @param id
+     * @param integral
+     */
+    @RequestMapping("/saveInte.do")
+    public void saveIntegral(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="id", required=true) String id,String integral) {
+        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE, "成功!");
+        if (StringUtils.isEmpty(id)) {
+            resultBean = new ResultBean(ResultBean.FAIL_CODE, "车商ID不能为空!");
+            return;
+        }
+        if (resultBean.getCode().equals(ResultBean.SUCCESS_CODE)) {
+            boolean update = this.saleBeanService.updateIntegral(id,integral);
+            resultBean.setResult(update);
+            super.printResult(request,response,resultBean.toString());
+        }
+    }
+
+    /**
+     * 更新销售员的等级
+     * @param request
+     * @param response
+     * @param id
+     * @param dengji
+     */
+    @RequestMapping("/updateHy.do")
+    public void  updateHy(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="id", required=true) String id,String dengji) {
+        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE, "成功!");
+        if (StringUtils.isNotBlank(id) && StringUtils.isNotBlank(dengji)) {
+            boolean updateState= this.saleBeanService.updateMemberLevel(id, dengji);
+            resultBean.setResult(updateState);
+            super.printResult(request,response,resultBean.toString());
+        }
+    }
+
+    /**
+     * 更新销售人员的通票
+     * @param request
+     * @param response
+     * @param id
+     * @param platTpSet
+     */
+    @RequestMapping("/updatePlatTpSet")
+    public void updatePlatTpSet(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="id", required=true) String id,String platTpSet){
+        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE, "成功!");
+        if (StringUtils.isNotBlank(id) && StringUtils.isNotBlank(platTpSet)) {
+            boolean updateState= this.saleBeanService.updatePlatTpSet(id, platTpSet);
+            resultBean.setResult(updateState);
+            super.printResult(request,response,resultBean.toString());
+        }
+    }
+}

+ 4 - 0
src/main/java/com/agent/constans/CommonConstants.java

@@ -105,6 +105,10 @@ public class CommonConstants {
      * 区域表
      */
     public static final String TB_REGION = "tb_region";
+    /**
+     * 用户认证信息表
+     */
+    public static final String TB_USER_INFO = "tb_user_info";
 
     /**
      * token缓存key

+ 304 - 0
src/main/java/com/agent/model/certification/bean/UserIdentityBean.java

@@ -0,0 +1,304 @@
+package com.agent.model.certification.bean;
+
+import net.sf.json.JSONObject;
+
+import java.io.Serializable;
+
+/**
+ * icegan--用户身份认证表实体类
+ */
+public class UserIdentityBean implements Serializable {
+    private static final long serialVersionUID = -3824722033215913684L;
+
+    /**
+     * 用户姓名
+     */
+    private String username;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 身份证
+     */
+    private String idcard;
+
+    /**
+     * 生日
+     */
+    private String birthday;
+
+    /**
+     * 省份
+     */
+    private String province;
+
+    /**
+     * 市
+     */
+    private String city;
+
+    /**
+     *区县
+     */
+    private String prefecture;
+
+    /**
+     * 地址
+     */
+    private String area;
+
+    /**
+     * 地区代码
+     */
+    private String addrcode;
+
+    /**
+     * 银行卡号
+     */
+    private String accountno;
+
+    /**
+     * 手机号码
+     */
+    private String mobile;
+
+    /**
+     * 银行名称
+     */
+    private String bank;
+
+    /**
+     * 银行卡名称
+     */
+    private String cardname;
+
+    /**
+     * 银行卡类型
+     */
+    private String cardtype;
+
+    /**
+     * 审核状态 1:待审核;2:实名认证通过;3,审核不通过
+     */
+    private String status;
+
+    private String useropenid;
+
+    private String idcarddfrontpic;
+    private String idcarddbackpic;
+    private String cardvalidity;
+    private String role;
+    private String pic;
+
+    private String bankcardpic;
+    private String agentId;
+
+    private String wxnc;
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getSex() {
+        return sex;
+    }
+
+    public void setSex(String sex) {
+        this.sex = sex;
+    }
+
+    public String getIdcard() {
+        return idcard;
+    }
+
+    public void setIdcard(String idcard) {
+        this.idcard = idcard;
+    }
+
+    public String getBirthday() {
+        return birthday;
+    }
+
+    public void setBirthday(String birthday) {
+        this.birthday = birthday;
+    }
+
+    public String getProvince() {
+        return province;
+    }
+
+    public void setProvince(String province) {
+        this.province = province;
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setCity(String city) {
+        this.city = city;
+    }
+
+    public String getPrefecture() {
+        return prefecture;
+    }
+
+    public void setPrefecture(String prefecture) {
+        this.prefecture = prefecture;
+    }
+
+    public String getArea() {
+        return area;
+    }
+
+    public void setArea(String area) {
+        this.area = area;
+    }
+
+    public String getAddrcode() {
+        return addrcode;
+    }
+
+    public void setAddrcode(String addrcode) {
+        this.addrcode = addrcode;
+    }
+
+    public String getAccountno() {
+        return accountno;
+    }
+
+    public void setAccountno(String accountno) {
+        this.accountno = accountno;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getBank() {
+        return bank;
+    }
+
+    public void setBank(String bank) {
+        this.bank = bank;
+    }
+
+    public String getCardname() {
+        return cardname;
+    }
+
+    public void setCardname(String cardname) {
+        this.cardname = cardname;
+    }
+
+    public String getCardtype() {
+        return cardtype;
+    }
+
+    public void setCardtype(String cardtype) {
+        this.cardtype = cardtype;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getUseropenid() {
+        return useropenid;
+    }
+
+    public void setUseropenid(String useropenid) {
+        this.useropenid = useropenid;
+    }
+
+    public String getIdcarddfrontpic() {
+        return idcarddfrontpic;
+    }
+
+    public void setIdcarddfrontpic(String idcarddfrontpic) {
+        this.idcarddfrontpic = idcarddfrontpic;
+    }
+
+    public String getIdcarddbackpic() {
+        return idcarddbackpic;
+    }
+
+    public void setIdcarddbackpic(String idcarddbackpic) {
+        this.idcarddbackpic = idcarddbackpic;
+    }
+
+    public String getCardvalidity() {
+        return cardvalidity;
+    }
+
+    public void setCardvalidity(String cardvalidity) {
+        this.cardvalidity = cardvalidity;
+    }
+
+    public String getRole() {
+        return role;
+    }
+
+    public void setRole(String role) {
+        this.role = role;
+    }
+
+    public String getPic() {
+        return pic;
+    }
+
+    public void setPic(String pic) {
+        this.pic = pic;
+    }
+
+    public String getBankcardpic() {
+        return bankcardpic;
+    }
+
+    public void setBankcardpic(String bankcardpic) {
+        this.bankcardpic = bankcardpic;
+    }
+
+    public String getAgentId() {
+        return agentId;
+    }
+
+    public void setAgentId(String agentId) {
+        this.agentId = agentId;
+    }
+
+    public String getWxnc() {
+        return wxnc;
+    }
+
+    public void setWxnc(String wxnc) {
+        this.wxnc = wxnc;
+    }
+
+    @Override
+    public String toString() {
+        String value = "";
+        try {
+            JSONObject json = JSONObject.fromObject(this);
+            value = json.toString();
+        } catch (Exception e) {
+            value = "";
+        }
+        return value;
+    }
+}

+ 56 - 0
src/main/java/com/agent/model/certification/bpo/UserIdentityBeanBpo.java

@@ -0,0 +1,56 @@
+package com.agent.model.certification.bpo;
+
+import com.agent.model.certification.bean.UserIdentityBean;
+import com.agent.model.certification.dao.UserIdentityBeanDao;
+import com.google.common.base.Strings;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * icegan--service和dao中间的一层,不知道为啥要有这一层,只是模仿源代码
+ */
+@Component("UserIdentityBeanBpo")
+public class UserIdentityBeanBpo {
+
+    @Autowired
+    private UserIdentityBeanDao userIdentityBeanDao;
+
+    /**
+     * 根据微信OpenId和AgentId获取唯一的值
+     * @param wxOpenId
+     * @param agentId
+     * @return
+     */
+    public UserIdentityBean findOneByWxOpenIdAndAgentId(String wxOpenId, String agentId){
+        if(Strings.isNullOrEmpty(wxOpenId) || Strings.isNullOrEmpty(agentId))
+            return null;
+        else
+            return this.userIdentityBeanDao.findOneByWxOpenIdAndAgentId(wxOpenId,agentId);
+    }
+
+    /**
+     * 根据身份证号,查询唯一的结果
+     * @param idCardNo
+     * @return
+     */
+    public UserIdentityBean findOneByIdCardNo(String idCardNo){
+        if(Strings.isNullOrEmpty(idCardNo))
+            return null;
+        else
+            return this.userIdentityBeanDao.findOneByIdCardNo(idCardNo);
+    }
+
+    /**
+     * 更新认证审核信息的状态
+     * @param status
+     * @param wxOpenId
+     * @param agentId
+     * @return
+     */
+    public boolean updateStatusByWxOpenIdAndAgentId(String status, String wxOpenId, String agentId){
+        if(Strings.isNullOrEmpty(status) || Strings.isNullOrEmpty(wxOpenId) || Strings.isNullOrEmpty(agentId)){
+            return false;
+        }
+        return userIdentityBeanDao.updateStatusByWxOpenIdAndAgentId(status, wxOpenId, agentId);
+    }
+}

+ 117 - 0
src/main/java/com/agent/model/certification/dao/UserIdentityBeanDao.java

@@ -0,0 +1,117 @@
+package com.agent.model.certification.dao;
+
+import com.agent.model.certification.bean.UserIdentityBean;
+import com.agent.model.common.dao.BaseDaoImpl;
+import com.agent.model.playbill.bean.Playbill;
+import org.springframework.jdbc.core.RowMapper;
+import org.springframework.stereotype.Repository;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+/**
+ * icegan---用户身份认证信息表DAO
+ * @param <BaseBean>
+ */
+@Repository("UserIdentityBeanDao")
+public class UserIdentityBeanDao<BaseBean> extends BaseDaoImpl<BaseBean> {
+
+    /***
+     * 根据微信OpenId和AgentId获取唯一的值
+     * @param wxOpenId
+     * @param agentId
+     * @return
+     */
+    public UserIdentityBean findOneByWxOpenIdAndAgentId(String wxOpenId, String agentId){
+        StringBuffer sql = new StringBuffer();
+        sql.append("select * from tb_user_info where useropenid='"+wxOpenId+"' and agent_id='"+agentId+"'");
+        UserIdentityBean userIdentityBean  = findOneFromJdbcBySql(sql.toString());
+        return userIdentityBean;
+    }
+
+    /**
+     * 根据身份证号,查询唯一的结果
+     * @param idCardNo
+     * @return
+     */
+    public UserIdentityBean findOneByIdCardNo(String idCardNo){
+        StringBuffer sql = new StringBuffer();
+        sql.append("select * from tb_user_info where idcard='"+idCardNo+"'");
+        UserIdentityBean userIdentityBean = findOneFromJdbcBySql(sql.toString());
+        return userIdentityBean;
+    }
+
+
+    private UserIdentityBean findOneFromJdbcBySql(String sql){
+        UserIdentityBean userIdentityBean = null;
+        try{
+            userIdentityBean = this.getJdbcTemplate().queryForObject(sql.toString(),new RowMapper<UserIdentityBean>(){
+
+                @Override
+                public UserIdentityBean mapRow(ResultSet resultSet, int i) throws SQLException {
+                    UserIdentityBean bean = convertResultSet2Bean(resultSet);
+                    return bean;
+                }
+            });
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return userIdentityBean;
+    }
+
+    /**
+     * 更新认证审核信息的状态
+     * @param status
+     * @param wxOpenId
+     * @param agentId
+     * @return
+     */
+    public boolean updateStatusByWxOpenIdAndAgentId(String status, String wxOpenId, String agentId){
+        StringBuffer sql = new StringBuffer();
+        sql.append("update tb_user_info set status=? where useropenid=? and agent_id=?");
+        int result=this.getJdbcTemplate().update(sql.toString(),new Object[]{status,wxOpenId,agentId});
+        if(result==1){
+            return true;
+        }else{
+            return false;
+        }
+    }
+
+    /**
+     * 将数据查询结果转换为实体类
+     * @param resultSet
+     * @return
+     * @throws SQLException
+     */
+    public UserIdentityBean convertResultSet2Bean(ResultSet resultSet) throws SQLException {
+        UserIdentityBean bean = null;
+        if(resultSet != null){
+            bean = new UserIdentityBean();
+            bean.setUsername(resultSet.getString("username"));
+            bean.setSex(resultSet.getString("sex"));
+            bean.setIdcard(resultSet.getString("idcard"));
+            bean.setBirthday(resultSet.getString("birthday"));
+            bean.setProvince(resultSet.getString("province"));
+            bean.setCity(resultSet.getString("city"));
+            bean.setPrefecture(resultSet.getString("prefecture"));
+            bean.setArea(resultSet.getString("area"));
+            bean.setAddrcode(resultSet.getString("addrcode"));
+            bean.setAccountno(resultSet.getString("accountno"));
+            bean.setMobile(resultSet.getString("mobile"));
+            bean.setBank(resultSet.getString("bank"));
+            bean.setCardname(resultSet.getString("cardname"));
+            bean.setCardtype(resultSet.getString("cardtype"));
+            bean.setStatus(resultSet.getString("status"));
+            bean.setUseropenid(resultSet.getString("useropenid"));
+            bean.setIdcarddfrontpic(resultSet.getString("idcarddfrontpic"));
+            bean.setIdcarddbackpic(resultSet.getString("idcarddbackpic"));
+            bean.setCardvalidity(resultSet.getString("cardValidity"));
+            bean.setRole(resultSet.getString("role"));
+            bean.setPic(resultSet.getString("pic"));
+            bean.setBankcardpic(resultSet.getString("bankcardpic"));
+            bean.setAgentId(resultSet.getString("agent_id"));
+            bean.setWxnc(resultSet.getString("addrcode"));
+        }
+        return bean;
+    }
+}

+ 46 - 0
src/main/java/com/agent/model/certification/dao/convert/UserIdentityBeanConvert.java

@@ -0,0 +1,46 @@
+package com.agent.model.certification.dao.convert;
+
+import com.agent.model.certification.bean.UserIdentityBean;
+import com.agent.model.common.dao.convert.BaseIConvertBean;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * icegan---用户身份认证信息表,字段和实体类属性转换
+ */
+public class UserIdentityBeanConvert extends BaseIConvertBean {
+    @Override
+    public List<UserIdentityBean> convert(List<Map<String, Object>> queryForList) {
+        List<UserIdentityBean> beans = new ArrayList<>();
+        for(Map<String,Object> map : queryForList){
+            UserIdentityBean bean = new UserIdentityBean();
+            bean.setUsername(super.getStringValue(map, "addrcode"));
+            bean.setSex(super.getStringValue(map, "sex"));
+            bean.setIdcard(super.getStringValue(map, "idcard"));
+            bean.setBirthday(super.getStringValue(map, "birthday"));
+            bean.setProvince(super.getStringValue(map, "province"));
+            bean.setCity(super.getStringValue(map, "city"));
+            bean.setPrefecture(super.getStringValue(map, "prefecture"));
+            bean.setArea(super.getStringValue(map, "area"));
+            bean.setAddrcode(super.getStringValue(map, "addrcode"));
+            bean.setAccountno(super.getStringValue(map, "username"));
+            bean.setMobile(super.getStringValue(map, "mobile"));
+            bean.setBank(super.getStringValue(map, "bank"));
+            bean.setCardname(super.getStringValue(map, "cardname"));
+            bean.setCardtype(super.getStringValue(map, "cardtype"));
+            bean.setStatus(super.getStringValue(map, "status"));
+            bean.setUseropenid(super.getStringValue(map, "useropenid"));
+            bean.setIdcarddfrontpic(super.getStringValue(map, "idcarddfrontpic"));
+            bean.setIdcarddbackpic(super.getStringValue(map, "idcarddbackpic"));
+            bean.setCardvalidity(super.getStringValue(map, "cardValidity"));
+            bean.setRole(super.getStringValue(map, "role"));
+            bean.setPic(super.getStringValue(map, "pic"));
+            bean.setBankcardpic(super.getStringValue(map, "bankcardpic"));
+            bean.setAgentId(super.getStringValue(map, "agent_id"));
+            bean.setWxnc(super.getStringValue(map, "addrcode"));
+        }
+        return beans;
+    }
+}

+ 65 - 0
src/main/java/com/agent/model/certification/service/UserIdentityBeanService.java

@@ -0,0 +1,65 @@
+package com.agent.model.certification.service;
+
+import com.agent.model.certification.bean.UserIdentityBean;
+import com.agent.model.certification.bpo.UserIdentityBeanBpo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * icegan--用户认证信息service层
+ */
+@Service("UserIdentityBeanService")
+public class UserIdentityBeanService {
+
+    @Autowired
+    private UserIdentityBeanBpo userIdentityBeanBpo;
+
+    /**
+     * 根据微信OpenId和AgentId获取唯一的值
+     * @param wxOpenId
+     * @param agentId
+     * @return
+     */
+    public UserIdentityBean findOneByWxOpenIdAndAgentId(String wxOpenId, String agentId){
+        return userIdentityBeanBpo.findOneByWxOpenIdAndAgentId(wxOpenId, agentId);
+    }
+
+    /**
+     * 根据身份证号,查询唯一的结果
+     * @param idCardNo
+     * @return
+     */
+    public UserIdentityBean findOneByIdCardNo(String idCardNo){
+        return userIdentityBeanBpo.findOneByIdCardNo(idCardNo);
+    }
+
+    /**
+     * 根据微信OpenId和AgentId判断用户实名认证的情况
+     * @param wxOpenId
+     * @param agentId
+     * @return 0,实名认证信息不存在;1,实名认证未审核or认证未通过;2
+     */
+    public int existByWxOpenIdAndAgentId(String wxOpenId, String agentId){
+        int res = 0;//默认为0,表示不存在
+        UserIdentityBean bean = findOneByWxOpenIdAndAgentId(wxOpenId,agentId);
+        if(bean != null){
+            String status = bean.getStatus();
+            if("1".equals(status))
+                res = Integer.valueOf(status);//实名认证未审核or审核未通过
+            else if("2".equals(status))
+                res = Integer.valueOf(status);//审核通过,认证成功
+        }
+        return res;
+    }
+
+    /**
+     * 更新认证审核信息的状态
+     * @param status
+     * @param wxOpenId
+     * @param agentId
+     * @return
+     */
+    public boolean updateStatusByWxOpenIdAndAgentId(String status, String wxOpenId, String agentId){
+        return updateStatusByWxOpenIdAndAgentId(status, wxOpenId, agentId);
+    }
+}

+ 1 - 1
src/main/java/com/agent/model/digger/bean/DiggerBean.java

@@ -80,7 +80,7 @@ public class DiggerBean implements java.io.Serializable {
 	private Integer mumberLevel;
 	/** 积分余额 */
 	private Integer integral;
-	/** 认证状态 */
+	/** 认证状态 :0,未提交;1,未审核;2,通过;3,退回*/
 	private Integer state;
 
 	/**

+ 61 - 1
src/main/java/com/agent/model/sale/bean/SalesBean.java

@@ -96,6 +96,26 @@ public class SalesBean implements java.io.Serializable {
     /** 注册时间 */
     private String regeisterTime;
 
+    /** icegan--积分余额 */
+    private Integer integral;
+    /**
+     * icegan--会员等级:0,普通会员;1,贵宾会员;2,金尊会员;3,至尊会员
+     */
+    private Integer memberLevel;
+
+    /** icegan--认证状态 :0,未提交;1,未审核;2,通过;3,退回*/
+    private Integer state;
+
+    /**
+     * icegan--通票用户:1,开;0,关
+     */
+    private String platTpSet;
+
+    /**
+     * icegan--保证金
+     */
+    private Integer deposit;
+
     public String getRegisteBegin() {
         return registeBegin;
     }
@@ -407,7 +427,47 @@ public class SalesBean implements java.io.Serializable {
 		this.regionList = regionList;
 	}
 
-	@Override
+    public Integer getIntegral() {
+        return integral;
+    }
+
+    public void setIntegral(Integer integral) {
+        this.integral = integral;
+    }
+
+    public Integer getMemberLevel() {
+        return memberLevel;
+    }
+
+    public void setMemberLevel(Integer memberLevel) {
+        this.memberLevel = memberLevel;
+    }
+
+    public Integer getState() {
+        return state;
+    }
+
+    public void setState(Integer state) {
+        this.state = state;
+    }
+
+    public String getPlatTpSet() {
+        return platTpSet;
+    }
+
+    public void setPlatTpSet(String platTpSet) {
+        this.platTpSet = platTpSet;
+    }
+
+    public Integer getDeposit() {
+        return deposit;
+    }
+
+    public void setDeposit(Integer deposit) {
+        this.deposit = deposit;
+    }
+
+    @Override
     public String toString() {
         String value = "";
         try {

+ 42 - 2
src/main/java/com/agent/model/sale/bpo/SaleBeanBpo.java

@@ -25,7 +25,7 @@ public class SaleBeanBpo {
 
     /**
      * 根据id获取销售员bean
-     * @param string
+     * @param saleId
      * @return
      */
     public SalesBean getSaleBean(String saleId) {
@@ -34,7 +34,7 @@ public class SaleBeanBpo {
     
     /**
      * 根据saleId获取销售员bean
-     * @param string
+     * @param saleId
      * @return
      */
     public SalesBean getSaleBeanBySaleId(String saleId) {
@@ -71,4 +71,44 @@ public class SaleBeanBpo {
     public boolean upOrDown(String flag,String id) {
     	return saleBeanDao.upOrDown(flag, id);
     }
+
+    /**
+     * icegan--更新销售员的积分
+     * @param id
+     * @param Integral
+     * @return
+     */
+    public boolean updateIntegral(String id, String Integral){
+        return saleBeanDao.updateIntegral(id, Integral);
+    }
+
+    /**
+     * icegan--更新销售员的会员等级
+     * @param id
+     * @param level
+     * @return
+     */
+    public boolean updateMemberLevel(String id, String level){
+        return saleBeanDao.updateMemberLevel(id,level);
+    }
+
+    /**
+     * icegan--更新销售员通票设置
+     * @param id
+     * @param platTpSet
+     * @return
+     */
+    public boolean updatePlatTpSet(String id, String platTpSet){
+        return saleBeanDao.updatePlatTpSet(id, platTpSet);
+    }
+
+    /**
+     * icegan-更新销售员的保证金
+     * @param saleId
+     * @param deposit
+     * @return
+     */
+    public boolean updateDeposite(String saleId, Integer deposit){
+        return saleBeanDao.updateDeposite(saleId, deposit);
+    }
 }

+ 84 - 1
src/main/java/com/agent/model/sale/dao/SaleBeanDao.java

@@ -5,6 +5,7 @@ import java.util.Date;
 import java.util.List;
 
 import com.agent.util.DateUtil;
+import com.google.common.base.Strings;
 import org.springframework.stereotype.Repository;
 
 import com.agent.constans.CommonConstants;
@@ -38,6 +39,7 @@ public class SaleBeanDao<BaseBean> extends BaseDaoImpl<BaseBean> {
         StringBuffer sql = new StringBuffer();
         sql.append(" select a.id,a.agent_id,b.agent_name,a.sale_id,a.sale_name,a.sale_phone,a.sale_wxnc,a.sale_wxh,a.sale_channel,a.tb_count,a.registe_date,");
         sql.append(" a.agent_opt,a.regeister_status,a.agent_brand_ids,a.agent_brand_names,a.agent_area_ids,a.agent_area_names ");
+        sql.append(" ,a.integral,a.member_level,a.plat_tp_set,a.deposit ");//icegan--新增
         sql.append(" from ").append(CommonConstants.TB_SALES).append(" a,").append(CommonConstants.TB_AGENT).append(" b");
         sql.append(" where a.agent_id=b.agent_id and b.state = '1' ");
         
@@ -150,6 +152,7 @@ public class SaleBeanDao<BaseBean> extends BaseDaoImpl<BaseBean> {
         StringBuffer sql = new StringBuffer();
         sql.append(" select ts.id,ts.agent_id,ts.agent_name,ts.agent_opt,ts.agent_pp,ts.area,ts.regeister_status,ts.sale_channel,ts.sale_id ");
         sql.append(" ,ts.sale_name,ts.sale_phone,ts.sale_wxh,ts.sale_wxnc,ts.tb_count,ts.wx_openid ");
+        sql.append(" ,ts.integral ,ts.member_level,ts.plat_tp_set,ts.deposit ");//icegan--新增
         sql.append(" from "+CommonConstants.TB_SALES+" ts where ts.id= ? ");
         params.add(saleId);
         return (SalesBean)super.getBaseBean(sql.toString(), params.toArray(),
@@ -166,6 +169,7 @@ public class SaleBeanDao<BaseBean> extends BaseDaoImpl<BaseBean> {
         StringBuffer sql = new StringBuffer();
         sql.append(" select ts.id,ts.agent_id,ts.agent_name,ts.agent_opt,ts.agent_pp,ts.area,ts.regeister_status,ts.sale_channel,ts.sale_id ");
         sql.append(" ,ts.sale_name,ts.sale_phone,ts.sale_wxh,ts.sale_wxnc,ts.tb_count,ts.wx_openid ");
+        sql.append(" ,ts.integral,ts.member_level,ts.plat_tp_set,ts.deposit ");//icegan--新增
         sql.append(" from "+CommonConstants.TB_SALES+" ts where ts.sale_id= ? ");
         params.add(saleId);
         return (SalesBean)super.getBaseBean(sql.toString(), params.toArray(),
@@ -202,5 +206,84 @@ public class SaleBeanDao<BaseBean> extends BaseDaoImpl<BaseBean> {
         return (result>=1);
     }
 
-    
+    /**
+     * icegan--更新销售员的积分
+     * @param id
+     * @param Integral
+     * @return
+     */
+    public boolean updateIntegral(String id, String Integral){
+        int integral=Integer.parseInt(Integral);
+        if(Strings.isNullOrEmpty(id) || Strings.isNullOrEmpty(Integral)){
+            return false;
+        }else{
+            StringBuffer sql=new  StringBuffer();
+            sql.append("update "+CommonConstants.TB_SALES);
+            sql.append(" set integral = ? where id= ?");
+            int  state=this.getJdbcTemplate().update(sql.toString(),new Object[]{integral,id});
+            if(state>0)
+                return true;
+        }
+        return false;
+    }
+
+    /**
+     * icegan--更新销售员的会员等级
+     * @param id
+     * @param level
+     * @return
+     */
+    public boolean updateMemberLevel(String id, String level){
+        if(Strings.isNullOrEmpty(id) || Strings.isNullOrEmpty(level)){
+            return false;
+        }else{
+            StringBuffer sql=new  StringBuffer();
+            sql.append("update "+CommonConstants.TB_SALES);
+            sql.append(" set member_level = ? where id= ?");
+            int  state=this.getJdbcTemplate().update(sql.toString(),new Object[]{level,id});
+            if(state>0)
+                return true;
+        }
+        return false;
+    }
+
+    /**
+     * icegan--更新销售员通票设置
+     * @param id
+     * @param platTpSet
+     * @return
+     */
+    public boolean updatePlatTpSet(String id, String platTpSet){
+        if(Strings.isNullOrEmpty(id) || Strings.isNullOrEmpty(platTpSet)){
+            return false;
+        }else{
+            StringBuffer sql=new  StringBuffer();
+            sql.append("update "+CommonConstants.TB_SALES);
+            sql.append(" set plat_tp_set = ? where id= ?");
+            int  state=this.getJdbcTemplate().update(sql.toString(),new Object[]{platTpSet,id});
+            if(state>0)
+                return true;
+        }
+        return false;
+    }
+
+    /**
+     * icegan-更新销售员的保证金
+     * @param saleId
+     * @param deposit
+     * @return
+     */
+    public boolean updateDeposite(String saleId, Integer deposit){
+        if(Strings.isNullOrEmpty(saleId) || deposit == null){
+            return false;
+        }else{
+            StringBuffer sql=new  StringBuffer();
+            sql.append("update "+CommonConstants.TB_SALES);
+            sql.append(" set deposit = ? where sale_id= ?");
+            int  state=this.getJdbcTemplate().update(sql.toString(),new Object[]{deposit,saleId});
+            if(state>0)
+                return true;
+        }
+        return false;
+    }
 }

+ 5 - 0
src/main/java/com/agent/model/sale/dao/convert/SalesBeanConvert.java

@@ -39,6 +39,11 @@ public class SalesBeanConvert  extends BaseIConvertBean{
 			bean.setWxOpenid(super.getStringValue(map, "wx_openid"));
 			bean.setRegeisterStatus(super.getStringValue(map, "regeister_status"));
 			bean.setRegeisterTime(super.getDateValue2(map,"registe_date","yyyy-MM-dd HH:mm:ss").toString());
+			bean.setIntegral(super.getIntegerValue(map,"integral"));//icegan--新增销售员积分
+			bean.setMemberLevel(super.getIntegerValue(map, "member_level"));//icegan--新增销售员会员等级
+			bean.setPlatTpSet(super.getStringValue(map, "plat_tp_set"));//icegan--新增销售员会员-通票权限
+			bean.setDeposit(super.getIntegerValue(map, "deposit"));//icegan--新增销售员会员-保证金
+
 			beans.add(bean);
 		}
 		return beans;

+ 5 - 0
src/main/java/com/agent/model/sale/dao/mapper/SalesBeanMapper.java

@@ -31,6 +31,11 @@ public class SalesBeanMapper implements ParameterizedRowMapper {
         bean.setRegeisterStatus(rs.getString("regeister_status"));
         bean.setAgentOpt(rs.getString("agent_opt"));
         bean.setWxOpenid(rs.getString("wx_openid"));
+        bean.setIntegral(rs.getInt("integral"));//icegan--新增销售员积分
+        bean.setMemberLevel(rs.getInt("member_level"));//icegan--新增销售员会员等级
+        bean.setPlatTpSet(rs.getString("plat_tp_set"));//icegan--新增销售员会员-通票权限
+        bean.setDeposit(rs.getInt("deposit"));//icegan--新增销售员会员-保证金
+
 		return bean;
 	}
 }

+ 40 - 0
src/main/java/com/agent/model/sale/service/SaleBeanService.java

@@ -243,4 +243,44 @@ public class SaleBeanService{
     public boolean upOrDown(String flag,String id) {
     	return saleBeanBpo.upOrDown(flag, id);
     }
+
+    /**
+     * icegan--更新销售员的积分
+     * @param id
+     * @param Integral
+     * @return
+     */
+    public boolean updateIntegral(String id, String Integral){
+        return saleBeanBpo.updateIntegral(id, Integral);
+    }
+
+    /**
+     * icegan--更新销售员的会员等级
+     * @param id
+     * @param level
+     * @return
+     */
+    public boolean updateMemberLevel(String id, String level){
+        return saleBeanBpo.updateMemberLevel(id, level);
+    }
+
+    /**
+     * icegan--更新销售员通票设置
+     * @param id
+     * @param platTpSet
+     * @return
+     */
+    public boolean updatePlatTpSet(String id, String platTpSet){
+        return saleBeanBpo.updatePlatTpSet(id, platTpSet);
+    }
+
+    /**
+     * icegan-更新销售员的保证金
+     * @param saleId
+     * @param deposit
+     * @return
+     */
+    public boolean updateDeposite(String saleId, Integer deposit){
+        return saleBeanBpo.updateDeposite(saleId, deposit);
+    }
 }

+ 21 - 0
src/main/java/com/agent/util/qiniu/FileUtil.java

@@ -42,4 +42,25 @@ public class FileUtil {
 		}
 		return null;
     }
+
+	/**
+	 * icegan--最新的从七牛获取图片url接口
+	 * @param fileName
+	 * @return
+	 */
+	public static String getImageUrl(String fileName){
+		String accessKey =  MessageConstants.getConfigMessage("qiniu.access.key");
+		String secretKey = MessageConstants.getConfigMessage("qiniu.secret.key");
+		String encodedFileName;
+		try {
+			encodedFileName = URLEncoder.encode(fileName, "utf-8");
+		} catch (Exception e) {
+			throw new RuntimeException("编码文件名称异常");
+		}
+		String domainOfBucket = MessageConstants.getConfigMessage("qiniu.url");
+		String publicUrl = String.format("%s/%s", domainOfBucket, encodedFileName);
+		Auth auth = Auth.create(accessKey, secretKey);
+		String finalUrl = auth.privateDownloadUrl(publicUrl, 3600);
+		return finalUrl;
+	}
 }

+ 93 - 3
src/main/webapp/WEB-INF/views/gift/showAll.jsp

@@ -95,14 +95,17 @@
         </div>
         <div class="left" style="width: 100%">
             <input type="hidden" name="id" id="authenticId" />
+            <input type="hidden" name="wxOpenId" id="wxOpenId" />
+            <input type="hidden" name="agentId" id="agentId" />
             <div class="tc3_search1"><span style="width:120px;">身份证号:</span><input autocomplete="off" type="text" name="idCardNo" id="idCardNo" readonly="readonly" /></div>
+            <div class="tc3_search1"><span style="width:120px;">身份证有效期:</span><input autocomplete="off" type="text" name="cardvalidity" id="cardvalidity" readonly="readonly" /></div>
             <div class="tc3_search1"><span style="width:120px;">真实姓名:</span><input autocomplete="off" type="text" name="realName" id="realName" readonly="readonly"/></div>
             <div class="tc3_search1"><span style="width:120px;">银行卡号:</span><input autocomplete="off" type="text" name="bankCardNo" id="bankCardNo" readonly="readonly"/></div>
             <div class="tc3_search1"><span style="width:120px;">联系号码:</span><input autocomplete="off" type="text" name="phone" id="phone" readonly="readonly"/></div>
 
         </div>
         <div class="left" style="width: 100%;margin-top: 20px">
-            <p class="tc_btm"><a class="tc_btm_r"  onclick="authenticNCheck(3);" id="noC">退回</a><a class="tc_btm_r"  onclick="authenticYCheck(2);" id="isC">通过</a></p>
+            <p class="tc_btm"><a class="tc_btm_r"  onclick="authenticNCheck(3);" id="noC">不通过</a><a class="tc_btm_r"  onclick="authenticYCheck(2);" id="isC">通过</a></p>
 
 
         </div>
@@ -123,6 +126,7 @@
             <select id="selectedd">
                 <option value="1">贵宾会员</option>
                 <option value="2">金尊会员</option>
+                <option value="3">至尊会员</option>
             </select>
         </div>
         <p class="tc_btm"><a class="tc_btm_l tc_qx3" onclick="quxiao()">取消</a><a class="tc_btm_r" href="javascript:void(0);" onclick="savaHy();">保存</a></p>
@@ -222,9 +226,11 @@
                 if(st==0){rowstr += "<span>未提交</span>";}
                 if(st==1){rowstr += "<span>未审核</span>";}
                 if(st==2){rowstr += "<span>通过</span>";}
-                if(st==3){rowstr += "<span>退回</span>";}
+                if(st==3){rowstr += "<span>审核不通过</span>";}
+
+                //rowstr += "<span><b class=\"td_b2\" onclick=\"showCheck('"+bodyItem.daID+"')\">查看</b></span>";//旧的代码
+                rowstr += "<span><b class=\"td_b2\" onclick=\"showUserIdnetity('"+bodyItem.wxOpenID+"','"+bodyItem.agentID+"')\">查看</b></span>";//icegan--新增
 
-                rowstr += "<span><b class=\"td_b2\" onclick=\"showCheck('"+bodyItem.daID+"')\">查看</b></span>";
                 rowstr += "</td>";
                 if(bodyItem.mumberLevel==0){ rowstr += "<td><span><b class=\"td_b2\" onclick=\"editHy('"+bodyItem.id+"')\">普通会员</b></span></td>";}
                 if(bodyItem.mumberLevel==1){ rowstr += "<td><span><b class=\"td_b2\" onclick=\"editHy('"+bodyItem.id+"')\">贵宾会员</b></span></td>";}
@@ -415,6 +421,55 @@
         });
     }
 
+    /**
+     * icegan--新增显示用户认证信息
+     * @param wxOpenId
+     * @param agentId
+     */
+    function showUserIdnetity(wxOpenId, agentId) {
+        $.ajax({
+            type: "GET",
+            url: ctx+'/userIdentity/getUserIdentityInfo.do',
+            data: {wxOpenId:wxOpenId,agentId:agentId},
+            async: false,
+            dataType: "json",
+            success: function(data){
+                console.log(data)
+                if(data.code == "000000") {
+                    var obj = data.result;
+                    $("#idCardNo").val(obj.idcard);
+                    $("#realName").val(obj.username);
+                    $("#bankCardNo").val(obj.accountno);
+                    $("#phone").val(obj.mobile);
+                    $("#cardvalidity").val(obj.cardvalidity);
+                    $('#wxOpenId').val(obj.useropenid);
+                    $('#agentId').val(obj.agentId);
+
+                    $("#idCardImaPo").attr("src",obj.idcarddfrontpic);
+                    $("#idCardImaSi").attr("src",obj.idcarddbackpic);
+                    $("#headPortrait").attr("src",obj.bankcardpic);
+
+                    if(obj.status==2 || obj.status==3){
+
+                        $("#isC").hide()
+                        $("#noC").hide()
+                    }
+
+                    if(obj){
+
+
+                    }else{
+
+                        tsalert("系统繁忙,请稍后再来!");
+                    }
+                    tanKuang($('.tcbox3'));
+                }else if(data.code == '999999'){
+                    tsalert(data.message);
+                }
+            }
+        });
+    }
+
     function editHy(id) {
 
         $.ajax({
@@ -466,6 +521,41 @@
         })
     }
 
+    //icegan--新增审核不通过
+    function userIdentityNCheck(check) {
+        var authenticId=$("#authenticId").val();
+        var wxOpenId = $('#wxOpenId').val();
+        var agentId = $('#agentId').val();
+        $.ajax({
+            type: "POST",
+            url:  ctx+'/userIdentity/verify.do',
+            data:{wxOpenId:wxOpenId, agentId:agentId, status:check},
+            async: false,
+            dataType: "json",
+            success: function(data){
+                qx_tan($('.tcbox3'));
+                location.reload()
+            }
+        })
+    }
+    //icegan--新增审核通过
+    function userIdentityYCheck(check) {
+        var authenticId=$("#authenticId").val();
+        var wxOpenId = $('#wxOpenId').val();
+        var agentId = $('#agentId').val();
+        $.ajax({
+            type: "POST",
+            url:  ctx+'/userIdentity/verify.do',
+            data:{wxOpenId:wxOpenId, agentId:agentId, status:check},
+            async: false,
+            dataType: "json",
+            success: function(data){
+                qx_tan($('.tcbox3'));
+                location.reload()
+            }
+        })
+    }
+
     function editInte(id) {
 
         $.ajax({

+ 633 - 0
src/main/webapp/WEB-INF/views/sale/agent/saleintegrallist.jsp

@@ -0,0 +1,633 @@
+<%@ page language="java" contentType="text/html; charset=utf-8"
+         pageEncoding="utf-8"%>
+<%@ include file="../../../taglibs/taglibs.jsp"%>
+<%pageContext.setAttribute("root", request.getContextPath()); %>
+<!doctype html>
+<html>
+<head>
+    <title>销售员积分管理</title>
+    <meta http-equiv="Cache-Control" content="no-siteapp">
+    <meta http-equiv="Cache-Control" content="no-transform">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+    <link rel="stylesheet" href="${root}/resources/js/light/css/jquery.lightbox-0.5.css" />
+    <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/netstyle/css/main.css"/>
+    <script src="${root}/resources/js/jquery-1.7.js" type="text/javascript"></script>
+    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/sessionout.js"></script>
+    <script src="${root}/resources/netstyle/js/page.js" type="text/javascript"></script>
+    <script src="${root}/resources/js/light/js/jquery.lightbox-0.5.js" type="text/javascript"></script>
+    <script type="text/javascript">
+        var ctx = "${root}";
+        var proArray = new Array();
+    </script>
+
+</head>
+<body>
+<div>
+    <p class="main_r_t cc"><span class="span2">当前位置:</span><span>销售员积分管理</span>
+    </p>
+    <form id="queryDiggerList">
+        <div class="act_list">
+            <div class="list_search1">
+                <span>销售员ID:</span> <input style="width:70px;" type="text" name="saleId" id = "query_saleId"/>
+                <span>代理品牌:</span> <input style="width:70px;" type="text" name="agentBrandNames" id = "query_agentBrandNames"/>
+                <span>微信昵称:</span> <input style="width:70px;" type="text" name="saleWxnc" id = "query_saleWxncc"/>
+                <span>加入渠道:</span><input style="width:70px;" type="text" name="saleChannel" id = "query_saleChannel"/>
+            </div>
+            </div>
+            <div class="list_search1">
+                <span>姓名:</span> <input style="width:70px;" type="text" name="saleName" id = "query_saleName"/>
+                <span>手机号码:</span> <input style="width:70px;" type="text" name="salePhone" id = "query_salePhone"/>
+            </div>
+                <a class="list_button" style="background-color: #CE0000;" onclick="resetForm();">重置</a>
+                <a class="list_button" onclick="queryDiggerList()">查询</a>
+                <a class="list_button" onclick="exportDiggerList()">导出</a>
+            </div>
+            <div id="appendId" class="overflow_main"></div>
+        </div>
+    </form>
+</div>
+<div class="tc_newts" id="tishialert">
+    <div class="tcnewts_main">
+        <img class="newts_xxx"  onclick="qx_tan($('#tishitc'));" src="${pageContext.request.contextPath}/resources/images/tan_xxx.png">
+        <h3>温馨提示</h3>
+        <p id="tishiwen"></p>
+        <div class="newts_btn" style="text-align:center;"	><a class="btn2" onclick="qx_tan($('#tishialert'));" style="text-align: center;margin-right:0px;">我知道了</a></div>
+    </div>
+</div>
+<!-- 弹出的审核页面-->
+<div class="tcbox3">
+    <div class="tcbox_main"  style="width:900px;height:550px; overflow:auto">
+        <div style="width: 100%;height: 50px;background-color: #0c91d0"><p style="float: left;margin-top: 10px;font-size: 18px;margin-left: 10px;">身份认证审核</p></div>
+        <div class="new_price cc" style="width: 100%;height: 200px">
+            <div class="left left1" style="width: 200px;height: 200px;">
+                <img src="${root}/resources/images/photoerr.png" id="idCardImaPo" onerror="this.src='${root}/resources/images/photoerr.png'" style="width: 100%;height: 100%"/>
+
+            </div>
+            <div class="left left1" style="width: 200px;height: 200px">
+                <img src="${root}/resources/images/photoerr.png" id="idCardImaSi" onerror="this.src='${root}/resources/images/photoerr.png'" style="width: 100%;height: 100%"/>
+            </div>
+            <div class="left left1" style="width: 200px;height: 200px; ">
+                <img src="${root}/resources/images/photoerr.png" id="headPortrait" onerror="this.src='${root}/resources/images/photoerr.png'" style="width: 100%;height: 100%" />
+
+            </div>
+        </div>
+        <div class="left" style="width: 100%">
+            <input type="hidden" name="id" id="authenticId" />
+            <input type="hidden" name="wxOpenId" id="wxOpenId" />
+            <input type="hidden" name="agentId" id="agentId" />
+            <div class="tc3_search1"><span style="width:120px;">身份证号:</span><input autocomplete="off" type="text" name="idCardNo" id="idCardNo" readonly="readonly" /></div>
+            <div class="tc3_search1"><span style="width:120px;">身份证有效期:</span><input autocomplete="off" type="text" name="cardvalidity" id="cardvalidity" readonly="readonly" /></div>
+            <div class="tc3_search1"><span style="width:120px;">真实姓名:</span><input autocomplete="off" type="text" name="realName" id="realName" readonly="readonly"/></div>
+            <div class="tc3_search1"><span style="width:120px;">银行卡号:</span><input autocomplete="off" type="text" name="bankCardNo" id="bankCardNo" readonly="readonly"/></div>
+            <div class="tc3_search1"><span style="width:120px;">联系号码:</span><input autocomplete="off" type="text" name="phone" id="phone" readonly="readonly"/></div>
+
+        </div>
+        <div class="left" style="width: 100%;margin-top: 20px">
+            <p class="tc_btm"><a class="tc_btm_r"  onclick="authenticNCheck(3);" id="noC">不通过</a><a class="tc_btm_r"  onclick="authenticYCheck(2);" id="isC">通过</a></p>
+
+
+        </div>
+
+        <img class="tc_xxx tc_xxx3" src="${root}/resources/images/tan_xxx.png" />
+    </div>
+</div>
+
+<div class="tcbox4" >
+    <div class="tcbox_main"  style="width:600px;height:400px; overflow:auto">
+        <div style="width: 100%;height: 50px;background-color: #0c91d0"><p style="float: left;margin-top: 10px;font-size: 18px;margin-left: 10px;">修改会员等级</p></div>
+
+        <input type="hidden" name="id" id="cheshangId1" />
+        <div class="tc3_search1"><span style="width:120px;">用户账号名:</span><input autocomplete="off" type="text" name="idCardNo" id="daName1" readonly="readonly" /></div>
+        <div class="tc3_search1"><span style="width:120px;">联系号码:</span><input autocomplete="off" type="text" name="idCardNo" id="daPhone1" readonly="readonly" /></div>
+
+        <div class="tc3_search1"><span style="width:120px;">请选择会员等级:</span>
+            <select id="selectedd">
+                <option value="1">贵宾会员</option>
+                <option value="2">金尊会员</option>
+                <option value="3">至尊会员</option>
+            </select>
+        </div>
+        <p class="tc_btm"><a class="tc_btm_l tc_qx3" onclick="quxiao()">取消</a><a class="tc_btm_r" href="javascript:void(0);" onclick="savaHy();">保存</a></p>
+
+    </div>
+</div>
+<!-- 修改积分弹窗-->
+<div class="tcbox2">
+    <div class="tcbox_main"  style="width:600px;height:400px; overflow:auto">
+        <div style="width: 100%;height: 50px;background-color: #0c91d0"><p style="float: left;margin-top: 10px;font-size: 18px;margin-left: 10px;">修改用户积分</p></div>
+        <input type="hidden" name="id" id="cheshangId" />
+        <div class="tc3_search1"><span style="width:120px;">用户账号名:</span><input autocomplete="off" type="text" name="idCardNo" id="daName" readonly="readonly" /></div>
+        <div class="tc3_search1"><span style="width:120px;">联系号码:</span><input autocomplete="off" type="text" name="idCardNo" id="daPhone" readonly="readonly" /></div>
+        <div class="tc3_search1"><span style="width:120px;">积分余额:</span><input autocomplete="off" type="text" name="idCardNo" id="integral"  /></div>
+        <p class="tc_btm"><a class="tc_btm_l tc_qx3" href="javascript:;">取消</a><a class="tc_btm_r" href="javascript:void(0);" onclick="savaInte();">保存</a></p>
+        <img class="tc_xxx tc_xxx2" src="${root}/resources/images/tan_xxx.png" />
+    </div>
+</div>
+</div>
+
+
+<div class="tc_newts" id="brandtc">
+    <div class="tcnewts_main">
+        <img class="newts_xxx"  onclick="qx_tan($('#brandtc'));" src="${pageContext.request.contextPath}/resources/images/tan_xxx.png">
+        <h3 style="margin-bottom:5px;">请选择关注的品牌(最多选择5个)</h3>
+        <input type="hidden" id="brand_id" value="" />
+        <table>
+            <tbody>
+            <c:forEach items="${brandBeanList}" var="br" varStatus="brs">
+                <c:if test="${brs.index % 4 == 0}">
+                    <tr style="height:30px;">
+                </c:if>
+                <td style="padding-right:20px;">
+                    <input style="margin-right: 5px;" id="brands_${br.id}" name="brands" type="checkbox" value="${br.id}"><label for="brands_${br.id}">${br.name}</label>
+                </td>
+                <c:if test="${brs.index % 4 == 3 or brs.last}">
+                    </tr>
+                </c:if>
+            </c:forEach>
+            </tbody>
+        </table>
+        <div class="newts_btn"><a class="btn2" id="tishiqr" onclick="confirmBrands()">确认</a></div>
+    </div>
+</div>
+
+<div class="public_prompt" id="tsalert">您输入的信息有误,请确认后重新输入</div>
+
+<!-- -->
+
+</body>
+<script src="${root}/resources/js/index.js" type="text/javascript"></script>
+<script type="text/javascript">
+    var getHead={getDiggerHead:function(obj){
+            var rowstr = "<tr>";
+            rowstr += "<th rowspan='2'>全选<b class=\"dd_choose all\" wade=\"all\" onclick=\"confirmDigger(this)\"></b></th>";
+            rowstr += "<th rowspan='2'>销售员ID</th>";
+            rowstr += "<th rowspan='2'>姓名</th>";
+            rowstr += "<th rowspan='2'>手机号码</th>";
+            rowstr += "<th rowspan='2'>微信昵称</th>";
+            rowstr += "<th rowspan='2'>公众号加入渠道</th>";
+            rowstr += "<th rowspan='2'>代理的品牌</th>";
+            rowstr += "<th rowspan='2'>认证</th>";
+            rowstr += "<th rowspan='2'>会员等级</th>";
+            rowstr += "<th rowspan='2'>积分</th>";
+            rowstr += "<th rowspan='2'>保证金(万)</th>";
+            rowstr += "<tr>";
+            rowstr += "</tr>";
+            return rowstr;
+        }};
+    //列表内容
+    var getListContext={getDiggerList:function(headObj,bodyObj){
+            var rowstr = "";
+            for (var i = 0; i < bodyObj.length; i++) {
+                var bodyItem = bodyObj[i];
+                rowstr += "<tr>";
+                rowstr += "<td><b class=\"dd_choose\" wade=\""+bodyItem.id+"\" onclick=\"confirmDigger(this)\"></b></td>";
+                var newDaId = showDisId(bodyItem.saleId);
+                rowstr += "<td><span>" +newDaId+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.saleName+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.salePhone+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.saleWxnc+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.saleChannel+ "</span></td>";
+                rowstr += "<td>";
+                rowstr += "<input type='hidden' value='"+bodyItem.agentBrandIds+"' id='focus_ids_"+bodyItem.id+"' name='focus_ids_"+bodyItem.id+"' />";
+                rowstr += "<span id='showBrands_"+bodyItem.id+"'>" +bodyItem.agentBrandNames+ "</span>";
+                rowstr += "</td>";
+                rowstr += "<td>"
+                var st=bodyItem.state;
+                if(st==0){rowstr += "<span>未提交</span>";}
+                if(st==1){rowstr += "<span>未审核</span>";}
+                if(st==2){rowstr += "<span>通过</span>";}
+                if(st==3){rowstr += "<span>审核不通过</span>";}
+
+                //rowstr += "<span><b class=\"td_b2\" onclick=\"showCheck('"+bodyItem.daID+"')\">查看</b></span>";//旧的代码
+                if(st != 0){
+                    rowstr += "<span><b class=\"td_b2\" onclick=\"showUserIdnetity('"+bodyItem.wxOpenid+"','"+bodyItem.agentId+"')\">查看</b></span>";//icegan--新增
+                }
+
+                rowstr += "</td>";
+
+                if(bodyItem.memberLevel==0){ rowstr += "<td><span><b class=\"td_b2\" onclick=\"editHy('"+bodyItem.id+"')\">普通会员</b></span></td>";}
+                if(bodyItem.memberLevel==1){ rowstr += "<td><span><b class=\"td_b2\" onclick=\"editHy('"+bodyItem.id+"')\">贵宾会员</b></span></td>";}
+                if(bodyItem.memberLevel==2){ rowstr += "<td><span><b class=\"td_b2\" onclick=\"editHy('"+bodyItem.id+"')\">金尊会员</b></span></td>";}
+                if(bodyItem.memberLevel==3){ rowstr += "<td><span><b class=\"td_b2\" onclick=\"editHy('"+bodyItem.id+"')\">至尊会员</b></span></td>";}
+
+                rowstr += "<td><span>" +bodyItem.integral+ "<span><b class=\"td_b2\" onclick=\"editInte('"+bodyItem.id+"')\">修改</b></span>"+"</span></td>";
+                rowstr += "<td><span>" +bodyItem.deposit+ "</span></td>";
+                rowstr += "</td>";
+
+                rowstr += "</tr>";
+            }
+            return rowstr;
+        }};
+    var url=ctx+'/saleintegral/saleList.do';
+    $(function(){
+        toDynamicQueryList('f',url, 'queryDiggerList', 'getDiggerHead', 'getDiggerList', 'appendId');
+    });
+
+    function showBrands(id,ids){
+        if(id){
+            $("#brand_id").val(id);
+        }
+        $("#brandtc").find('input:checkbox').each(function() {
+            $(this).attr('checked',false);
+        });
+        if(ids){
+            var checkIds = ids.split(",");
+            for(var i=0;i<checkIds.length;i++){
+                $("#brands_"+checkIds[i]).attr("checked","checked");
+            }
+        }
+        tanKuangMsg($("#brandtc"));
+    }
+
+    function confirmBrands(){
+        var i=0;
+        var ids = "";
+        var names = "";
+        $("#brandtc").find('input:checkbox').each(function() {
+            if ($(this).prop('checked') == true) {
+                i++;
+                ids += $(this).val()+",";
+                names += $(this).next().text()+",";
+            }
+        });
+        if(i>5){
+            tsalert("最多只能选择5项哦!");
+            return false;
+        }
+        if(ids.length>0){
+            ids = ids.substring(0,ids.length-1);
+            names = names.substring(0,names.length-1);
+        }
+        var id = $("#brand_id").val();
+        $("#focus_ids_"+id).val(ids);
+        $("#focus_names_"+id).val(names);
+        $("#showBrands_"+id).html(names);
+        qx_tan($('#brandtc'));
+    }
+
+    //显示提示弹框
+    function tsalert(content){
+        $("#tsalert").html(content);
+        setTimeout(function(){
+            $("#tsalert").fadeIn();
+        },300);
+        setTimeout(function(){
+            $("#tsalert").fadeOut();
+        },2300);
+    }
+
+    function queryDiggerList(){
+        toDynamicQueryList('f',url, 'queryDiggerList', 'getDiggerHead', 'getDiggerList', 'appendId');
+    };
+
+    function exportDiggerList(){
+        var ids='';
+        $(".dd_choose.sure").each(function(){
+            if($(this).attr("wade")!="all"){
+                ids += $(this).attr("wade")+",";
+            }
+        });
+        ids=ids.substring(0,ids.length-1);
+        window.location.href=ctx+'/saleintegral/exportSales.do?saleId='+$("#query_saleId").val()
+            +'&agentBrandNames='+$("#query_agentBrandNames").val()+'&saleWxnc='+$("#query_saleWxncc").val()
+            +'&saleChannel='+$("#query_saleChannel").val()+'&saleName='+$("#query_saleName").val()
+            +'&salePhone='+$("#query_salePhone").val()
+            +'&ids='+ids;
+    }
+
+    //重置表单搜索条件
+    function resetForm(){
+        $("#queryDiggerList input").val("");
+        $("#queryDiggerList .wadeShow").html("全部");
+    }
+
+    function saveDigger(id){
+        var agentTpSet = $("input[name='agentTp_"+id+"']:checked").val();
+        var platTpSet = $("input[name='platTp_"+id+"']:checked").val();
+        var focusBrandIds = $("#focus_ids_"+id).val();
+        var focusBrandNames = $("#focus_names_"+id).val();
+        $.ajax({
+            url:ctx+'/saleintegral/edit.do',
+            type:'post',
+            data:{'editFlag':'1','id':id,"daProvince":$("#daProvince_"+id).val(),"focusBrandIds":focusBrandIds,"focusBrandNames":focusBrandNames,"agentTpSet":agentTpSet,"platTpSet":platTpSet},
+            dataType :'json',
+            success:function(data){
+                tsalert(data.message);
+                queryDiggerList();
+            },
+            error:function(){
+                tsalert("系统繁忙,请稍后再试!");
+            }
+        });
+    }
+
+    function confirmDigger(obj) {
+        var that = $(obj);
+        var wade  =  that.attr("wade");
+        if(wade=="all"){
+            if(that.hasClass("sure")){
+                $(".dd_choose").removeClass("sure");
+            }else{
+                //给当前点击事件的目标用户打勾并且把所有其他勾去掉
+                $(".dd_choose").addClass("sure");
+            }
+        }else{
+            $(".all").removeClass("sure");
+            if(that.hasClass("sure")){
+                that.removeClass("sure");
+            }else{
+                //给当前点击事件的目标用户打勾并且把所有其他勾去掉
+                that.addClass("sure");
+            }
+        }
+    }
+
+
+
+    function showCheck(id) {
+        $.ajax({
+            type: "GET",
+            url:  ctx+'/authentic/showCheck.do',
+            // url:'https://www.weigongcheng.net/wjj-api/diggerDisplace/getOne',
+            data:{id:id},
+            async: false,
+            dataType: "json",
+            success: function(data){
+                // alert(data.message);
+                console.log(data)
+                if(data.code == "000000") {
+                    var obj = data.result;
+                    $("#idCardNo").val(obj.idCardNumber);
+                    $("#realName").val(obj.realName);
+                    $("#bankCardNo").val(obj.bankCardNumber);
+                    $("#phone").val(obj.phone);
+                    $("#authenticId").val(obj.id);
+
+                    //  $("#idCardImaPo").css("background-image","url("+obj.idCardImaPo+")")
+                    $("#idCardImaPo").attr("src",obj.idCardImaPo);
+                    $("#idCardImaSi").attr("src",obj.idCardImaSi);
+                    $("#headPortrait").attr("src",obj.headPortrait);
+
+                    //	$("#bigimg").attr("href",obj.headPortrait);
+                    if(obj.isCheck==2){
+
+                        $("#isC").hide()
+                        $("#noC").hide()
+                    }
+                    if(obj.isCheck==3){
+                        $("#isC").hide()
+                        $("#noC").hide()
+                    }
+
+
+                    if(obj){
+
+
+                    }else{
+
+                        tsalert("系统繁忙,请稍后再来!");
+                    }
+                    tanKuang($('.tcbox3'));
+                }else if(data.code == '999999'){
+                    tsalert(data.message);
+                }
+            }
+        });
+    }
+
+    /**
+     * icegan--新增显示用户认证信息
+     * @param wxOpenId
+     * @param agentId
+     */
+    function showUserIdnetity(wxOpenId, agentId) {
+        $.ajax({
+            type: "GET",
+            url: ctx+'/userIdentity/getUserIdentityInfo.do',
+            data: {wxOpenId:wxOpenId,agentId:agentId},
+            async: false,
+            dataType: "json",
+            success: function(data){
+                console.log(data)
+                if(data.code == "000000") {
+                    var obj = data.result;
+                    $("#idCardNo").val(obj.idcard);
+                    $("#realName").val(obj.username);
+                    $("#bankCardNo").val(obj.accountno);
+                    $("#phone").val(obj.mobile);
+                    $("#cardvalidity").val(obj.cardvalidity);
+                    $('#wxOpenId').val(obj.useropenid);
+                    $('#agentId').val(obj.agentId);
+
+                    $("#idCardImaPo").attr("src",obj.idcarddfrontpic);
+                    $("#idCardImaSi").attr("src",obj.idcarddbackpic);
+                    $("#headPortrait").attr("src",obj.bankcardpic);
+
+                    if(obj.status==2 || obj.status==3){
+
+                        $("#isC").hide()
+                        $("#noC").hide()
+                    }
+
+                    if(obj){
+
+
+                    }else{
+
+                        tsalert("系统繁忙,请稍后再来!");
+                    }
+                    tanKuang($('.tcbox3'));
+                }else if(data.code == '999999'){
+                    tsalert(data.message);
+                }
+            }
+        });
+    }
+
+    function editHy(id) {
+
+        $.ajax({
+            type: "POST",
+            url:  ctx+'/saleintegral/editInte.do',
+            data:{id:id},
+            async: false,
+            dataType: "json",
+            success: function(data){
+                console.log(data)
+                var obj = data.result;
+                $("#daName1").val(obj.saleName);
+                $("#cheshangId1").val(id);
+                $("#daPhone1").val(obj.salePhone);
+
+                tanKuang($('.tcbox4'));
+
+            }
+        })
+
+    }
+
+    function authenticNCheck(check) {
+        var authenticId=$("#authenticId").val()
+        $.ajax({
+            type: "POST",
+            url:  ctx+'/authentic/doCheck.do',
+            data:{id:authenticId,isCheck:check},
+            async: false,
+            dataType: "json",
+            success: function(data){
+                qx_tan($('.tcbox3'));
+                location.reload()
+            }
+        })
+    }
+    function authenticYCheck(check) {
+        var authenticId=$("#authenticId").val()
+        $.ajax({
+            type: "POST",
+            url:  ctx+'/authentic/doCheck.do',
+            data:{id:authenticId,isCheck:check},
+            async: false,
+            dataType: "json",
+            success: function(data){
+                qx_tan($('.tcbox3'));
+                location.reload()
+            }
+        })
+    }
+
+    //icegan--新增审核不通过
+    function userIdentityNCheck(check) {
+        var authenticId=$("#authenticId").val();
+        var wxOpenId = $('#wxOpenId').val();
+        var agentId = $('#agentId').val();
+        $.ajax({
+            type: "POST",
+            url:  ctx+'/userIdentity/verify.do',
+            data:{wxOpenId:wxOpenId, agentId:agentId, status:check},
+            async: false,
+            dataType: "json",
+            success: function(data){
+                qx_tan($('.tcbox3'));
+                location.reload()
+            }
+        })
+    }
+    //icegan--新增审核通过
+    function userIdentityYCheck(check) {
+        var authenticId=$("#authenticId").val();
+        var wxOpenId = $('#wxOpenId').val();
+        var agentId = $('#agentId').val();
+        $.ajax({
+            type: "POST",
+            url:  ctx+'/userIdentity/verify.do',
+            data:{wxOpenId:wxOpenId, agentId:agentId, status:check},
+            async: false,
+            dataType: "json",
+            success: function(data){
+                qx_tan($('.tcbox3'));
+                location.reload()
+            }
+        })
+    }
+
+    function editInte(id) {
+
+        $.ajax({
+            type: "POST",
+            url:  ctx+'/saleintegral/editInte.do',
+            data:{id:id},
+            async: false,
+            dataType: "json",
+            success: function(data){
+                console.log(data)
+                var obj = data.result;
+                $("#daName").val(obj.saleName);
+                $("#cheshangId").val(id);
+                $("#daPhone").val(obj.salePhone);
+                $("#integral").val(obj.integral);
+                tanKuang($('.tcbox2'));
+
+            }
+        })
+    }
+
+    function savaInte(){
+        var cheshangid=$("#cheshangId").val()
+        var jifen=$("#integral").val()
+        $.ajax({
+            type:"post",
+            url:ctx+'/saleintegral/saveInte.do',
+            data:{id:cheshangid,integral:jifen},
+            async:false,
+            dataType:"json",
+            success:function (data) {
+                console.log(data)
+                qx_tan($('.tcbox2'));
+                location.reload()
+            }
+        })
+    }
+
+    function savaHy(){
+
+        var cheshangid=$("#cheshangId1").val()
+        var dengji=$("#selectedd  option:selected").attr("value")
+
+        $.ajax({
+            type:"post",
+            url:ctx+'/saleintegral/updateHy.do',
+            data:{id:cheshangid,dengji:dengji},
+            async:false,
+            dataType:"json",
+            success:function (data) {
+                console.log(data)
+                qx_tan($('.tcbox4'));
+                location.reload()
+            }
+        })
+    }
+    function quxiao() {
+        qx_tan($('.tcbox4'));
+    }
+
+    function updatePlatTpSet(id, platTpSet){
+        $.ajax({
+            type:"post",
+            url: ctx+'/saleintegral/updatePlatTpSet.do',
+            data: {id: id, platTpSet: platTpSet},
+            async: false,
+            success: function (data) {
+                qx_tan($('.tcbox4'));
+                location.reload()
+            }
+        });
+    }
+</script>
+<style type="text/css">
+    .list_act_main span b {
+        font-weight: 400;
+        color: #038bcb;
+        cursor: pointer;
+        display: inline-block;
+        text-align: center;
+    }
+    #copy {
+        position: absolute;
+        top: 0;
+        left: 0;
+        opacity: 0;
+        z-index: -10;}
+    span input{
+        display:inline-block;
+        *zoom:1;
+        *display:inline;
+        vertical-align:middle;
+        height:24px;
+        line-height:24px;
+        padding:0 10px;
+        width:60%;
+        margin-right:10px;
+        border:1px solid #ccc;}
+</style>
+</html>

+ 387 - 0
src/main/webapp/WEB-INF/views/sale/agent/salelist_new.jsp

@@ -0,0 +1,387 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: icegan
+  Date: 2019/9/23
+  Time: 22:24
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page language="java" contentType="text/html; charset=utf-8"
+         pageEncoding="utf-8"%>
+<%@ include file="../../../taglibs/taglibs.jsp"%>
+<%pageContext.setAttribute("root", request.getContextPath()); %>
+<!doctype html>
+<html>
+<head>
+    <title>代理商置换系统-销售员管理</title>
+    <meta http-equiv="Cache-Control" content="no-siteapp">
+    <meta http-equiv="Cache-Control" content="no-transform">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+    <link rel="stylesheet" href="${root}/resources/js/light/css/jquery.lightbox-0.5.css" />
+    <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/netstyle/css/main.css"/>
+    <script src="${root}/resources/js/jquery-1.7.js" type="text/javascript"></script>
+    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/sessionout.js"></script>
+    <script src="${root}/resources/netstyle/js/page.js" type="text/javascript"></script>
+    <script src="${root}/resources/js/light/js/jquery.lightbox-0.5.js" type="text/javascript"></script>
+    <script type="text/javascript">
+        var ctx = "${root}";
+        var proArray = new Array();
+    </script>
+
+</head>
+<body>
+<div>
+    <p class="main_r_t cc"><span class="span2">当前位置:</span><span>销售员管理</span>
+    </p>
+    <form id="querySaleList">
+        <div class="act_list">
+            <div class="list_search1">
+                <c:if test="${xsyid eq '1'}">
+                    <span>销售员ID:</span> <input type="text" name="saleId" id = "query_saleId"/>
+                </c:if>
+                <c:if test="${sjhm eq '1'}">
+                    <span>手机号码:</span> <input type="text" name="salePhone" id = "query_salePhone"/>
+                </c:if>
+                <span style="margin-left: 10px;">注册时间:</span><input style="width:140px;" readonly="readonly" autocomplete="off" name="registeBegin" type="datetime" class="laydate-icon dxinput4" id="query_startTime"
+                                                                    onClick="laydate({istime:true, format:'YYYY-MM-DD hh:mm:ss' })" />
+                至 <input style="width:140px;" readonly="readonly" autocomplete="off" name="registeEnd" type="datetime" class="laydate-icon dxinput4" id="query_endTime"
+                         onClick="laydate({istime:true, format:'YYYY-MM-DD hh:mm:ss' })" />
+            </div>
+            <div class="list_search1">
+                <c:if test="${xm eq '1'}">
+                    <span>姓名:</span> <input type="text" name="saleName" id = "query_saleName"/>
+                </c:if>
+                <c:if test="${fzqy eq '1'}">
+                    <span>负责区域:</span> <input type="text" name="agentAreaNames" id = "query_agentAreaNames"/>
+                </c:if>
+                <a class="list_button" style="background-color: #CE0000;" onclick="resetForm();">重置</a>
+                <a class="list_button" onclick="querySaleList()">查询</a>
+                <a class="list_button" onclick="exportSaleList()">导出</a>
+            </div>
+            <div id="appendId" class="overflow_main"></div>
+        </div>
+    </form>
+</div>
+<div class="tc_newts" id="tishialert">
+    <div class="tcnewts_main">
+        <img class="newts_xxx"  onclick="qx_tan($('#tishitc'));" src="${pageContext.request.contextPath}/resources/images/tan_xxx.png">
+        <h3>温馨提示</h3>
+        <p id="tishiwen"></p>
+        <div class="newts_btn" style="text-align:center;"	><a class="btn2" onclick="qx_tan($('#tishialert'));" style="text-align: center;margin-right:0px;">我知道了</a></div>
+    </div>
+</div>
+<div class="tc_newts" id="tishitc">
+    <div class="tcnewts_main">
+        <img class="newts_xxx"  onclick="qx_tan($('#tishitc'));" src="${pageContext.request.contextPath}/resources/images/tan_xxx.png">
+        <h3>温馨提示</h3>
+        <p id="tishiwen"></p>
+        <div class="newts_btn"><a onclick="qx_tan($('#tishitc'));">取消</a><a class="btn2" id="tishiqr">确认</a></div>
+    </div>
+</div>
+<div class="public_prompt" id="tsalert">您输入的信息有误,请确认后重新输入</div>
+<c:forEach items="${provinceList}" var="pro">
+    <script type="text/javascript">
+        proArray.push(${pro});
+    </script>
+</c:forEach>
+</body>
+<script src="${root}/resources/js/index.js" type="text/javascript"></script>
+<script type="text/javascript">
+    var getHead={getSaleHead:function(obj){
+            var rowstr = "<tr>";
+            if(obj["xsyid"]){
+                rowstr += "<th>销售员ID</th>";
+            }
+            if(obj["xm"]){
+                rowstr += "<th>姓名</th>";
+            }
+            if(obj["sjhm"]){
+                rowstr += "<th>手机号码</th>";
+            }
+            if(obj["wxnc"]){
+                rowstr += "<th>微信昵称</th>";
+            }
+            rowstr += "<th rowspan='2'>注册时间</th>";
+            if(obj["fzqy"]){
+                rowstr += "<th>负责区域</th>";
+            }
+            if(obj["cz"]){
+                rowstr += "<th>操作</th></tr>";
+                rowstr += "<tr><th>通票设置</th>";
+            }
+            rowstr += "</tr>";
+            return rowstr;
+        }};
+
+    var getListContext={getSaleList:function(headObj,bodyObj){
+            var rowstr = "";
+            for (var i = 0; i < bodyObj.length; i++) {
+                var bodyItem = bodyObj[i];
+                rowstr += "<tr>";
+                if(headObj["xsyid"]){
+                    rowstr += "<td><span>" +showDisId(bodyItem.saleId)+ "</span></td>";
+                }
+                if(headObj["xm"]){
+                    rowstr += "<td><span>" +bodyItem.saleName+ "</span></td>";
+                }
+                if(headObj["sjhm"]){
+                    rowstr += "<td><span>" +bodyItem.salePhone+ "</span></td>";
+                }
+                if(headObj["wxnc"]){
+                    rowstr += "<td><span>" +bodyItem.saleWxnc+ "</span></td>";
+                }
+                rowstr += "<td><span>" +bodyItem.regeisterTime+ "</span></td>";
+                if(headObj["fzqy"]){
+                    var regionIds = bodyItem.agentAreaIds.split(",");
+                    var regionNames = bodyItem.agentAreaNames.split(",");
+                    rowstr += "<td>";
+                    rowstr += "<select style='width:80px;' name='pro_"+bodyItem.id+"' id='pro_"+bodyItem.id+"' onchange=\"changeCity('"+bodyItem.id+"')\">";
+                    rowstr +='<option value="">请选择省份</option>';
+                    for(var n=0;n<proArray.length;n++){
+                        if(regionIds && regionIds.length>0 && regionIds[0]==proArray[n].id){
+                            rowstr +='<option selected value="'+proArray[n].id+'">'+proArray[n].name+'</option>';
+                        }else{
+                            rowstr +='<option value="'+proArray[n].id+'">'+proArray[n].name+'</option>';
+                        }
+                    }
+                    rowstr += "</select>&nbsp;-&nbsp;";
+                    rowstr += "<select style='width:80px;' name='city_"+bodyItem.id+"' id='city_"+bodyItem.id+"' onchange=\"changeQX('"+bodyItem.id+"')\">";
+                    rowstr +='<option value="">请选择城市</option>';
+                    var regionList = bodyItem.regionList;
+                    if(regionList != null && regionList.length>0){
+                        for(var j=0;j<regionList.length;j++){
+                            if(regionList[j].regionType=='2'){
+                                if(regionIds && regionIds.length>1 && regionIds[1]==regionList[j].id){
+                                    rowstr +='<option selected value="'+regionIds[1]+'">'+regionNames[1]+'</option>';
+                                }else{
+                                    rowstr +='<option value="'+regionList[j].id+'">'+regionList[j].name+'</option>';
+                                }
+                            }
+                        }
+                    }
+                    rowstr += "</select>&nbsp;-&nbsp;"
+                    rowstr += "<select style='width:80px;' name='qx_"+bodyItem.id+"' id='qx_"+bodyItem.id+"'>";
+                    rowstr +='<option selected value="">请选择区/县</option>';
+                    if(regionList != null && regionList.length>0){
+                        for(var j=0;j<regionList.length;j++){
+                            if(regionList[j].regionType=='3'){
+                                if(regionIds && regionIds.length>2 && regionIds[2]==regionList[j].id){
+                                    rowstr +='<option selected value="'+regionIds[2]+'">'+regionNames[2]+'</option>';
+                                }else{
+                                    rowstr +='<option value="'+regionList[j].id+'">'+regionList[j].name+'</option>';
+                                }
+                            }
+                        }
+                    }
+                    rowstr += "</select>";
+                }
+                if(headObj["cz"]){
+                    if(bodyItem.platTpSet == '0'){
+                        rowstr += "<td><span>关</span><span><b class=\"td_b2\" onclick=\"updatePlatTpSet('"+bodyItem.id+"','1')\">开</b></span></td>";
+                    }else{
+                        rowstr += "<td><span>开</span><span><b class=\"td_b2\" onclick=\"updatePlatTpSet('"+bodyItem.id+"','0')\">关</b></span></td>";
+                    }
+                    rowstr += "<td><span><b class=\"td_b2\" onclick=\"editSale('"+bodyItem.id+"')\">保存</b></span>&nbsp;&nbsp;";
+                    rowstr += "<span><b class=\"td_b2\" onclick=\"confirmDel('"+bodyItem.id+"','0')\">删除</b></span></td>";
+                }
+                rowstr += "</tr>";
+            }
+            return rowstr;
+        }};
+    var url=ctx+'/sale/saleList.do';
+    $(function(){
+        toDynamicQueryList('f',url, 'querySaleList', 'getSaleHead', 'getSaleList', 'appendId');
+    });
+
+    function changeCity(saleId){
+        var pId = $("#pro_"+saleId).val();
+        var htm = "<option value=''>请选择城市</option>";
+        $.ajax({
+            url:ctx+'/sale/getSubRegion.do',
+            type:'post',
+            data:{'pId':pId},
+            dataType :'json',
+            success:function(data){
+                if(data && data.resultList){
+                    for(var i=0;i<data.resultList.length;i++){
+                        htm += "<option value='"+data.resultList[i].id+"'>"+data.resultList[i].name+"</option>";
+                    }
+                    $("#city_"+saleId).html(htm);
+                }
+            },
+            error:function(){
+                tsalert("系统繁忙,请稍后再试!");
+            }
+        });
+    }
+
+    function changeQX(saleId){
+        var pId = $("#city_"+saleId).val();
+        var htm = "<option value=''>请选择区/县</option>";
+        $.ajax({
+            url:ctx+'/sale/getSubRegion.do',
+            type:'post',
+            data:{'pId':pId},
+            dataType :'json',
+            success:function(data){
+                if(data && data.resultList){
+                    for(var i=0;i<data.resultList.length;i++){
+                        htm += "<option value='"+data.resultList[i].id+"'>"+data.resultList[i].name+"</option>";
+                    }
+                    $("#qx_"+saleId).html(htm);
+                }
+            },
+            error:function(){
+                tsalert("系统繁忙,请稍后再试!");
+            }
+        });
+    }
+
+    //显示提示弹框
+    function tsalert(content){
+        $("#tsalert").html(content);
+        setTimeout(function(){
+            $("#tsalert").fadeIn();
+        },300);
+        setTimeout(function(){
+            $("#tsalert").fadeOut();
+        },2300);
+    }
+
+    function querySaleList(){
+        toDynamicQueryList('f',url, 'querySaleList', 'getSaleHead', 'getSaleList', 'appendId');
+    };
+
+    function exportSaleList(){
+        window.location.href=ctx+'/sale/exportSales.do?&saleId='+$("#query_saleId").val()
+            +'&saleName='+$("#query_saleName").val()+'&agentAreaNames='+$("#query_agentAreaNames").val()
+            +'&salePhone='+$("#query_salePhone").val();
+    }
+
+    //重置表单搜索条件
+    function resetForm(){
+        $("#querySaleList input").val("");
+        $("#querySaleList .wadeShow").html("全部");
+    }
+
+    function confirmDel(id,flag){
+        if(!id){
+            tsalert("请选择操作记录!");
+            return;
+        }
+        if(!flag){
+            tsalert("请选择操作!");
+            return;
+        }
+        tanKuangMsg($("#tishitc"),"确认删除该销售员?");
+        $("#tishitc").find("#tishiqr").unbind().click(function(){
+            del(id,flag);
+        });
+    }
+
+    function del(id,flag){
+        if(!id){
+            tsalert("请选择操作记录!");
+            return;
+        }
+        if(!flag){
+            tsalert("请选择操作!");
+            return;
+        }
+        $.ajax({
+            url:ctx+'/sale/updown.do',
+            type:'post',
+            data:{'flag':flag,'id':id},
+            dataType :'json',
+            success:function(data){
+                qx_tan($('#tishitc'));
+                tsalert(data.message);
+                querySaleList();
+            },
+            error:function(){
+                tsalert("系统繁忙,请稍后再试!");
+            }
+        });
+    }
+
+    function editSale(id){
+        var pro = $("#pro_"+id).val();
+        var proName = $("#pro_"+id).find("option:selected").text();
+        var city = $("#city_"+id).val();
+        var cityName = $("#city_"+id).find("option:selected").text();
+        var qx = $("#qx_"+id).val();
+        var qxName = $("#qx_"+id).find("option:selected").text();
+        var ids = "";
+        var names ="";
+        if(pro){
+            ids += pro+",";
+            names += proName+",";
+        }
+        if(city){
+            ids += city+",";
+            names += cityName+",";
+        }
+        if(qx){
+            ids += qx+",";
+            names += qxName+",";
+        }
+        if(ids.length>0){
+            ids = ids.substring(0,ids.length-1);
+            names = names.substring(0,names.length-1);
+        }
+        $.ajax({
+            url:ctx+'/sale/edit.do',
+            type:'post',
+            data:{'agentAreaIds':ids,'agentAreaNames':names,'id':id},
+            dataType :'json',
+            success:function(data){
+                tsalert(data.message);
+                querySaleList();
+            },
+            error:function(){
+                tsalert("系统繁忙,请稍后再试!");
+            }
+        });
+    }
+
+    function updatePlatTpSet(id, platTpSet){
+        $.ajax({
+            type:"post",
+            url: ctx+'/saleintegral/updatePlatTpSet.do',
+            data: {id: id, platTpSet: platTpSet},
+            async: false,
+            success: function (data) {
+                qx_tan($('.tcbox4'));
+                location.reload()
+            }
+        });
+    }
+</script>
+<style type="text/css">
+    .list_act_main span b {
+        font-weight: 400;
+        color: #038bcb;
+        cursor: pointer;
+        display: inline-block;
+        text-align: center;
+    }
+    #copy {
+        position: absolute;
+        top: 0;
+        left: 0;
+        opacity: 0;
+        z-index: -10;}
+    span input{
+        display:inline-block;
+        *zoom:1;
+        *display:inline;
+        vertical-align:middle;
+        height:24px;
+        line-height:24px;
+        padding:0 10px;
+        width:60%;
+        margin-right:10px;
+        border:1px solid #ccc;}
+</style>
+</html>
+

+ 263 - 0
src/main/webapp/WEB-INF/views/sale/plat/salelist_new.jsp

@@ -0,0 +1,263 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: icegan
+  Date: 2019/9/23
+  Time: 22:25
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page language="java" contentType="text/html; charset=utf-8"
+         pageEncoding="utf-8"%>
+<%@ include file="../../../taglibs/taglibs.jsp"%>
+<%pageContext.setAttribute("root", request.getContextPath()); %>
+<!doctype html>
+<html>
+<head>
+    <title>中央后台-销售员管理</title>
+    <meta http-equiv="Cache-Control" content="no-siteapp">
+    <meta http-equiv="Cache-Control" content="no-transform">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+    <link rel="stylesheet" href="${root}/resources/js/light/css/jquery.lightbox-0.5.css" />
+    <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/netstyle/css/main.css"/>
+    <script src="${root}/resources/js/jquery-1.7.js" type="text/javascript"></script>
+    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/sessionout.js"></script>
+    <script src="${root}/resources/netstyle/js/page.js" type="text/javascript"></script>
+    <script src="${root}/resources/js/light/js/jquery.lightbox-0.5.js" type="text/javascript"></script>
+    <script src="${root}/resources/js/laydate/laydate.js"></script>
+    <script type="text/javascript">
+        var ctx = "${root}";
+        var proArray = new Array();
+    </script>
+
+</head>
+<body>
+<div>
+    <p class="main_r_t cc"><span class="span2">当前位置:</span><span>销售员管理</span>
+    </p>
+    <form id="querySaleList">
+        <div class="act_list">
+            <div class="list_search1">
+                <span>商家ID:</span> <input style="width:70px;" type="text" name="agentId" id = "query_agentId"/>
+                <span>销售员ID:</span> <input style="width:70px;" type="text" name="saleId" id = "query_saleId"/>
+                <span>负责区域:</span> <input style="width:70px;" type="text" name="agentAreaNames" id = "query_agentAreaNames"/>
+                <span>微信昵称:</span><input style="width:70px;" type="text" name="saleWxnc" id = "query_saleWxnc"/>
+                <span>加入渠道:</span><input style="width:70px;" type="text" name="saleChannel" id = "query_saleChannel"/>
+                <span style="margin-left: 10px;">注册时间:</span><input style="width:140px;" readonly="readonly" autocomplete="off" name="registeBegin" type="datetime" class="laydate-icon dxinput4" id="query_startTime"
+                                                                    onClick="laydate({istime:true, format:'YYYY-MM-DD hh:mm:ss' })" />
+                至 <input style="width:140px;" readonly="readonly" autocomplete="off" name="registeEnd" type="datetime" class="laydate-icon dxinput4" id="query_endTime"
+                         onClick="laydate({istime:true, format:'YYYY-MM-DD hh:mm:ss' })" />
+            </div>
+            <div class="list_search1">
+                <span>商家名称:</span> <input style="width:70px;" type="text" name="agentName" id = "query_agentName"/>
+                <span>姓名:</span> <input style="width:70px;" type="text" name="saleName" id = "query_saleName"/>
+                <span>手机号码:</span> <input style="width:70px;" type="text" name="salePhone" id = "query_salePhone"/>
+                <a class="list_button" style="background-color: #CE0000;" onclick="resetForm();">重置</a>
+                <!--  span>微信号:</span> <input style="width:70px;" type="text" name="saleWxh" id = "query_saleWxh"/> -->
+                <a class="list_button" style="background-color: #CE0000;" onclick="resetForm();">重置</a>
+                <a class="list_button" onclick="querySaleList()">查询</a>
+                <a class="list_button" onclick="exportSaleList()">导出</a>
+            </div>
+            <div id="appendId" class="overflow_main"></div>
+        </div>
+    </form>
+</div>
+<div class="tc_newts" id="tishialert">
+    <div class="tcnewts_main">
+        <img class="newts_xxx"  onclick="qx_tan($('#tishitc'));" src="${pageContext.request.contextPath}/resources/images/tan_xxx.png">
+        <h3>温馨提示</h3>
+        <p id="tishiwen"></p>
+        <div class="newts_btn" style="text-align:center;"	><a class="btn2" onclick="qx_tan($('#tishialert'));" style="text-align: center;margin-right:0px;">我知道了</a></div>
+    </div>
+</div>
+<div class="tc_newts" id="tishitc">
+    <div class="tcnewts_main">
+        <img class="newts_xxx"  onclick="qx_tan($('#tishitc'));" src="${pageContext.request.contextPath}/resources/images/tan_xxx.png">
+        <h3>温馨提示</h3>
+        <p id="tishiwen"></p>
+        <div class="newts_btn"><a onclick="qx_tan($('#tishitc'));">取消</a><a class="btn2" id="tishiqr">确认</a></div>
+    </div>
+</div>
+<div class="public_prompt" id="tsalert">您输入的信息有误,请确认后重新输入</div>
+</body>
+<script src="${root}/resources/js/index.js" type="text/javascript"></script>
+<script type="text/javascript">
+    var getHead={getSaleHead:function(obj){
+            var rowstr = "<tr>";
+            rowstr += "<th rowspan='2'>商家ID</th>";
+            rowstr += "<th rowspan='2'>商家名称</th>";
+            rowstr += "<th rowspan='2'>销售员ID</th>";
+            rowstr += "<th rowspan='2'>姓名</th>";
+            rowstr += "<th rowspan='2'>手机号码</th>";
+            rowstr += "<th rowspan='2'>微信昵称</th>";
+            rowstr += "<th rowspan='2'>注册时间</th>";
+            //rowstr += "<th rowspan='2'>微信号</th>";
+            rowstr += "<th rowspan='2'>加入渠道</th>";
+            rowstr += "<th rowspan='2'>代理品牌</th>";
+            rowstr += "<th rowspan='2'>负责区域</th>";
+            rowstr += "<th rowspan='2'>提报台数</th>";
+            rowstr += "<th rowspan='2'>通票设置</th>";
+            rowstr += "<th colspan='2'>状态</th>";
+            rowstr += "<th rowspan='2'>操作</th>";
+            rowstr += "</tr>";
+            rowstr += "<tr><th>注册状态</th>";
+            rowstr += "<th>商家操作</th>";
+            rowstr += "</tr>";
+            return rowstr;
+        }};
+
+    var getListContext={getSaleList:function(headObj,bodyObj){
+            var rowstr = "";
+            for (var i = 0; i < bodyObj.length; i++) {
+                var bodyItem = bodyObj[i];
+                rowstr += "<tr>";
+                rowstr += "<td><span>" +bodyItem.agentId+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.agentName+ "</span></td>";
+                rowstr += "<td><span>" +showDisId(bodyItem.saleId)+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.saleName+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.salePhone+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.saleWxnc+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.regeisterTime+ "</span></td>";
+                //rowstr += "<td><span>" +bodyItem.saleWxh+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.saleChannel+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.agentBrandNames+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.agentAreaNames+ "</span></td>";
+                rowstr += "<td><span>" +bodyItem.tbCount+ "</span></td>";
+                if("0"==bodyItem.platTpSet){
+                    rowstr += "<td><span>关</span><span><b class=\"td_b2\" onclick=\"updatePlatTpSet('"+bodyItem.id+"','1')\">开</b></span></td>";
+                }else{
+                    rowstr += "<td><span>开</span><span><b class=\"td_b2\" onclick=\"updatePlatTpSet('"+bodyItem.id+"','0')\">关</b></span></td>";
+                }
+                if("1"==bodyItem.regeisterStatus){
+                    rowstr += "<td><span>绑定</span></td>";
+                }else{
+                    rowstr += "<td><span>解绑</span></td>";
+                }
+
+                if("1"==bodyItem.agentOpt){
+                    rowstr += "<td><span>显示</span></td>";
+                    rowstr += "<td><span><b class=\"td_b2\" onclick=\"confirmUpDown('"+bodyItem.id+"','0')\">关</b></span></td>";
+                }else{
+                    rowstr += "<td><span>关闭</span></td>";
+                    rowstr += "<td><span><b class=\"td_b2\" onclick=\"confirmUpDown('"+bodyItem.id+"','1')\">开</b></span></td>";
+                }
+                /**/
+                rowstr += "</tr>";
+            }
+            return rowstr;
+        }};
+    var url=ctx+'/sale/saleList.do';
+    $(function(){
+        toDynamicQueryList('f',url, 'querySaleList', 'getSaleHead', 'getSaleList', 'appendId');
+    });
+
+    //显示提示弹框
+    function tsalert(content){
+        $("#tsalert").html(content);
+        setTimeout(function(){
+            $("#tsalert").fadeIn();
+        },300);
+        setTimeout(function(){
+            $("#tsalert").fadeOut();
+        },2300);
+    }
+
+    function querySaleList(){
+        toDynamicQueryList('f',url, 'querySaleList', 'getSaleHead', 'getSaleList', 'appendId');
+    };
+
+    function exportSaleList(){
+        window.location.href=ctx+'/sale/exportSales.do?agentId='+$("#query_agentId").val()
+            +'&agentName='+$("#query_agentName").val()+'&saleId='+$("#query_saleId").val()
+            +'&saleName='+$("#query_saleName").val()+'&agentAreaNames='+$("#query_agentAreaNames").val()
+            +'&salePhone='+$("#query_salePhone").val()
+            +'&saleWxnc='+$("#query_saleWxnc").val()+'&saleChannel='+$("#query_saleChannel").val();
+    }
+
+    //重置表单搜索条件
+    function resetForm(){
+        $("#querySaleList input").val("");
+        $("#querySaleList .wadeShow").html("全部");
+    }
+
+    function confirmUpDown(id,flag){
+        if(!id){
+            tsalert("请选择操作记录!");
+            return;
+        }
+        if(!flag){
+            tsalert("请选择操作!");
+            return;
+        }
+        tanKuangMsg($("#tishitc"),"确认对该销售员进行操作?");
+        $("#tishitc").find("#tishiqr").unbind().click(function(){
+            updown(id,flag);
+        });
+    }
+
+    function updown(id,flag){
+        if(!id){
+            tsalert("请选择操作记录!");
+            return;
+        }
+        if(!flag){
+            tsalert("请选择操作!");
+            return;
+        }
+        $.ajax({
+            url:ctx+'/sale/updown.do',
+            type:'post',
+            data:{'flag':flag,'id':id},
+            dataType :'json',
+            success:function(data){
+                qx_tan($('#tishitc'));
+                tsalert(data.message);
+                querySaleList();
+            },
+            error:function(){
+                tsalert("系统繁忙,请稍后再试!");
+            }
+        });
+    }
+
+    function updatePlatTpSet(id, platTpSet){
+        $.ajax({
+            type:"post",
+            url: ctx+'/saleintegral/updatePlatTpSet.do',
+            data: {id: id, platTpSet: platTpSet},
+            async: false,
+            success: function (data) {
+                qx_tan($('.tcbox4'));
+                location.reload()
+            }
+        });
+    }
+
+</script>
+<style type="text/css">
+    .list_act_main span b {
+        font-weight: 400;
+        color: #038bcb;
+        cursor: pointer;
+        display: inline-block;
+        text-align: center;
+    }
+    #copy {
+        position: absolute;
+        top: 0;
+        left: 0;
+        opacity: 0;
+        z-index: -10;}
+    span input{
+        display:inline-block;
+        *zoom:1;
+        *display:inline;
+        vertical-align:middle;
+        height:24px;
+        line-height:24px;
+        padding:0 10px;
+        width:60%;
+        margin-right:10px;
+        border:1px solid #ccc;}
+</style>
+</html>
+

+ 2 - 1
src/main/webapp/resources/js/index.js

@@ -1,6 +1,7 @@
 //弹框动画
 function tanKuang(class1){
-    setTimeout(function(){alert($(".sharebg").length);
+    setTimeout(function(){
+        //alert($(".sharebg").length);//icegan-注释掉,无意义的弹出框
         class1.addClass("am-acti-active");  
         if($(".sharebg").length>0){
             $(".sharebg").addClass("sharebg-active");