zq-erp/src/main/java/com/matrix/core/exception/GlobleExceptionResolver.java
@@ -7,7 +7,6 @@ import com.matrix.system.common.bean.ProjException; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.dao.ProjExceptionDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; @@ -28,6 +27,7 @@ private static final String TRUE = "true"; /** * 忽略一些特定的异常 */ zq-erp/src/main/java/com/matrix/system/common/service/impl/SysFunctionServiceImpl.java
@@ -4,6 +4,7 @@ import com.matrix.core.constance.SystemErrorCode; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.ModelUtils; import com.matrix.core.tools.WebUtil; import com.matrix.system.common.authority.DefaultAuthorityManager; @@ -365,11 +366,14 @@ } else { // 非一级节点找到父节点后存入 SysFunction parentFn = allFnMap.get(String.valueOf(function.getFnParentId())); List<SysFunction> childs = parentFn.getChilds(); if (childs == null) { parentFn.setChilds(new ArrayList<SysFunction>()); if(parentFn!=null){ List<SysFunction> childs = parentFn.getChilds(); if (childs == null) { parentFn.setChilds(new ArrayList<SysFunction>()); } parentFn.getChilds().add(function); } parentFn.getChilds().add(function); } } zq-erp/src/main/java/com/matrix/system/fenxiao/dao/BizUserDao.java
New file @@ -0,0 +1,14 @@ package com.matrix.system.fenxiao.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.matrix.system.fenxiao.entity.BizUser; /** * @description 推广员申请记录 * @author jyy * @date 2021-03-10 15:22 */ public interface BizUserDao extends BaseMapper<BizUser> { } zq-erp/src/main/java/com/matrix/system/fenxiao/entity/BizUser.java
New file @@ -0,0 +1,188 @@ package com.matrix.system.fenxiao.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.matrix.core.anotations.Extend; import lombok.Data; import java.util.Date; /** * @description 用户表 * @author jyy */ @Data @TableName("biz_user") public class BizUser { @Extend private static final long serialVersionUID = 1L; /** * 主键 */ private String userId; /** * 真实姓名 */ private String userName; /** * 密码 */ private String userPassword; /** * 用户昵称 */ private String nickName; /** * 头像 */ private String avatarUrl; /** * 微信openid用户唯一标识 */ private String openId; /** * 用户在开发平台的唯一标识符 */ private String unionId; /** * 性别 1、男 2、女 0、未知 */ private String gender; /** * 手机号码 */ private String phoneNumber; /** * 用户所在地 */ private String area; /** * 用户所在城市 */ private String city; /** * 用户所在省份 */ private String province; /** * 用户所在国家 */ private String country; /** * 会话密匙 */ private String sessionKey; /** * 最后登录时间 */ private Date lastLoginTime; /** * 用户状态 */ private Integer userStatus; /** * vip等级 */ private Integer userVip; /** * 到期时间 */ private Date userExpiryTime; /** * 认证信息 */ private String userAuthentication; /** * 用户是否授权 1、是 2、否 */ private Integer userIsAuthorize; /** * 用户临时名称 */ private String userTempName; /** * 用户临时头像 */ private String userTempAvatarUrl; /** * 用户类型 1、普通用户 2、会员 3、游客 */ private Integer userType; /** * 用户总积分 */ private Integer totalScore; /** * 用户当前积分 */ private Integer currentScore; /** * 上级用户openId */ private String parentOpenId; /** * 绑定上级用户时间 */ private Date bindingParentTime; /** * 是否是销售员(1=是,0=否) */ private Integer isSales; } zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java
@@ -17,7 +17,6 @@ import com.matrix.system.hive.dao.ShoppingGoodsDao; import com.matrix.system.hive.dao.SysProjUseDao; import com.matrix.system.hive.dao.SysVipInfoDao; import com.matrix.system.hive.plugin.message.StringUtil; import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.system.hive.service.MoneyCardUseService; import com.matrix.system.hive.service.SysProjUseService; @@ -323,7 +322,7 @@ Object tel = objects.get(1); if (tel != null) { String telStr = tel.toString(); SysVipInfo vipInfo = vipInfoDao.selectByPhone(telStr); SysVipInfo vipInfo = vipInfoDao.selectByPhone(telStr,sysUsers.getCompanyId()); if (vipInfo == null) { vipInfo = new SysVipInfo(); vipInfo.setShopId(sysUsers.getShopId()); @@ -380,7 +379,7 @@ Object tel = objects.get(1); if (tel != null) { String telStr = tel.toString(); SysVipInfo vipInfo = vipInfoDao.selectByPhone(telStr); SysVipInfo vipInfo = vipInfoDao.selectByPhone(telStr,sysUsers.getCompanyId()); if (vipInfo == null) { vipInfo = new SysVipInfo(); vipInfo.setShopId(sysUsers.getShopId()); zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java
@@ -189,7 +189,7 @@ public int selectSecondTotalRecord(@Param("record") SysVipInfo sysVipInfo); public SysVipInfo selectByPhone(String phone); public SysVipInfo selectByPhone(@Param("phone") String phone,@Param("companyId") Long companyId); zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
@@ -116,7 +116,7 @@ } if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "PHONE", sysVipInfo.getPhone(), "company_id",sysVipInfo.getCompanyId() )) { throw new GlobleException("手机已被注册!"); throw new GlobleException(sysVipInfo.getPhone()+"手机已被注册!"); } } @@ -400,7 +400,7 @@ SysVipInfo vipInfo = new SysVipInfo(); vipInfo.setVipNo(objects.get(0).toString()); SysVipInfo exist = sysVipInfoDao.selectByPhone(objects.get(3).toString()); SysVipInfo exist = sysVipInfoDao.selectByPhone(objects.get(3).toString(),sysUsers.getCompanyId()); if (exist != null) { continue; } zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WXShopOrderAction.java
@@ -216,7 +216,7 @@ } shopActivitiesGroupJoinDao.updateByModel(groupJoin); SysVipInfo sysVipInfo = sysVipInfoDao.selectByPhone(order.getUserTel()); SysVipInfo sysVipInfo = sysVipInfoDao.selectByPhone(order.getUserTel(),order.getCompanyId()); if (sysVipInfo != null) { sysVipInfo.setIsDeal(SysVipInfo.DEAL_VIP); sysVipInfoDao.update(sysVipInfo); zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java
@@ -10,6 +10,7 @@ import com.matrix.system.common.bean.BusParameterSettings; import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.dao.BusParameterSettingsDao; import com.matrix.system.common.interceptor.HostInterceptor; import com.matrix.system.hive.bean.MoneyCardUse; import com.matrix.system.hive.bean.MoneyCardUseFlow; import com.matrix.system.hive.bean.SysVipInfo; @@ -187,7 +188,7 @@ } shopActivitiesGroupJoinDao.updateByModel(groupJoin); SysVipInfo sysVipInfo = sysVipInfoDao.selectByPhone(order.getUserTel()); SysVipInfo sysVipInfo = sysVipInfoDao.selectByPhone(order.getUserTel(), order.getCompanyId()); if(sysVipInfo!=null){ sysVipInfo.setIsDeal(SysVipInfo.DEAL_VIP); sysVipInfoDao.update(sysVipInfo); zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxMoneyCardUseAction.java
@@ -94,6 +94,7 @@ BeanUtils.copyProperties(item, vo); return vo; }).collect(Collectors.toList()); System.out.println(rows.get(0).getId()); return AjaxResult.buildSuccessInstance(rows); } zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSkinCheckAction.java
@@ -4,6 +4,7 @@ import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.StringUtils; import com.matrix.system.common.interceptor.HostInterceptor; import com.matrix.system.hive.bean.SysSkinCheckRecord; import com.matrix.system.hive.bean.SysSkinDetail; import com.matrix.system.hive.bean.SysVipInfo; @@ -77,7 +78,7 @@ }); sysSkinCheckRecord.setSkinDetails(detailList); SysVipInfo vipInfo = vipInfoDao.selectByPhone(sysSkinCheckRecord.getTelphone()); SysVipInfo vipInfo = vipInfoDao.selectByPhone(sysSkinCheckRecord.getTelphone(), HostInterceptor.getCompanyId()); AjaxResult result=AjaxResult.buildSuccessInstance(Arrays.asList(sysSkinCheckRecord)); result.putInMap("vipInfo",vipInfo); return result; zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java
@@ -223,7 +223,7 @@ @ResponseBody public AjaxResult getUserPro(@PathVariable String phone) { SysVipInfo vipInfo = vipInfoDao.selectByPhone(phone); SysVipInfo vipInfo = vipInfoDao.selectByPhone(phone,HostInterceptor.getCompanyId()); if (vipInfo == null) { throw new GlobleException("会员不存在"); @@ -275,7 +275,7 @@ public @ResponseBody AjaxResult createServiceOrder(@RequestBody Onlinebooking onlinebooking) { SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class); SysVipInfo vipInfo = vipInfoDao.selectByPhone(sysVipInfo.getPhone()); SysVipInfo vipInfo = vipInfoDao.selectByPhone(sysVipInfo.getPhone(),HostInterceptor.getCompanyId()); SysProjUse sysProjUse = projUseDao.selectById(Long.parseLong(onlinebooking.getProductId() + "")); Date yyTime = DateUtil.stringToDate(onlinebooking.getTimeStr(), DateUtil.DATE_FORMAT_MM); SysProjServices sysProjServices = new SysProjServices(); @@ -369,7 +369,7 @@ @ResponseBody public AjaxResult findServiceOrderList(@RequestBody @Validated ErpServiceOrderListDto orderListDto) { SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class); SysVipInfo vipInfo= vipInfoDao.selectByPhone(sysVipInfo.getPhone()); SysVipInfo vipInfo= vipInfoDao.selectByPhone(sysVipInfo.getPhone(),HostInterceptor.getCompanyId()); orderListDto.setVipId(vipInfo.getId()); List<ErpServiceOrderListVo> apiServiceOrderListInPage = projServicesDao.findWxServiceOrderList(orderListDto); return AjaxResult.buildSuccessInstance(apiServiceOrderListInPage,"查询成功"); zq-erp/src/main/resources/config/application.properties
@@ -8,9 +8,13 @@ #spring.datasource.password=123456 #spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 spring.datasource.username=xc_shop spring.datasource.password=xc_shop123!@# spring.datasource.url=jdbc:mysql://124.70.222.34/xc_shop?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 #spring.datasource.username=xc_shop #spring.datasource.password=xc_shop123!@# #spring.datasource.url=jdbc:mysql://124.70.222.34/xc_shop?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 spring.datasource.username=hive spring.datasource.password=hive123!@# spring.datasource.url=jdbc:mysql://124.70.222.34/hive_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 zq-erp/src/main/resources/config/db/increment/推广员.sql
@@ -207,7 +207,6 @@ ADD COLUMN `total_score_count` decimal(20, 2) NULL COMMENT '支付总积分' AFTER `score_count`; ALTER TABLE `shop_order` DROP COLUMN `score_pay`, ADD COLUMN `score_pay` int(20) NULL COMMENT '支付积分' AFTER `company_id`; zq-erp/src/main/resources/config/system.properties
@@ -30,7 +30,7 @@ redis.password=xcong123 #\u5BA2\u6237\u7AEF\u8D85\u65F6\u65F6\u95F4\u5355\u4F4D\u662F\u6BEB\u79D2 \u9ED8\u8BA4\u662F2000 redis.timeout=10000 redis.database=1 redis.database=2 redis_time_out=1800000 cookie_time_out=36000 zq-erp/src/main/resources/mybatis/mapper/fenxiao/BizUserDao.xml
New file @@ -0,0 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.matrix.system.fenxiao.dao.BizUserDao"> </mapper> zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
@@ -1207,7 +1207,7 @@ <select id="selectByPhone" resultMap="SysVipInfoMapSimple"> select * from sys_vip_info where PHONE = #{phone} select * from sys_vip_info where PHONE = #{phone} and company_id=#{companyId} </select> zq-erp/src/test/java/com/matrix/BizUserToVipInfoTool.java
New file @@ -0,0 +1,93 @@ package com.matrix; import com.matrix.core.tools.StringUtils; import com.matrix.system.constance.Dictionary; import com.matrix.system.fenxiao.dao.BizUserDao; import com.matrix.system.fenxiao.entity.BizUser; import com.matrix.system.hive.bean.SysVipInfo; import com.matrix.system.hive.dao.SysVipInfoDao; import com.matrix.system.hive.service.CodeService; import com.matrix.system.hive.service.SysVipInfoService; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; /** * bizuser转到vipinfo表工具类 * * @author jiangyouyao * @email 512061637@qq.com * @date 2019年2月25日 */ @RunWith(SpringRunner.class) @SpringBootTest(classes = {ZqErpApplication.class},webEnvironment =SpringBootTest.WebEnvironment.RANDOM_PORT) public class BizUserToVipInfoTool { @Autowired BizUserDao bizUserDao; @Autowired SysVipInfoDao sysVipInfoDao; @Autowired CodeService codeService; @Autowired SysVipInfoService sysVipInfoService; @Test @Transactional public void addSettings(){ HashMap columnMap=new HashMap(); columnMap.put("company_id",17); List<BizUser> bizUsers = bizUserDao.selectByMap(columnMap); for (BizUser bizUser : bizUsers) { SysVipInfo sysVipInfo = sysVipInfoDao.selectByPhone(bizUser.getPhoneNumber(),17L); if(sysVipInfo!=null){ sysVipInfo=sysVipInfoService.findByOpenId(bizUser.getOpenId()); } if(sysVipInfo!=null){ sysVipInfo.setNickName(bizUser.getNickName()); sysVipInfo.setAvatarUrl(bizUser.getAvatarUrl()); sysVipInfo.setOpenId(bizUser.getOpenId()); sysVipInfo.setSessionKey(bizUser.getSessionKey()); sysVipInfoDao.update(sysVipInfo); }else{ SysVipInfo sysVipInfoNew = new SysVipInfo(); if(bizUser.getGender()!=null){ sysVipInfoNew.setSex(bizUser.getGender().equals("1")?"男":"女"); } sysVipInfoNew.setNickName(bizUser.getNickName()); sysVipInfoNew.setAvatarUrl(bizUser.getAvatarUrl()); sysVipInfoNew.setIsSales(SysVipInfo.NOT_SALES); sysVipInfoNew.setOpenId(bizUser.getOpenId()); sysVipInfoNew.setSessionKey(bizUser.getSessionKey()); sysVipInfoNew.setCompanyId(17L); sysVipInfoNew.setShopId(13L); sysVipInfoNew.setArrivalWay("微商城"); sysVipInfoNew.setVipName("微信用户"); sysVipInfoNew.setVipState(Dictionary.VIP_STATE_HY); sysVipInfoNew.setVipType(Dictionary.VIP_TYPE_NOCARD); sysVipInfoNew.setIsDeal(SysVipInfo.UNDEAL_VIP); sysVipInfoNew.setVipNo(StringUtils.getRandomString(10)); sysVipInfoNew.setCity(bizUser.getCity()); sysVipInfoNew.setArea(bizUser.getArea()); sysVipInfoNew.setProvince(bizUser.getProvince()); sysVipInfoNew.setPhone(bizUser.getPhoneNumber()); sysVipInfoNew.setPhoto(bizUser.getAvatarUrl()); sysVipInfoService.add(sysVipInfoNew); } System.out.println("处理进度"+ bizUsers.indexOf(bizUser)+"/"+bizUsers.size()); } } }