zq-erp/src/main/java/com/matrix/biz/action/BizUserAction.java
@@ -5,7 +5,6 @@ import com.matrix.biz.dao.BizUserDao; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.StringUtils; import com.matrix.system.hive.action.util.QueryUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -44,18 +43,6 @@ } /** * 批量设置为销售员 * @param ids * @param status 1=销售员,0=普通用户 * @return */ @RequestMapping(value = "/setUserSales") @ResponseBody public AjaxResult setUserSales(String ids,Integer status){ List<String> userIds = StringUtils.strToCollToString(ids, ","); bizUserDao.updateSalesByIds(userIds,status); return new AjaxResult(AjaxResult.STATUS_SUCCESS,"修改成功"); } } zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java
New file @@ -0,0 +1,47 @@ package com.matrix.core.pojo; import lombok.Data; /** * 通用的验证返回参数 */ @Data public class VerificationResult { private boolean result; private String msg; private Object info; private VerificationResult(){ } public static VerificationResult buildVerificationResult(boolean result){ VerificationResult obj=new VerificationResult(); obj.result=result; return obj ; } public static VerificationResult buildVerificationResult(boolean result,String msg){ VerificationResult obj=new VerificationResult(); obj.result=result; obj.msg=msg; return obj ; } public static VerificationResult buildVerificationResult(boolean result,Object info){ VerificationResult obj=new VerificationResult(); obj.result=result; obj.info=info; return obj ; } } zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java
@@ -22,6 +22,22 @@ */ public final static String FX_APPLY_CONDITION = "FX_APPLY_CONDITION"; /** * 申请条件 1 无条件 */ public final static String FX_APPLY_CONDITION_WTJ = "1"; /** * 申请条件 1 消费任意产品 */ public final static String FX_APPLY_CONDITION_XFRYCP = "2"; /** * 申请条件 1 消费指定产品 */ public final static String FX_APPLY_CONDITION_XFZDCP = "3"; /** * 申请条件 1 消费指定金额 */ public final static String FX_APPLY_CONDITION_XCZDJE = "4"; /** * 推广计划 */ public final static String FX_TG_PLAN = "FX_TG_PLAN"; zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
@@ -1,5 +1,7 @@ package com.matrix.system.fenxiao.service; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -8,8 +10,10 @@ import com.matrix.biz.bean.BizUser; import com.matrix.biz.dao.BizUserDao; import com.matrix.biz.service.BizUserService; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.VerificationResult; import com.matrix.core.tools.StringUtils; import com.matrix.system.common.bean.BusParameterSettings; import com.matrix.system.common.bean.SysUsers; @@ -17,31 +21,13 @@ import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant; import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao; import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao; import com.matrix.system.fenxiao.dto.ChangeSaleManGradeDto; import com.matrix.system.fenxiao.dto.DelFyfaApplyDto; import com.matrix.system.fenxiao.dto.DelSaleManGradeApplyDto; import com.matrix.system.fenxiao.dto.FyfaManageDto; import com.matrix.system.fenxiao.dto.ShopSalesmanAppliingDto; import com.matrix.system.fenxiao.dto.ShopSalesmanApplyDto; import com.matrix.system.fenxiao.dto.ShopSalesmanDetailDto; import com.matrix.system.fenxiao.dto.UnbundlingSaleManDto; import com.matrix.system.fenxiao.dto.UpdateFyfaDto; import com.matrix.system.fenxiao.dto.UpdateTgjhDto; import com.matrix.system.fenxiao.dto.UpdateTgtpDto; import com.matrix.system.fenxiao.dto.*; import com.matrix.system.fenxiao.entity.ShopSalesmanApply; import com.matrix.system.fenxiao.entity.ShopSalesmanGrade; import com.matrix.system.fenxiao.vo.FyfaManageVo; import com.matrix.system.fenxiao.vo.SalesmanBasicDetailVo; import com.matrix.system.fenxiao.vo.ShopCustomDetailVo; import com.matrix.system.fenxiao.vo.ShopOrderDetailVo; import com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo; import com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo; import com.matrix.system.fenxiao.vo.ShopSalesmanGradeVo; import com.matrix.system.fenxiao.vo.*; import com.matrix.system.hive.action.util.QueryUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.matrix.system.shopXcx.dao.ShopOrderDao; import com.matrix.system.shopXcx.dao.ShopOrderDaoV2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -74,6 +60,9 @@ @Autowired BizUserService bizUserService; @Autowired ShopOrderDaoV2 shopOrderDaoV2; /** * 申请成为推广员 * @param openId @@ -94,11 +83,11 @@ ShopSalesmanApply shopSalesmanApply=new ShopSalesmanApply(); shopSalesmanApply.setUserId(openId); shopSalesmanApply.setCreateBy(loginUser.getNickName()); shopSalesmanApply.setCreateBy(MatrixConstance.SYSTEM_USER); shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF); shopSalesmanApply.setCompanyId(loginUser.getCompanyId()); shopSalesmanApply.setUpdateBy(loginUser.getNickName()); shopSalesmanApply.setUpdateBy(MatrixConstance.SYSTEM_USER); Date date = new Date(); shopSalesmanApply.setCreateTime(date); shopSalesmanApply.setUpdateTime(date); @@ -139,6 +128,40 @@ } /** * 判断是否满足申请成为分销员的条件 */ public VerificationResult isAbleToBeAnSalesman(String openId) { BizUser bizUser = bizUserDao.findByOpenId(openId); VerificationResult verificationResult=null; //申请条件 BusParameterSettings applyCondition = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_CONDITION, bizUser.getCompanyId()); switch (applyCondition.getParamValue()){ case FenxiaoSettingConstant.FX_APPLY_CONDITION_WTJ: VerificationResult.buildVerificationResult(true); case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFZDCP: VerificationResult.buildVerificationResult(true); case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFRYCP: //判断用户是否有确认收货的产品 int receivedOrderCount= shopOrderDaoV2.selectReceivedOrderCount(openId); if(receivedOrderCount>0){ verificationResult= VerificationResult.buildVerificationResult(true); }else{ verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费任意产品后再申请!"); } case FenxiaoSettingConstant.FX_APPLY_CONDITION_XCZDJE: VerificationResult.buildVerificationResult(true); default: VerificationResult.buildVerificationResult(true); } return verificationResult; } public IPage<ShopSalesmanApplyVo> findShopSalesmanApplyList(Page<ShopSalesmanApplyVo> page, ShopSalesmanApplyDto shopSalesmanApplyDto) { return shopSalesmanApplyDao.findShopSalesmanApplyList(page,shopSalesmanApplyDto); } zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java
@@ -76,6 +76,20 @@ return ajaxResult; } @ApiOperation(value = "查询分销商城开关", notes = "1开启分销,2关闭分销") @GetMapping(value = "/getSalesMallSetting") public AjaxResult getSalesMallSwith() { BusParameterSettings fxSwith = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_SWITCH, HostInterceptor.getCompanyId()); BusParameterSettings fxModel = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_MODEL, HostInterceptor.getCompanyId()); AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("查询成功"); ajaxResult.putInMap("fxSwith",fxSwith.getParamValue()); ajaxResult.putInMap("fxModel",fxModel.getParamValue()); return ajaxResult; } @ApiOperation(value = "申请成为推广员", notes = "传入参数invitationId 邀请人openId ,非必填 例: {invitationId:openId}") @ApiResponses({ zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
File was renamed from zq-erp/src/main/java/com/matrix/system/shopXcx/api/WxUserAction.java @@ -1,7 +1,6 @@ package com.matrix.system.shopXcx.api; package com.matrix.system.shopXcx.api.action; import com.matrix.biz.bean.BizUser; import com.matrix.biz.dao.BizUserDao; import com.matrix.biz.service.BizUserService; import com.matrix.component.redis.RedisUserLoginUtils; import com.matrix.component.tools.HttpCurlUtil; @@ -12,6 +11,7 @@ import com.matrix.core.web.BaseAction; import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.interceptor.HostInterceptor; import com.matrix.system.shopXcx.api.WeChatApiTools; import net.sf.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -39,8 +39,7 @@ @Autowired private RedisUserLoginUtils redisUserLoginUtils; @Autowired private BizUserDao bizUserDao; @Autowired WeChatApiTools weChatApiTools; @@ -127,37 +126,6 @@ AjaxResult findUserInfo() { BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class); String openId = loginUser.getOpenId(); BizUser bizUser = bizUserService.findByOpenId(openId); //处理用户当前所在店铺 /* if(bizUser.getStaff()!=null){ //当前用户是员工账号 bizUser.setBusiness(bussinesssDao.selectById(bizUser.getStaff().getBusinessId())); bizUser.setRole(bizUser.getStaff().getRole()); }else{ //当前用户是boss账号 bizUser.setBusiness(bussinesssDao.findByUserOpenId(bizUser.getOpenId())); bizUser.setRole(AppConstance.User_ROLE_BOSS); }*/ AjaxResult res = new AjaxResult(); res.putInMap("userInfo", bizUser); res.setStatus(AjaxResult.STATUS_SUCCESS); return res; } /** * 获取其他用户简化信息 * @author JIANGYOUYAO * @email 935090232@qq.com * @date 2018年9月5日 * @param openId * @return */ @RequestMapping(value = "/getOtherUserInfo/{openId}") public @ResponseBody AjaxResult getOtherUserInfo(@PathVariable String openId) { BizUser bizUser = bizUserService.findByOpenId(openId); AjaxResult res = new AjaxResult(); res.putInMap("userInfo", bizUser); zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDao.java
@@ -78,4 +78,6 @@ public List<Map<String,Object>> selectOrderStatusCount(String openId); public int batchUpdateOrderStatus(@Param("list") List<ShopOrder> list); } zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDaoV2.java
New file @@ -0,0 +1,13 @@ package com.matrix.system.shopXcx.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.matrix.system.shopXcx.bean.ShopOrder; /** * @description 订单表 */ public interface ShopOrderDaoV2 extends BaseMapper<ShopOrder> { /** 统计已收货订单数 */ int selectReceivedOrderCount(String openId); } zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDaoV2.xml
New file @@ -0,0 +1,12 @@ <?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.shopXcx.dao.ShopOrderDaoV2"> <select id="selectReceivedOrderCount" resultType="java.lang.Integer"> select count(*) from shop_order where user_id = #{openId} and order_status in (4,5) </select> </mapper> zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html
@@ -21,14 +21,7 @@ <div class="col-md-2 col-xs-12"> <!-- 功能按钮部分 --> <div class=""> <button onclick="setUserSales('1')" type="button" class="btn btn-success btn-sm" matrix:btn="shopUser-exchangeScore"> <i class="fa fa-plus"></i>设为销售员 </button> <button onclick="setUserSales('0')" type="button" class="btn btn-success btn-sm" matrix:btn="shopUser-exchangeScore"> <i class="fa fa-minus-square"></i> 解除销售员 </button> </div> </div> <div class="col-md-10 col-xs-12"> @@ -199,63 +192,14 @@ function buildOperate(value, row, index){ var html = ""; html += '<div class="btn-group">' if (row.userVip == 1) { html += btns[0].replace('VALUE',value) html += btns[1].replace('VALUE',value) } html += '</div>'; return html; } function exchangeScore(_userId) { layer.open({ type : 2, title : "兑换积分", area : [ MUI.SIZE_L, '400px' ], maxmin : true, content : [ basePath+'/admin/bizUserScore/intoExchangePage?userId=' + _userId] }) } function getScoreFlow(_userId) { layer.open({ type : 2, title : "积分流水", area : [ MUI.SIZE_L, '400px' ], maxmin : true, content : [ basePath+'/admin/redirect/shop/user-score-flow?userId=' + _userId] }) } //设置用户销售员身份 function setUserSales(_status) { var ids = myGrid.getSelectItemsIds("userId"); if(ids.length < 1){ layer.msg("请选择要操作的数据", { icon : 5 }); return false; } var url = basePath + "/admin/bizUser/setUserSales?ids=" + ids + "&status=" + _status; if(_status == '1'){ MTools.handleItem(url,"确认要将这" + ids.split(",").length + "个用户设置为销售员吗?",function(){ myGrid.serchData(1) }); } else { MTools.handleItem(url,"确认要取消这" + ids.split(",").length + "个用户的销售员身份吗?",function(){ myGrid.serchData(1) }); } } </script> <!--权限按钮--> <script matrix:btn="shopUser-exchangeScore"> btns[0] = '<button type="button" class="btn btn-info mr10" onClick="exchangeScore(\'VALUE\')">兑换积分</button>' </script> <script matrix:btn="shopUser-scoreFlow"> btns[1] = '<button type="button" class="btn btn-primary ml10" onClick="getScoreFlow(\'VALUE\')">查看流水</button>' </script> </body> </html>