1 files deleted
12 files modified
| | |
| | | |
| | | import com.matrix.core.constance.MatrixConstance; |
| | | import com.matrix.core.pojo.AjaxResult; |
| | | import com.matrix.core.pojo.PaginationVO; |
| | | import com.matrix.core.tools.EncrypUtil; |
| | | import com.matrix.core.tools.StringUtils; |
| | | import com.matrix.core.tools.WebUtil; |
| | | import com.matrix.system.app.dto.AddVipDto; |
| | |
| | | import com.matrix.system.common.bean.SysUsers; |
| | | import com.matrix.system.common.dao.CustomerDataDictionaryDao; |
| | | import com.matrix.system.common.tools.DataAuthUtil; |
| | | import com.matrix.system.common.tools.PasswordUtil; |
| | | import com.matrix.system.hive.action.BaseController; |
| | | import com.matrix.system.hive.action.util.QueryUtil; |
| | | import com.matrix.system.hive.bean.*; |
| | | import com.matrix.system.hive.dao.MoneyCardUseDao; |
| | | import com.matrix.system.hive.dao.VipAnswerDao; |
| | | import com.matrix.system.hive.plugin.util.CollectionUtils; |
| | | import com.matrix.system.hive.service.MoneyCardUseService; |
| | |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.security.NoSuchAlgorithmException; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | int limit = vipInfoListDto.getPageSize(); |
| | | vipInfoListDto.setOffset(offset); |
| | | vipInfoListDto.setLimit(limit); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | return AjaxResult.buildSuccessInstance(sysVipInfoService.findVipAddressBook(vipInfoListDto)); |
| | | } |
| | | |
| | |
| | | private String plates; |
| | | |
| | | /** |
| | | * 所有客户权限 |
| | | */ |
| | | private String coustomer; |
| | | |
| | | /** |
| | | * 功能集合 |
| | | */ |
| | | @Extend |
| | |
| | | @Extend |
| | | private String menuKeys; |
| | | |
| | | public String getCoustomer() { |
| | | return coustomer; |
| | | } |
| | | |
| | | public void setCoustomer(String coustomer) { |
| | | this.coustomer = coustomer; |
| | | } |
| | | |
| | | public Integer getIsDefault() { |
| | | return isDefault; |
| | | } |
| | |
| | | private String shopName; |
| | | |
| | | |
| | | private String allCustomer; |
| | | |
| | | private String roleName; |
| | | |
| | |
| | | private String departName; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 入职时间区域查询 |
| | | **/ |
| | |
| | | @Extend |
| | | private SysCompany company; |
| | | |
| | | public String getAllCustomer() { |
| | | return allCustomer; |
| | | } |
| | | |
| | | public void setAllCustomer(String allCustomer) { |
| | | this.allCustomer = allCustomer; |
| | | } |
| | | |
| | | public Long getSuId() { |
| | | return suId; |
| | | } |
| | |
| | | public Set<IProcessor> getProcessors(final String dialectPrefix) { |
| | | final Set<IProcessor> processors = new HashSet<IProcessor>(); |
| | | processors.add(new ButtonRoleAttributeTagProcessor(dialectPrefix)); |
| | | processors.add(new ButtonRoleJsTagProcessor(dialectPrefix)); |
| | | processors.add(new ButtonRoleFnTagProcessor(dialectPrefix)); |
| | | // This will remove the xmlns:matrix attributes we might add for IDE validation |
| | | processors.add(new StandardXmlNsTagProcessor(TemplateMode.HTML, dialectPrefix)); |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 可以查询所有会员 |
| | | * @return |
| | | */ |
| | | public static boolean hasAllCustomerAuth() { |
| | | SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); |
| | | return user.getShopRole().equals(Dictionary.FLAG_YES_Y) || user.getSuUserType().equals(AppConstance.USER_TYPE_ADMIN); |
| | | |
| | | } |
| | | } |
| | |
| | | import com.matrix.system.common.dao.CustomerDataDictionaryDao; |
| | | import com.matrix.system.common.service.SysUsersService; |
| | | import com.matrix.system.common.service.SystemDictionaryService; |
| | | import com.matrix.system.common.tools.DataAuthUtil; |
| | | import com.matrix.system.common.tools.ResponseHeadUtil; |
| | | import com.matrix.system.constance.Dictionary; |
| | | import com.matrix.system.hive.action.util.QueryUtil; |
| | |
| | | import com.matrix.system.score.dao.ScoreVipDetailDao; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.ModelMap; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.io.OutputStream; |
| | | import java.net.URLDecoder; |
| | | import java.net.URLEncoder; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | |
| | | } |
| | | |
| | | @RequestMapping(value = "/exportExcel") |
| | | public void report(ModelMap model, HttpServletRequest request, HttpServletResponse response, |
| | | public void report( HttpServletResponse response, |
| | | SysVipInfo vipInfo) throws IOException { |
| | | |
| | | if (vipInfo.getVipType() != null && !(vipInfo.getVipType().equals(""))) { |
| | | vipInfo.setVipType(URLDecoder.decode(vipInfo.getVipType(), "UTF-8")); |
| | | } |
| | | if (vipInfo.getVipName() != null && !"".equals(vipInfo.getVipName())) { |
| | | vipInfo.setVipName(URLDecoder.decode(vipInfo.getVipName(), "UTF-8")); |
| | | } |
| | | if (vipInfo.getArrivalWay() != null && !"".equals(vipInfo.getArrivalWay())) { |
| | | vipInfo.setArrivalWay(URLDecoder.decode(vipInfo.getArrivalWay(), "UTF-8")); |
| | | } |
| | | if (vipInfo.getVipState() != null && !"".equals(vipInfo.getVipState())) { |
| | | vipInfo.setVipState(URLDecoder.decode(vipInfo.getVipState(), "UTF-8")); |
| | | SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); |
| | | if(!DataAuthUtil.hasAllShopAuth()){ |
| | | vipInfo.setShopId(sysUsers.getShopId()); |
| | | } |
| | | |
| | | List<ExcelSheetPO> res = new ArrayList<>(); |
| | | ExcelSheetPO orderSheet = new ExcelSheetPO(); |
| | | String title = "每日单据明细"; |
| | | String title = "会员资料"; |
| | | orderSheet.setSheetName(title); |
| | | orderSheet.setTitle(title); |
| | | String[] header = {"会员编号", "姓名", "性别", "手机号码", "会员类型", "会员活跃度", "到店途径", "健康顾问", "所属门店"}; |
| | |
| | | import com.matrix.system.hive.service.SysVipLevelService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.ModelMap; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | |
| | | import java.io.IOException; |
| | | import java.io.OutputStream; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.net.URLDecoder; |
| | | import java.net.URLEncoder; |
| | | import java.security.NoSuchAlgorithmException; |
| | | import java.util.ArrayList; |
| | |
| | | } |
| | | |
| | | @RequestMapping(value = "/exportExcel") |
| | | public void report(ModelMap model, HttpServletRequest request, HttpServletResponse response, |
| | | public void report(HttpServletResponse response, |
| | | SysVipInfo vipInfo) |
| | | throws IOException { |
| | | |
| | | QueryUtil.setQueryLimitCom(vipInfo ); |
| | | if (vipInfo.getVipType() != null && !(vipInfo.getVipType().equals(""))) { |
| | | vipInfo.setVipType(URLDecoder.decode(vipInfo.getVipType(), "UTF-8")); |
| | | } |
| | | if (vipInfo.getVipName() != null && !"".equals(vipInfo.getVipName())) { |
| | | vipInfo.setVipName(URLDecoder.decode(vipInfo.getVipName(), "UTF-8")); |
| | | } |
| | | if (vipInfo.getArrivalWay() != null && !"".equals(vipInfo.getArrivalWay())) { |
| | | vipInfo.setArrivalWay(URLDecoder.decode(vipInfo.getArrivalWay(), "UTF-8")); |
| | | } |
| | | if (vipInfo.getVipState() != null && !"".equals(vipInfo.getVipState())) { |
| | | vipInfo.setVipState(URLDecoder.decode(vipInfo.getVipState(), "UTF-8")); |
| | | } |
| | | |
| | | |
| | | List<ExcelSheetPO> res = new ArrayList<>(); |
| | | ExcelSheetPO orderSheet = new ExcelSheetPO(); |
| | | String title = "每日单据明细"; |
| | | String title = "会员资料"; |
| | | orderSheet.setSheetName(title); |
| | | orderSheet.setTitle(title); |
| | | String[] header = {"会员编号", "姓名", "性别", "手机号码", "会员类型", "会员活跃度", "到店途径", "健康顾问", "所属门店"}; |
| | |
| | | <result property="companyId" column="company_id" /> |
| | | <result property="plates" column="plates" /> |
| | | <result property="shopAble" column="shop_able" /> |
| | | <result property="coustomer" column="coustomer" /> |
| | | </resultMap> |
| | | |
| | | |
| | |
| | | company_id, |
| | | plates, |
| | | is_default, |
| | | coustomer, |
| | | shop_able |
| | | ) |
| | | VALUES ( |
| | |
| | | #{companyId}, |
| | | #{plates}, |
| | | #{isDefault}, |
| | | #{coustomer}, |
| | | #{shopAble} |
| | | ) |
| | | </insert> |
| | |
| | | company_id, |
| | | plates, |
| | | is_default, |
| | | coustomer, |
| | | shop_able |
| | | ) |
| | | VALUES |
| | |
| | | #{item.companyId}, |
| | | #{item.plates}, |
| | | #{item.isDefault}, |
| | | #{item.coustomer}, |
| | | #{item.shopAble} |
| | | ) |
| | | </foreach> |
| | |
| | | <if test="_parameter.containsKey('shopAble')"> |
| | | shop_able = #{shopAble}, |
| | | </if> |
| | | <if test="_parameter.containsKey('coustomer')"> |
| | | coustomer = #{coustomer}, |
| | | </if> |
| | | </set> |
| | | WHERE role_id=#{roleId} |
| | | </update> |
| | |
| | | </if> |
| | | <if test="(shopAble!=null and shopAble!='') or (shopAble!='' and shopAble==0)"> |
| | | shop_able = #{shopAble}, |
| | | </if> |
| | | <if test="(coustomer!=null and coustomer!='') or (coustomer!='' and coustomer==0)"> |
| | | coustomer = #{coustomer}, |
| | | </if> |
| | | </set> |
| | | WHERE role_id=#{roleId} |
| | |
| | | company_id, |
| | | plates, |
| | | is_default, |
| | | coustomer, |
| | | shop_able |
| | | from sys_role |
| | | <where> |
| | |
| | | company_id, |
| | | plates, |
| | | is_default, |
| | | coustomer, |
| | | shop_able |
| | | from sys_role |
| | | where role_id=#{roleId} |
| | |
| | | company_id, |
| | | plates, |
| | | is_default, |
| | | coustomer, |
| | | shop_able |
| | | from sys_role |
| | | <where> |
| | |
| | | <result property="signOrder" column="SIGN_ORDER"/> |
| | | <result property="signDate" column="SIGN_DATE"/> |
| | | <result property="salarGrad" column="salarGrad"/> |
| | | <result property="allCustomer" column="allCustomer"/> |
| | | |
| | | <!-- 扩展属性 --> |
| | | <result property="shopName" column="SHOP_NAME"/> |
| | |
| | | select *, |
| | | (SELECT IF(COUNT(1)>0,'Y','N') FROM sys_role a WHERE FIND_IN_SET(a.role_id,role_ids) AND role_remark ='是') |
| | | shopRole, |
| | | (SELECT IF(COUNT(1)>0,'Y','N') FROM sys_role a WHERE FIND_IN_SET(a.role_id,role_ids) AND customer ='是') |
| | | allCustomer, |
| | | (select GROUP_CONCAT(role_name separator ',') from sys_role where find_in_set(role_id,role_ids) ) roleName, |
| | | (select com_name from sys_company where com_id=company_id) as company_name, |
| | | (select shop_name from sys_shop_info where shop_id=id) as SHOP_NAME |
| | |
| | | <select id="selectById" resultMap="SysUsersMap"> |
| | | select *, |
| | | (SELECT IF(COUNT(1)>0,'Y','N') FROM sys_role a WHERE FIND_IN_SET(a.role_id,role_ids) AND role_remark ='是') shopRole, |
| | | (SELECT IF(COUNT(1)>0,'Y','N') FROM sys_role a WHERE FIND_IN_SET(a.role_id,role_ids) AND customer ='是') |
| | | allCustomer, |
| | | (select GROUP_CONCAT(role_name separator ',') from sys_role where find_in_set(role_id,role_ids) ) roleName, |
| | | role_ids |
| | | from sys_users |
| | |
| | | select *, |
| | | (SELECT IF(COUNT(1)>0,'Y','N') FROM sys_role a WHERE FIND_IN_SET(a.role_id,role_ids) AND role_remark ='是') |
| | | shopRole, |
| | | (SELECT IF(COUNT(1)>0,'Y','N') FROM sys_role a WHERE FIND_IN_SET(a.role_id,role_ids) AND customer ='是') |
| | | allCustomer, |
| | | (select GROUP_CONCAT(role_name separator ',') from sys_role where find_in_set(role_id,role_ids) ) roleName, |
| | | role_ids |
| | | from sys_users |
| | |
| | | |
| | | <!-- 功能按钮部分 --> |
| | | <div id="option-bar" > |
| | | <button matrix:fn="mdhyzl-edit" onclick="openEdit()" type="button" class="btn btn-success btn-sm "><i |
| | | <button matrix:btn="mdhyzl-edit" onclick="openEdit()" type="button" class="btn btn-success btn-sm "><i |
| | | class="fa fa-edit"></i>编辑 |
| | | </button> |
| | | <button matrix:fn="mdhyzl-gjjl" onclick="openFollow()" type="button" class="btn btn-info btn-sm"><i class="fa fa-edit" ></i> 跟进记录</button> |
| | | <button matrix:fn="mdhyzl-khda" onclick="openArchieves()" type="button" class="btn btn-info btn-sm"><i class="fa fa-edit" ></i> 客户档案</button> |
| | | <button matrix:btn="mdhyzl-excelOut" onclick="exportExcel()" type="button" class="btn btn-info btn-sm"><i class="fa fa-download" ></i> 导出</button> |
| | | <button matrix:btn="mdhyzl-gjjl" onclick="openFollow()" type="button" class="btn btn-info btn-sm"><i class="fa fa-edit" ></i> 跟进记录</button> |
| | | <button matrix:btn="mdhyzl-khda" onclick="openArchieves()" type="button" class="btn btn-info btn-sm"><i class="fa fa-edit" ></i> 客户档案</button> |
| | | <button matrix:btn="mdhyzl-exportExcel" onclick="exportExcel()" type="button" class="btn btn-info btn-sm"><i class="fa fa-download" ></i> 导出</button> |
| | | </div> |
| | | |
| | | <!-- 数据表格部分 --> |
| | |
| | | |
| | | //导出 |
| | | function exportExcel() { |
| | | var name = $("#search-text").attr("name"); |
| | | var value = $("#search-text").val(); |
| | | var vipType = $("#vipType").val(); |
| | | var arrivalWay = $("#arrivalWay").val(); |
| | | var vipState = $("#vipState").val(); |
| | | var staffId = $("#staffId").val(); |
| | | var shopId = $("#shopId").val(); |
| | | window.location.href = basePath+"/admin/vipInfo/exportExcel?vipType=" |
| | | + encodeURI(encodeURI(vipType)) + "&arrivalWay=" |
| | | + encodeURI(encodeURI(arrivalWay)) + "&"+name+"=" |
| | | + encodeURI(encodeURI(value)) + "&vipState=" |
| | | + encodeURI(encodeURI(vipState)) + "&shopId=" + shopId |
| | | + "&staffId=" + staffId; |
| | | var param=MForm.toUrlParam("#serchform"); |
| | | window.location.href=basePath+"/hiveErp/vipInfo/exportExcel?"+param; |
| | | } |
| | | |
| | | //打开编辑界面 |
| | |
| | | <button matrix:fn="orderClub" onclick="openOrder()" type="button" class="btn btn-info btn-sm"><i class="fa fa-history"></i> 消费订单</button> |
| | | <button matrix:fn="serviceClub" onclick="openServiceOrder()" type="button" class="btn btn-info btn-sm"><i class="fa fa-history"></i> 服务单</button> |
| | | <button matrix:btn="vipInfo-add" onclick="openAdd()" type="button" class="btn btn-info btn-sm"><i class="fa fa-plus" ></i> 新增</button> |
| | | <button matrix:btn="vipInfo-excelOut" onclick="exportExcel()" type="button" class="btn btn-info btn-sm"><i class="fa fa-download" ></i> 导出</button> |
| | | <button matrix:btn="vipInfo-exportExcel" onclick="exportExcel()" type="button" class="btn btn-info btn-sm"><i class="fa fa-download" ></i> 导出</button> |
| | | <button matrix:btn="vipInfo-allot" onclick="updateVipInfos()" type="button" class="btn btn-info btn-sm"><i class="" ></i>批量设置健康顾问</button> |
| | | <button onclick="skinCheck()" type="button" class="btn btn-info btn-sm"><i class="" ></i>皮肤检测管理</button> |
| | | <button onclick="importVipInfo()" type="button" class="btn btn-info btn-sm"><i class="" ></i>导入会员</button> |
| | |
| | | |
| | | //导出 |
| | | function exportExcel() { |
| | | var name = $("#search-text").attr("name"); |
| | | var value = $("#search-text").val(); |
| | | var vipType = $("#vipType").val(); |
| | | var arrivalWay = $("#arrivalWay").val(); |
| | | var vipState = $("#vipState").val(); |
| | | var staffId = $("#staffId").val(); |
| | | window.location.href = basePath+"/admin/vipInfo/exportExcel?vipType=" |
| | | + encodeURI(encodeURI(vipType)) + "&arrivalWay=" |
| | | + encodeURI(encodeURI(arrivalWay)) + "&"+name+"=" |
| | | + encodeURI(encodeURI(value)) + "&vipState=" |
| | | + encodeURI(encodeURI(vipState)) |
| | | + "&staffId=" + staffId; |
| | | var param=MForm.toUrlParam("#serchform"); |
| | | window.location.href=basePath+"/admin/vipInfo/exportExcel?"+param; |
| | | } |
| | | |
| | | </script> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | |
| | | <label class="col-sm-2 control-label">可查询所有门店客户</label> |
| | | <div class="col-sm-4"> |
| | | <select class="form-control" name="coustomer"> |
| | | <option th:selected="${obj?.coustomer == '是'}" >是</option> |
| | | <option th:selected="${obj?.coustomer == '否'}" >否</option> |
| | | </select> |
| | | </div> |
| | | <label class="col-sm-2 control-label">是否允许门店分配本角色</label> |
| | | <div class="col-sm-4"> |
| | | <select class="form-control" name="shopAble"> |