| | |
| | | String TRANS_NOT_MYSELF = "不能转移给自己"; |
| | | |
| | | String GOODS_SURE_FAILED = "商品没有确认次数"; |
| | | |
| | | String BIRTHDAYCARD_NO_GIFT = "请先配置礼物再开启"; |
| | | } |
| | |
| | | @Data |
| | | public class AppEditUserDto extends AppBaseDto{ |
| | | |
| | | @ApiModelProperty(value = "修改类型1.昵称2.头像3.性别4.生日") |
| | | @ApiModelProperty(value = "修改类型1.昵称2.头像3.性别4.生日5.姓名") |
| | | private Integer editType; |
| | | |
| | | @ApiModelProperty(value = "修改值 性别0=男,1=女,2=未知 生日YYYY-MM-DD ") |
| | |
| | | private Integer serviceCount; |
| | | |
| | | @ApiModelProperty(value = "下次跟进时间") |
| | | private Date nextTaskTime; |
| | | private String nextTaskTime; |
| | | |
| | | @ApiModelProperty(value = "活动时间") |
| | | private Date activityTime; |
| | |
| | | |
| | | @ApiModelProperty(value="使用有效期") |
| | | private Date deadlineTime; |
| | | |
| | | @ApiModelProperty(value="使用范围1.全场2.指定商品") |
| | | private Integer useScope; |
| | | |
| | | @ApiModelProperty(value = "关联商品id") |
| | | private String relGoodsIds; |
| | | |
| | | } |
| | |
| | | public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { |
| | | HttpServletRequest request = (HttpServletRequest) servletRequest; |
| | | HttpServletResponse response = (HttpServletResponse) servletResponse; |
| | | |
| | | String requestUrl = request.getRequestURI(); |
| | | String requestUrlUpperCase = requestUrl.toUpperCase(); |
| | | if(requestUrlUpperCase.contains("EXPORT") |
| | | ||requestUrlUpperCase.contains("IMPORTTEMPLATE") |
| | | ){ |
| | | filterChain.doFilter(request, response); |
| | | return; |
| | | } |
| | | RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response); |
| | | getRequestParams(wrapper); |
| | | |
| | |
| | | |
| | | // 返回的结果 |
| | | String content = responseWrapper.getTextContent(); |
| | | String requestUrl = request.getRequestURI(); |
| | | log.info("-------------------- Response Data ----------------------"); |
| | | log.info(requestUrl + " -> " + content); |
| | | |
| | |
| | | package com.ruoyi.common.core.utils; |
| | | |
| | | import java.util.*; |
| | | |
| | | import org.springframework.util.AntPathMatcher; |
| | | import com.ruoyi.common.core.constant.Constants; |
| | | import com.ruoyi.common.core.text.StrFormatter; |
| | | import org.springframework.util.AntPathMatcher; |
| | | |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 字符串工具类 |
| | |
| | | } |
| | | return result.toArray(new String[0]); |
| | | } |
| | | |
| | | public static boolean checkString(String originalString, String targetString) { |
| | | // 使用逗号分隔字符串 |
| | | String[] stringArray = originalString.split(","); |
| | | // 转换为列表 |
| | | List<String> stringList = Arrays.asList(stringArray); |
| | | // 检查目标字符串是否在列表中 |
| | | return stringList.contains(targetString); |
| | | } |
| | | } |
| | |
| | | package com.ruoyi.file.utils; |
| | | |
| | | import cn.hutool.core.img.ImgUtil; |
| | | import cn.hutool.extra.qrcode.QrCodeUtil; |
| | | import com.aliyun.oss.ClientException; |
| | | import com.aliyun.oss.OSS; |
| | |
| | | import com.ruoyi.common.core.utils.uuid.IdUtils; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.awt.*; |
| | | import java.io.*; |
| | | import java.util.Calendar; |
| | | |
| | |
| | | public class OBSUploadUtils { |
| | | |
| | | public static void main(String[] args) throws Exception { |
| | | String activityId = "123"; |
| | | String backImageUrl = "2023/8/3/6742e22f748349429e454c9c6ba168ee.jpg"; |
| | | String fileUrl = null; |
| | | File qrCodeFile = new File("/home/image/qrcode.png"); |
| | | // 二维码内容 |
| | | String text = "https://wxapp.hhhrt.cn/mini/activity?"+activityId; |
| | | String text = "https://wxapp.hhhrt.cn/mini/coupon"; |
| | | // 生成二维码 |
| | | QrCodeUtil.generate(text, 100, 100, qrCodeFile); |
| | | ByteArrayOutputStream out = new ByteArrayOutputStream(); |
| | | InputStream codeStream = new FileInputStream(qrCodeFile); |
| | | InputStream backStream = OBSUploadUtils.getOSSInputStream(backImageUrl); |
| | | // 将图片合成在一起 |
| | | ImgUtil.pressImage( |
| | | backStream, // 主图片 |
| | | out, // 输出图片 |
| | | ImgUtil.read(codeStream).getScaledInstance(200, 200, Image.SCALE_DEFAULT), //水印图片 |
| | | 0, //x坐标修正值。 默认在中间,偏移量相对于中间偏移 |
| | | 350, //y坐标修正值。 默认在中间,偏移量相对于中间偏移 |
| | | 1.0f |
| | | ); |
| | | InputStream inputStream = new ByteArrayInputStream(out.toByteArray()); |
| | | fileUrl = OBSUploadUtils.uploadInputStream(inputStream,activityId); |
| | | fileUrl = OBSUploadUtils.uploadInputStream(codeStream,"couponCode"); |
| | | System.out.println(fileUrl); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "导出活动参与记录列表") |
| | | public void exportPageMgtActivityRecord( MgtActivityRecordPageDto mgtActivityRecordPageDto, HttpServletResponse response) { |
| | | Page<MgtActivityRecordPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtActivityRecordPageVo> activityRecordPageVoList = activityService.pageMgtActivityRecord(page,mgtActivityRecordPageDto); |
| | | ExcelUtil<MgtActivityRecordPageVo> util = new ExcelUtil<MgtActivityRecordPageVo>(MgtActivityRecordPageVo.class); |
| | | util.exportExcel(response, activityRecordPageVoList, "商品列表"); |
| | |
| | | @ApiOperation(value = "导出商品列表") |
| | | public void exportPageMgtGoods( MgtGoodsPageDto mgtGoodsPageDto, HttpServletResponse response) { |
| | | Page<MgtGoodsPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtGoodsPageVo> mgtGoodsPageVoList = goodsService.pageMgtGoods(page,mgtGoodsPageDto); |
| | | ExcelUtil<MgtGoodsPageVo> util = new ExcelUtil<MgtGoodsPageVo>(MgtGoodsPageVo.class); |
| | | util.exportExcel(response, mgtGoodsPageVoList, "商品列表"); |
| | |
| | | |
| | | @ApiModelProperty(value = "商品数量") |
| | | private Integer goodsNum; |
| | | |
| | | @ApiModelProperty(value = "活动二维码地址") |
| | | private String activityCode; |
| | | } |
| | |
| | | public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { |
| | | HttpServletRequest request = (HttpServletRequest) servletRequest; |
| | | HttpServletResponse response = (HttpServletResponse) servletResponse; |
| | | |
| | | String requestUrl = request.getRequestURI(); |
| | | String requestUrlUpperCase = requestUrl.toUpperCase(); |
| | | if(requestUrlUpperCase.contains("EXPORT") |
| | | ||requestUrlUpperCase.contains("IMPORTTEMPLATE") |
| | | ){ |
| | | filterChain.doFilter(request, response); |
| | | return; |
| | | } |
| | | RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response); |
| | | getRequestParams(wrapper); |
| | | |
| | |
| | | |
| | | // 返回的结果 |
| | | String content = responseWrapper.getTextContent(); |
| | | String requestUrl = request.getRequestURI(); |
| | | log.info("-------------------- Response Data ----------------------"); |
| | | log.info(requestUrl + " -> " + content); |
| | | |
| | |
| | | WHEN 2 THEN '已结束' |
| | | END activityStatus, |
| | | ta.propaganda_poster propagandaPoster, |
| | | COUNT(ag.activity_id) goodsNum |
| | | COUNT(ag.activity_id) goodsNum, |
| | | ta.activity_code activityCode |
| | | FROM t_activity ta |
| | | LEFT JOIN t_activity_goods ag ON ta.activity_id = ag.activity_id AND ag.del_flag = 0 |
| | | WHERE ta.del_flag = 0 AND shop_flag = 1 OR (shop_flag = 2 AND FIND_IN_SET(#{param.shopId}, ta.applicable_shop) > 0) |
| | |
| | | |
| | | @RequestMapping(value = "/addMerMember", method = RequestMethod.POST) |
| | | @ApiOperation(value = "新增会员") |
| | | public R addMerMember(@RequestBody MerMemberAddDto merMemberAddDto) { |
| | | public R<Long> addMerMember(@RequestBody MerMemberAddDto merMemberAddDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merMemberAddDto.setUserId(userId); |
| | | memberService.addMerMember(merMemberAddDto); |
| | |
| | | @ApiOperation(value = "导出会员列表") |
| | | public void exportPageMgtMember(MgtMemberPageDto mgtMemberPageDto, HttpServletResponse response) { |
| | | Page<MgtMemberPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtMemberPageVo> mgtShopPageVoList = memberService.pageMgtMember(page,mgtMemberPageDto); |
| | | ExcelUtil<MgtMemberPageVo> util = new ExcelUtil<MgtMemberPageVo>(MgtMemberPageVo.class); |
| | | util.exportExcel(response, mgtShopPageVoList, "用户管理"); |
| | |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtMemberIntegralPageDto.setUserId(userId); |
| | | Page<MgtMemberIntegralPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtMemberIntegralPageVo> mgtMemberIntegralPageVoList = integralRecordService.pageMgtMemberIntegral(page,mgtMemberIntegralPageDto); |
| | | return R.ok(page.setRecords(mgtMemberIntegralPageVoList)); |
| | | } |
| | |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtMemberBrowsePageDto.setUserId(userId); |
| | | Page<MgtMemberBrowsePageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtMemberBrowsePageVo> mgtMemberBrowsePageVoList = browseRecordService.pageMgtMemberBrowse(page,mgtMemberBrowsePageDto); |
| | | ExcelUtil<MgtMemberBrowsePageVo> util = new ExcelUtil<MgtMemberBrowsePageVo>(MgtMemberBrowsePageVo.class); |
| | | util.exportExcel(response, mgtMemberBrowsePageVoList, "用户浏览记录"); |
| | |
| | | Long userId = SecurityUtils.getUserId(); |
| | | memberSuggestPageDto.setUserId(userId); |
| | | Page<MgtMemberSuggestPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtMemberSuggestPageVo> mgtMemberSuggestPageVoList = memberSuggestService.pageMgtMemberSuggest(page,memberSuggestPageDto); |
| | | ExcelUtil<MgtMemberSuggestPageVo> util = new ExcelUtil<MgtMemberSuggestPageVo>(MgtMemberSuggestPageVo.class); |
| | | util.exportExcel(response, mgtMemberSuggestPageVoList, "用户建议列表"); |
| | |
| | | int todayMonth = today.getMonthValue(); |
| | | if (birthdayMonth == todayMonth) { |
| | | appBirthdayCardVo = birthdayCardService.getUserBirthdayCard(userId,member.getRelationShopId()); |
| | | appBirthdayCardVo.setCheckBirthdayCard(1); |
| | | appBirthdayCardVo.setHaveBirthdayFlag(1); |
| | | appBirthdayCardVo.setInBirthdayFlag(1); |
| | | } else { |
| | |
| | | |
| | | |
| | | @ApiModelProperty(value = "用户昵称") |
| | | private String nickName; |
| | | private String realName; |
| | | |
| | | @ApiModelProperty(value = "手机号码") |
| | | private String phonenumber; |
| | |
| | | private Long editUserId; |
| | | |
| | | @ApiModelProperty(value = "用户昵称") |
| | | private String nickName; |
| | | private String realName; |
| | | |
| | | @ApiModelProperty(value = "手机号码") |
| | | private String phonenumber; |
| | |
| | | * 下次跟进时间 |
| | | */ |
| | | @TableField("next_task_time") |
| | | private Date nextTaskTime; |
| | | private String nextTaskTime; |
| | | /** |
| | | * 总服务次数 |
| | | */ |
| | |
| | | private Long userId; |
| | | |
| | | @ApiModelProperty(value = "用户名称") |
| | | private String nickName; |
| | | private String realName; |
| | | |
| | | @ApiModelProperty(value = "手机号码") |
| | | private String phonenumber; |
| | |
| | | private Long userId; |
| | | |
| | | @ApiModelProperty(value = "用户名称") |
| | | private String nickName; |
| | | private String realName; |
| | | |
| | | @ApiModelProperty(value = "手机号码") |
| | | private String phonenumber; |
| | |
| | | private Date lastTaskTime; |
| | | |
| | | @ApiModelProperty(value = "下次跟进任务时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date nextTaskTime; |
| | | private String nextTaskTime; |
| | | |
| | | @ApiModelProperty(value = "最近消费时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | |
| | | @Excel(name = "平台响应时间", width = 30) |
| | | @ApiModelProperty(value = "平台响应时间") |
| | | private String responseTime; |
| | | @Excel(name = "回复商户名", width = 30) |
| | | @ApiModelProperty(value = "回复商户名") |
| | | private String replayShopName; |
| | | @ApiModelProperty(value = "商户id") |
| | | private Long shopId; |
| | | @Excel(name = "商户名", width = 30) |
| | | @ApiModelProperty(value = "商户名") |
| | | private String shopName; |
| | | @Excel(name = "商户回复人姓名", width = 30) |
| | | @ApiModelProperty(value = "商户回复人姓名") |
| | | private String shopReplayUserName; |
| | |
| | | public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { |
| | | HttpServletRequest request = (HttpServletRequest) servletRequest; |
| | | HttpServletResponse response = (HttpServletResponse) servletResponse; |
| | | |
| | | String requestUrl = request.getRequestURI(); |
| | | String requestUrlUpperCase = requestUrl.toUpperCase(); |
| | | if(requestUrlUpperCase.contains("EXPORT") |
| | | ||requestUrlUpperCase.contains("IMPORTTEMPLATE") |
| | | ){ |
| | | filterChain.doFilter(request, response); |
| | | return; |
| | | } |
| | | RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response); |
| | | getRequestParams(wrapper); |
| | | |
| | |
| | | |
| | | // 返回的结果 |
| | | String content = responseWrapper.getTextContent(); |
| | | String requestUrl = request.getRequestURI(); |
| | | log.info("-------------------- Response Data ----------------------"); |
| | | log.info(requestUrl + " -> " + content); |
| | | |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.core.utils.uuid.IdUtils; |
| | | import com.ruoyi.member.domain.dto.MerBirthdayEditDto; |
| | |
| | | import com.ruoyi.member.service.birthday.BirthdayCardService; |
| | | import com.ruoyi.member.service.birthday.BirthdayGiftService; |
| | | import com.ruoyi.member.service.member.MemberGiftRecordService; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtBaseBathDto; |
| | | import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; |
| | |
| | | } |
| | | birthdayCard.setCardStatus(merBirthdayEditDto.getCardStatus()); |
| | | this.saveOrUpdate(birthdayCard); |
| | | List<BirthdayGift> birthdayGiftList = birthdayGiftService.listByCardId(birthdayCard.getCardId()); |
| | | if(merBirthdayEditDto.getCardStatus()==1){ |
| | | if(birthdayGiftList==null||birthdayGiftList.isEmpty()){ |
| | | throw new ServiceException(AppErrorConstant.BIRTHDAYCARD_NO_GIFT); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | if (plBirthdayCard != null && plBirthdayCard.getCardStatus()==1) { |
| | | // 获取生日卡对应的生日礼物列表 |
| | | List<BirthdayGift> birthdayGiftList = birthdayGiftService.listByCardId(plBirthdayCard.getCardId()); |
| | | if(!birthdayGiftList.isEmpty()){ |
| | | if(birthdayGiftList!=null&&!birthdayGiftList.isEmpty()){ |
| | | // 遍历生日礼物列表 |
| | | for (BirthdayGift birthdayGift : birthdayGiftList) { |
| | | winningProbability = birthdayGift.getWinningProbability(); |
| | |
| | | @Override |
| | | public Integer checkBirthdayCard(Long shopId){ |
| | | // 获取平台生日卡信息 |
| | | BirthdayCard plBirthdayCard = birthdayCardMapper.getPlatformBirthdayCard(shopId); |
| | | // 如果生日卡存在 |
| | | Boolean platformBirthdayCardOpen = true; |
| | | BirthdayCard plBirthdayCard = birthdayCardMapper.getMerShopBirthdayCard(0L); |
| | | if (plBirthdayCard == null || plBirthdayCard.getCardStatus()!=1) { |
| | | return 0; |
| | | platformBirthdayCardOpen = false; |
| | | }else{ |
| | | if(plBirthdayCard.getAreaFlag()==2&&!StringUtils.checkString(plBirthdayCard.getApplicableShop(),shopId.toString())){ |
| | | platformBirthdayCardOpen = false; |
| | | } |
| | | } |
| | | BirthdayCard shopBirthdayCard = birthdayCardMapper.getMerShopBirthdayCard(shopId); |
| | | // 如果生日卡存在 |
| | | Boolean shopBirthdayCardOpen = true; |
| | | if (shopBirthdayCard == null || shopBirthdayCard.getCardStatus()!=1) { |
| | | shopBirthdayCardOpen = false; |
| | | } |
| | | Integer marketingStatus = remoteShopService.getShopMarketingStatus(shopId).getData(); |
| | | if(marketingStatus<=1){ |
| | | shopBirthdayCardOpen = false; |
| | | } |
| | | if(!platformBirthdayCardOpen||!shopBirthdayCardOpen){ |
| | | return 1; |
| | | }else{ |
| | | return 0; |
| | | } |
| | | return 1; |
| | | } |
| | | } |
| | |
| | | String memberCouponId; |
| | | Integer sendUserTotal; |
| | | for(Long userId : userIdList){ |
| | | memberCouponId = IdUtils.simpleUUID(); |
| | | memberCoupon = new MemberCoupon(); |
| | | memberCoupon.setId(memberCouponId); |
| | | memberCoupon.setDelFlag(0); |
| | | memberCoupon.setCouponId(coupon.getCouponId()); |
| | | memberCoupon.setUserId(userId); |
| | | memberCoupon.setShopId(coupon.getShopId()); |
| | | memberCoupon.setCouponType(coupon.getCouponType()); |
| | | memberCoupon.setCouponStatus(coupon.getCouponStatus()); |
| | | memberCoupon.setCouponName(coupon.getCouponName()); |
| | | memberCoupon.setSendType(coupon.getSendType()); |
| | | memberCoupon.setSendTarget(coupon.getSendTarget()); |
| | | memberCoupon.setSendTimeType(coupon.getSendTimeType()); |
| | | memberCoupon.setSendTime(coupon.getSendTime()); |
| | | memberCoupon.setMoneyThreshold(coupon.getMoneyThreshold()); |
| | | memberCoupon.setDiscountMoney(coupon.getDiscountMoney()); |
| | | memberCoupon.setDiscountPercent(coupon.getDiscountPercent()); |
| | | memberCoupon.setUseScope(coupon.getUseScope()); |
| | | memberCoupon.setValidTimeType(coupon.getValidTimeType()); |
| | | memberCoupon.setValidStartTime(coupon.getValidStartTime()); |
| | | memberCoupon.setValidEndTime(coupon.getValidEndTime()); |
| | | memberCoupon.setValidDay(coupon.getValidDay()); |
| | | memberCoupon.setCouponFrom(coupon.getCouponFrom()); |
| | | memberCoupon.setReceiveTime(nowTime); |
| | | memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds()); |
| | | //有效期处理1.时间段2.领取之日起 |
| | | if(coupon.getValidTimeType()==1){ |
| | | memberCoupon.setDeadlineTime(coupon.getValidEndTime()); |
| | | }else if(coupon.getValidTimeType()==2){ |
| | | memberCoupon.setDeadlineTime(DateUtils.addDays(nowTime,coupon.getValidDay())); |
| | | if(coupon.getCouponFrom()==2){ |
| | | for(int i=0;i<coupon.getLimitNumber();i++){ |
| | | memberCouponId = IdUtils.simpleUUID(); |
| | | memberCoupon = new MemberCoupon(); |
| | | memberCoupon.setId(memberCouponId); |
| | | memberCoupon.setDelFlag(0); |
| | | memberCoupon.setCouponId(coupon.getCouponId()); |
| | | memberCoupon.setUserId(userId); |
| | | memberCoupon.setShopId(coupon.getShopId()); |
| | | memberCoupon.setCouponType(coupon.getCouponType()); |
| | | memberCoupon.setCouponStatus(coupon.getCouponStatus()); |
| | | memberCoupon.setCouponName(coupon.getCouponName()); |
| | | memberCoupon.setSendType(coupon.getSendType()); |
| | | memberCoupon.setSendTarget(coupon.getSendTarget()); |
| | | memberCoupon.setSendTimeType(coupon.getSendTimeType()); |
| | | memberCoupon.setSendTime(coupon.getSendTime()); |
| | | memberCoupon.setMoneyThreshold(coupon.getMoneyThreshold()); |
| | | memberCoupon.setDiscountMoney(coupon.getDiscountMoney()); |
| | | memberCoupon.setDiscountPercent(coupon.getDiscountPercent()); |
| | | memberCoupon.setUseScope(coupon.getUseScope()); |
| | | memberCoupon.setValidTimeType(coupon.getValidTimeType()); |
| | | memberCoupon.setValidStartTime(coupon.getValidStartTime()); |
| | | memberCoupon.setValidEndTime(coupon.getValidEndTime()); |
| | | memberCoupon.setValidDay(coupon.getValidDay()); |
| | | memberCoupon.setCouponFrom(coupon.getCouponFrom()); |
| | | memberCoupon.setReceiveTime(nowTime); |
| | | memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds()); |
| | | //有效期处理1.时间段2.领取之日起 |
| | | if(coupon.getValidTimeType()==1){ |
| | | memberCoupon.setDeadlineTime(coupon.getValidEndTime()); |
| | | }else if(coupon.getValidTimeType()==2){ |
| | | memberCoupon.setDeadlineTime(DateUtils.addDays(nowTime,coupon.getValidDay())); |
| | | } |
| | | memberCouponList.add(memberCoupon); |
| | | sendTotal = sendTotal + 1; |
| | | if(coupon.getSendType()==1){ |
| | | sendUserTotal = memberCouponService.totalMemberCouponByUserAndCoupon(userId,coupon.getCouponId()); |
| | | if(sendUserTotal!=null&&sendUserTotal>0){ |
| | | }else{ |
| | | sendPerson = sendPerson + 1; |
| | | } |
| | | } |
| | | memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1); |
| | | } |
| | | }else{ |
| | | memberCouponId = IdUtils.simpleUUID(); |
| | | memberCoupon = new MemberCoupon(); |
| | | memberCoupon.setId(memberCouponId); |
| | | memberCoupon.setDelFlag(0); |
| | | memberCoupon.setCouponId(coupon.getCouponId()); |
| | | memberCoupon.setUserId(userId); |
| | | memberCoupon.setShopId(coupon.getShopId()); |
| | | memberCoupon.setCouponType(coupon.getCouponType()); |
| | | memberCoupon.setCouponStatus(coupon.getCouponStatus()); |
| | | memberCoupon.setCouponName(coupon.getCouponName()); |
| | | memberCoupon.setSendType(coupon.getSendType()); |
| | | memberCoupon.setSendTarget(coupon.getSendTarget()); |
| | | memberCoupon.setSendTimeType(coupon.getSendTimeType()); |
| | | memberCoupon.setSendTime(coupon.getSendTime()); |
| | | memberCoupon.setMoneyThreshold(coupon.getMoneyThreshold()); |
| | | memberCoupon.setDiscountMoney(coupon.getDiscountMoney()); |
| | | memberCoupon.setDiscountPercent(coupon.getDiscountPercent()); |
| | | memberCoupon.setUseScope(coupon.getUseScope()); |
| | | memberCoupon.setValidTimeType(coupon.getValidTimeType()); |
| | | memberCoupon.setValidStartTime(coupon.getValidStartTime()); |
| | | memberCoupon.setValidEndTime(coupon.getValidEndTime()); |
| | | memberCoupon.setValidDay(coupon.getValidDay()); |
| | | memberCoupon.setCouponFrom(coupon.getCouponFrom()); |
| | | memberCoupon.setReceiveTime(nowTime); |
| | | memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds()); |
| | | //有效期处理1.时间段2.领取之日起 |
| | | if(coupon.getValidTimeType()==1){ |
| | | memberCoupon.setDeadlineTime(coupon.getValidEndTime()); |
| | | }else if(coupon.getValidTimeType()==2){ |
| | | memberCoupon.setDeadlineTime(DateUtils.addDays(nowTime,coupon.getValidDay())); |
| | | } |
| | | memberCouponList.add(memberCoupon); |
| | | sendTotal = sendTotal + 1; |
| | | if(coupon.getSendType()==1){ |
| | | sendUserTotal = memberCouponService.totalMemberCouponByUserAndCoupon(userId,coupon.getCouponId()); |
| | | if(sendUserTotal!=null&&sendUserTotal>0){ |
| | | }else{ |
| | | sendPerson = sendPerson + 1; |
| | | } |
| | | } |
| | | memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1); |
| | | } |
| | | memberCouponList.add(memberCoupon); |
| | | sendTotal = sendTotal + 1; |
| | | if(coupon.getSendType()==1){ |
| | | sendUserTotal = memberCouponService.totalMemberCouponByUserAndCoupon(userId,coupon.getCouponId()); |
| | | if(sendUserTotal!=null&&sendUserTotal>0){ |
| | | }else{ |
| | | sendPerson = sendPerson + 1; |
| | | } |
| | | } |
| | | memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1); |
| | | } |
| | | memberCouponService.saveBatch(memberCouponList); |
| | | //处理优惠券统计 |
| | |
| | | case 4: |
| | | member.setBirthday(editValue); |
| | | break; |
| | | case 5: |
| | | member.setRealName(editValue); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | |
| | | Member member = this.getByUserId(userId); |
| | | // 设置MerMemberInfoVo对象的属性值 |
| | | merMemberInfoVo.setUserId(userId); |
| | | merMemberInfoVo.setNickName(member.getNickName()); |
| | | merMemberInfoVo.setRealName(member.getRealName()); |
| | | merMemberInfoVo.setPhonenumber(member.getMobile()); |
| | | merMemberInfoVo.setAvatar(member.getAvatar()); |
| | | merMemberInfoVo.setBirthday(member.getBirthday()); |
| | |
| | | MerMemberBasicFileVo merMemberBasicFileVo = new MerMemberBasicFileVo(); |
| | | Member member = this.getByUserId(userId); |
| | | BeanUtils.copyProperties(member, merMemberBasicFileVo); |
| | | merMemberBasicFileVo.setNickName(member.getNickName()); |
| | | merMemberBasicFileVo.setRealName(member.getRealName()); |
| | | merMemberBasicFileVo.setPhonenumber(member.getMobile()); |
| | | merMemberBasicFileVo.setCreateTime(member.getCreateTime()); |
| | | /*List<MemberNurse> memberNurseList = memberNurseService.listByUserId(userId); |
| | |
| | | * @param merMemberAddDto |
| | | */ |
| | | @Override |
| | | public void addMerMember(MerMemberAddDto merMemberAddDto) { |
| | | public Long addMerMember(MerMemberAddDto merMemberAddDto) { |
| | | String phoneNumber = merMemberAddDto.getPhonenumber(); |
| | | Member oldMember = this.getByMobile(phoneNumber); |
| | | // Check if the member already exists |
| | |
| | | sysUser = new SysUser(); |
| | | sysUser.setUserName(memberId); |
| | | sysUser.setUserType("03"); |
| | | sysUser.setNickName(merMemberAddDto.getNickName()); |
| | | sysUser.setNickName(merMemberAddDto.getRealName()); |
| | | sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); |
| | | String password = "hongruitang"; |
| | | sysUser.setPassword(SecurityUtils.encryptPassword(password)); |
| | |
| | | member.setUserId(sysUser.getUserId()); |
| | | member.setDelFlag(0); |
| | | member.setFrozenFlag(0); |
| | | member.setNickName(merMemberAddDto.getNickName()); |
| | | member.setRealName(merMemberAddDto.getNickName()); |
| | | member.setNickName(merMemberAddDto.getRealName()); |
| | | member.setRealName(merMemberAddDto.getRealName()); |
| | | member.setGender(merMemberAddDto.getGender()); |
| | | member.setMobile(phoneNumber); |
| | | member.setReferrer(merMemberAddDto.getReferrer()); |
| | |
| | | memberArchiveService.saveBatch(memberArchiveList); |
| | | } |
| | | } |
| | | return sysUser.getUserId(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public void editMerMember(MerMemberEditDto merMemberEditDto) { |
| | | // 获取用户信息 |
| | | Member member = this.getByUserId(merMemberEditDto.getEditUserId()); |
| | | // 检查手机号是否已经存在 |
| | | if (!member.getMobile().equals(merMemberEditDto.getPhonenumber())) { |
| | | Member memberOld = getByMobile(merMemberEditDto.getPhonenumber()); |
| | | if (memberOld != null) { |
| | | throw new ServiceException(AppErrorConstant.MOBILE_DOUBLE); |
| | | // 获取用户信息 |
| | | Member member = this.getByUserId(merMemberEditDto.getEditUserId()); |
| | | // 检查手机号是否已经存在 |
| | | if (!member.getMobile().equals(merMemberEditDto.getPhonenumber())) { |
| | | Member memberOld = getByMobile(merMemberEditDto.getPhonenumber()); |
| | | if (memberOld != null) { |
| | | throw new ServiceException(AppErrorConstant.MOBILE_DOUBLE); |
| | | } |
| | | } |
| | | // 更新用户信息 |
| | | member.setRealName(merMemberEditDto.getRealName()); |
| | | member.setMobile(merMemberEditDto.getPhonenumber()); |
| | | member.setGender(merMemberEditDto.getGender()); |
| | | member.setReferrer(merMemberEditDto.getReferrer()); |
| | | member.setCustomerSource(merMemberEditDto.getCustomerSource()); |
| | | member.setLevel(merMemberEditDto.getLevel()); |
| | | member.setBirthday(merMemberEditDto.getBirthday()); |
| | | member.setUpdateUserId(merMemberEditDto.getUserId()); |
| | | member.setUpdateTime(new Date()); |
| | | List<String> memberNurse = merMemberEditDto.getMemberNurse(); |
| | | if(memberNurse!=null&&!memberNurse.isEmpty()){ |
| | | String memberNurseString = String.join(",", memberNurse); |
| | | member.setMemberNurse(memberNurseString); |
| | | } |
| | | this.saveOrUpdate(member); |
| | | // 更新用户手机号 |
| | | SysUser sysUser = new SysUser(); |
| | | sysUser.setUserId(merMemberEditDto.getEditUserId()); |
| | | sysUser.setPhonenumber(merMemberEditDto.getPhonenumber()); |
| | | sysUserService.updateUserMobile(sysUser); |
| | | // 删除用户的档案信息 |
| | | memberArchiveService.deleteByUserId(sysUser.getUserId()); |
| | | // 添加用户的档案信息 |
| | | List<MemberArchiveVo> achiveList = merMemberEditDto.getAchiveList(); |
| | | if (achiveList != null && !achiveList.isEmpty()) { |
| | | // 构造用户档案列表 |
| | | List<MemberArchive> memberArchiveList = achiveList.stream().map(memberArchiveVo -> { |
| | | MemberArchive memberArchive = new MemberArchive(); |
| | | memberArchive.setDelFlag(0); |
| | | memberArchive.setUserId(sysUser.getUserId()); |
| | | memberArchive.setFieldId(memberArchiveVo.getFieldId()); |
| | | memberArchive.setFieldValue(memberArchiveVo.getFieldValue()); |
| | | return memberArchive; |
| | | }).collect(Collectors.toList()); |
| | | // 批量保存用户档案信息 |
| | | memberArchiveService.saveBatch(memberArchiveList); |
| | | } |
| | | } |
| | | // 更新用户信息 |
| | | member.setRealName(merMemberEditDto.getNickName()); |
| | | member.setMobile(merMemberEditDto.getPhonenumber()); |
| | | member.setGender(merMemberEditDto.getGender()); |
| | | member.setReferrer(merMemberEditDto.getReferrer()); |
| | | member.setCustomerSource(merMemberEditDto.getCustomerSource()); |
| | | member.setLevel(merMemberEditDto.getLevel()); |
| | | member.setBirthday(merMemberEditDto.getBirthday()); |
| | | member.setUpdateUserId(merMemberEditDto.getUserId()); |
| | | member.setUpdateTime(new Date()); |
| | | List<String> memberNurse = merMemberEditDto.getMemberNurse(); |
| | | if(memberNurse!=null&&!memberNurse.isEmpty()){ |
| | | String memberNurseString = String.join(",", memberNurse); |
| | | member.setMemberNurse(memberNurseString); |
| | | } |
| | | this.saveOrUpdate(member); |
| | | // 更新用户手机号 |
| | | SysUser sysUser = new SysUser(); |
| | | sysUser.setUserId(merMemberEditDto.getEditUserId()); |
| | | sysUser.setPhonenumber(merMemberEditDto.getPhonenumber()); |
| | | sysUserService.updateUserMobile(sysUser); |
| | | // 删除用户的档案信息 |
| | | memberArchiveService.deleteByUserId(sysUser.getUserId()); |
| | | // 添加用户的档案信息 |
| | | List<MemberArchiveVo> achiveList = merMemberEditDto.getAchiveList(); |
| | | if (achiveList != null && !achiveList.isEmpty()) { |
| | | // 构造用户档案列表 |
| | | List<MemberArchive> memberArchiveList = achiveList.stream().map(memberArchiveVo -> { |
| | | MemberArchive memberArchive = new MemberArchive(); |
| | | memberArchive.setDelFlag(0); |
| | | memberArchive.setUserId(sysUser.getUserId()); |
| | | memberArchive.setFieldId(memberArchiveVo.getFieldId()); |
| | | memberArchive.setFieldValue(memberArchiveVo.getFieldValue()); |
| | | return memberArchive; |
| | | }).collect(Collectors.toList()); |
| | | // 批量保存用户档案信息 |
| | | memberArchiveService.saveBatch(memberArchiveList); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @param mobile |
| | |
| | | for (String str : memberUserIdArr) { |
| | | Member member = this.getByUserId(Long.valueOf(str)); |
| | | member.setBindingFlag(0); |
| | | member.setRelationShopId(null); |
| | | member.setRelationShopName(null); |
| | | member.setUpdateTime(new Date()); |
| | | member.setUpdateUserId(mgtMemberRelDelDto.getUserId()); |
| | | this.saveOrUpdate(member); |
| | | memberMapper.update(member,null); |
| | | } |
| | | } |
| | | } |
| | |
| | | mgtMemberGetVo.setCreateTime(member.getCreateTime()); |
| | | mgtMemberGetVo.setLastPayTime(memberTotal.getLastPayTime()); |
| | | mgtMemberGetVo.setGoodsType(member.getGoodsType()); |
| | | mgtMemberGetVo.setRelationShopName(member.getRelationShopName()); |
| | | if(member.getBindingFlag()==1){ |
| | | mgtMemberGetVo.setRelationShopName(member.getRelationShopName()); |
| | | } |
| | | mgtMemberGetVo.setIntegral(memberTotal.getTotalIntegral()); |
| | | mgtMemberGetVo.setMemberFrom(member.getCustomerSource()); |
| | | mgtMemberGetVo.setTotalActivityCount(memberTotal.getTotalActivityCount()); |
| | |
| | | import com.ruoyi.member.service.member.MemberSuggestService; |
| | | import com.ruoyi.system.api.domain.dto.AppSuggestPageDto; |
| | | import com.ruoyi.system.api.domain.dto.AppUserSuggestDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtBaseBathDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto; |
| | | import com.ruoyi.system.api.domain.poji.config.SysTag; |
| | | import com.ruoyi.system.api.domain.poji.sys.SysUser; |
| | | import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo; |
| | | import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; |
| | | import com.ruoyi.system.api.service.RemoteConfigService; |
| | | import com.ruoyi.system.api.service.RemoteShopService; |
| | | import com.ruoyi.system.api.service.RemoteUserService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | mgtShopIdByCodeDto.setShopCityCode(memberSuggestPageDto.getShopCityCode()); |
| | | mgtShopIdByCodeDto.setShopAreaCode(memberSuggestPageDto.getShopAreaCode()); |
| | | MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData(); |
| | | if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){ |
| | | memberSuggestPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds()); |
| | | }else{ |
| | | return mgtMemberSuggestPageVoList; |
| | | } |
| | | memberSuggestPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds()); |
| | | } |
| | | //处理标签为正则方便sql判断 |
| | | if(StringUtils.isNotBlank(memberSuggestPageDto.getTags())){ |
| | |
| | | } |
| | | //获取返回结果 |
| | | mgtMemberSuggestPageVoList = memberSuggestMapper.pageMgtMemberSuggest(page, memberSuggestPageDto); |
| | | if(mgtMemberSuggestPageVoList!=null&&!mgtMemberSuggestPageVoList.isEmpty()){ |
| | | HashSet<Long> shopIdSet = new HashSet<>(); |
| | | for(MgtMemberSuggestPageVo mgtMemberSuggestPageVo : mgtMemberSuggestPageVoList){ |
| | | if(mgtMemberSuggestPageVo.getShopId()!=null){ |
| | | shopIdSet.add(mgtMemberSuggestPageVo.getShopId()); |
| | | } |
| | | } |
| | | String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList())); |
| | | MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); |
| | | mgtBaseBathDto.setIds(shopJoinedString); |
| | | List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData(); |
| | | Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream() |
| | | .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); |
| | | for(MgtMemberSuggestPageVo mgtMemberSuggestPageVo : mgtMemberSuggestPageVoList){ |
| | | if(mgtMemberSuggestPageVo.getShopId()!=null){ |
| | | mgtMemberSuggestPageVo.setShopName(shopMap.get(mgtMemberSuggestPageVo.getShopId()).getShopName()); |
| | | } |
| | | } |
| | | } |
| | | return mgtMemberSuggestPageVoList; |
| | | } |
| | | |
| | |
| | | * 添加会员 |
| | | * @param merMemberAddDto |
| | | */ |
| | | void addMerMember(MerMemberAddDto merMemberAddDto); |
| | | Long addMerMember(MerMemberAddDto merMemberAddDto); |
| | | |
| | | /** |
| | | * 编辑会员 |
| | |
| | | <select id="listMerShopGoodsMemberCoupon" resultType="com.ruoyi.system.api.domain.vo.MerMemberCouponVo"> |
| | | SELECT |
| | | tuc.id memberCouponId, |
| | | tuc.use_scope, |
| | | tuc.rel_goods_ids relGoodsIds, |
| | | tuc.coupon_type couponType, |
| | | tuc.coupon_name couponName, |
| | | tuc.money_threshold moneyThreshold, |
| | |
| | | FROM t_member_coupon tuc |
| | | WHERE tuc.del_flag = 0 AND tuc.coupon_status = 1 AND tuc.user_id = #{param.userId} AND tuc.coupon_type IN (1,2,3) |
| | | AND (tuc.coupon_from = 1 OR (tuc.coupon_from = 2 AND tuc.shop_id = #{param.shopId})) |
| | | AND (tuc.use_scope = 1 OR (tuc.use_scope = 2 AND FIND_IN_SET(#{param.goodsId}, rel_goods_ids) > 0)) |
| | | <if test="param.goodsId!=null and param.goodsId!=''"> |
| | | AND (tuc.use_scope = 1 OR (tuc.use_scope = 2 AND FIND_IN_SET(#{param.goodsId}, rel_goods_ids) > 0)) |
| | | </if> |
| | | ORDER BY tuc.receive_time DESC |
| | | </select> |
| | | </mapper> |
| | |
| | | AND FIND_IN_SET(#{param.memberNurse},tm.member_nurse) > 0 |
| | | </if> |
| | | <if test="param.actStartDate!=null and param.actStartDate!=''"> |
| | | AND Date(tmt.last_pay_time) >= #{param.actStartDate} |
| | | AND Date(tmt.last_service_time) >= #{param.actStartDate} |
| | | </if> |
| | | <if test="param.actEndDate!=null and param.actEndDate!=''"> |
| | | AND Date(tmt.last_pay_time) <= #{param.actEndDate} |
| | | AND Date(tmt.last_service_time) <= #{param.actEndDate} |
| | | </if> |
| | | <if test="param.keyword != null and param.keyword != ''"> |
| | | AND (tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.referrer LIKE CONCAT('%',#{param.keyword},'%')) |
| | |
| | | tm.create_time createTime, |
| | | tmt.last_pay_time lastPayTime, |
| | | tm.goods_type goodsType, |
| | | tm.relation_shop_name relationShopName, |
| | | CASE binding_flag WHEN 1 THEN tm.relation_shop_name ELSE "" END relationShopName, |
| | | tmt.total_integral integral, |
| | | tm.referrer referrer, |
| | | tm.customer_source memberFrom, |
| | |
| | | LEFT JOIN t_member_total tmt ON tm.member_id = tmt.member_id |
| | | WHERE tm.del_flag = 0 |
| | | <if test="param.keyword != null and param.keyword != ''"> |
| | | AND (tm.member_no LIKE CONCAT('%',#{param.keyword},'%') OR tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.nick_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(#{param.keyword},tm.member_nurse) > 0) |
| | | AND (tm.user_id LIKE CONCAT('%',#{param.keyword},'%') OR tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.nick_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(#{param.keyword},tm.member_nurse) > 0) |
| | | </if> |
| | | <if test="param.belongDistrict != null and param.belongDistrict != ''"> |
| | | AND tm.belong_district = #{param.belongDistrict} |
| | |
| | | AND FIND_IN_SET(#{param.goodsType},tm.goods_type) > 0 |
| | | </if> |
| | | <if test="param.relationShopId != null and param.relationShopId != ''"> |
| | | AND tm.relation_shop_id = #{param.relationShopId} |
| | | AND tm.relation_shop_id = #{param.relationShopId} AND tm.binding_flag = 1 |
| | | </if> |
| | | <if test="param.memberFrom != null and param.memberFrom != ''"> |
| | | AND tm.customer_source = #{param.memberFrom} |
| | |
| | | AND tmt.total_integral <= #{param.endIntegral} |
| | | </if> |
| | | <if test="param.actStartDate != null and param.actStartDate != ''"> |
| | | AND Date(tmt.last_pay_time) >= #{param.actStartDate} |
| | | AND Date(tmt.last_service_time) >= #{param.actStartDate} |
| | | </if> |
| | | <if test="param.actEndDate != null and param.actEndDate != ''"> |
| | | AND Date(tmt.last_pay_time) <= #{param.actEndDate} |
| | | AND Date(tmt.last_service_time) <= #{param.actEndDate} |
| | | </if> |
| | | <if test="param.startPayCount != null and param.startPayCount != ''"> |
| | | AND tmt.total_pay_count >= #{param.startPayCount} |
| | |
| | | AND tm.relation_shop_id = #{shopId} |
| | | </if> |
| | | <if test="actStartDate != null and actStartDate != ''"> |
| | | AND Date(tmt.last_pay_time) >= #{actStartDate} |
| | | AND Date(tmt.last_service_time) >= #{actStartDate} |
| | | </if> |
| | | <if test="actEndDate != null and actEndDate != ''"> |
| | | AND Date(tmt.last_pay_time) <= #{actEndDate} |
| | | AND Date(tmt.last_service_time) <= #{actEndDate} |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | </foreach> |
| | | </if> |
| | | <if test="actStartDate != null and actStartDate != ''"> |
| | | AND Date(tmt.last_pay_time) >= #{actStartDate} |
| | | AND Date(tmt.last_service_time) >= #{actStartDate} |
| | | </if> |
| | | <if test="actEndDate != null and actEndDate != ''"> |
| | | AND Date(tmt.last_pay_time) <= #{actEndDate} |
| | | AND Date(tmt.last_service_time) <= #{actEndDate} |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | tms.shop_replay_user_name shopReplayUserName, |
| | | tms.shop_replay_time shopReplayTime, |
| | | tms.shop_response_time shopResponseTime, |
| | | tms.suggest_tags suggestTags |
| | | tms.suggest_tags suggestTags, |
| | | tms.shop_id shopId |
| | | FROM |
| | | t_member_suggest tms |
| | | INNER JOIN t_member tm ON tms.create_user_id = tm.user_id |
| | |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtMemberServiceRecordPageDto.setUserId(userId); |
| | | Page<MgtMemberServiceRecordPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtMemberServiceRecordPageVo> list = userServiceRecordService.pageMgtMemberServiceRecord(page,mgtMemberServiceRecordPageDto); |
| | | ExcelUtil<MgtMemberServiceRecordPageVo> util = new ExcelUtil<MgtMemberServiceRecordPageVo>(MgtMemberServiceRecordPageVo.class); |
| | | util.exportExcel(response, list, "用户浏览记录"); |
| | |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtMemberOrderPageDto.setUserId(userId); |
| | | Page<MgtMemberOrderPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtMemberOrderPageVo> mgtMemberOrderPageVoList = orderService.pageMgtMemberOrder(page,mgtMemberOrderPageDto); |
| | | if(!mgtMemberOrderPageVoList.isEmpty()){ |
| | | List<MgtOrderGoodsPageVo> mgtOrderGoodsVoList; |
| | |
| | | return R.ok(mgtOrderTotal); |
| | | } |
| | | |
| | | |
| | | |
| | | @RequestMapping(value = "/pageMgtActivityOrder", method = RequestMethod.POST) |
| | | @ApiOperation(value = "平台获取秒杀订单列表") |
| | | public R<Page<MgtActivityOrderPageVo>> pageMgtActivityOrder(@RequestBody MgtShopOrderPageDto mgtShopOrderPageDto) { |
| | |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtShopOrderPageDto.setUserId(userId); |
| | | Page<MgtActivityOrderPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtActivityOrderPageVo> mgtActivityOrderPageVos = orderService.pageMgtActivityOrder(page,mgtShopOrderPageDto); |
| | | ExcelUtil<MgtActivityOrderPageVo> util = new ExcelUtil<MgtActivityOrderPageVo>(MgtActivityOrderPageVo.class); |
| | | util.exportExcel(response, mgtActivityOrderPageVos, "秒杀订单列表"); |
| | |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtShopOrderPageDto.setUserId(userId); |
| | | Page<MgtShopOrderPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtShopOrderPageVo> shopOrderPageVoList = orderService.pageMgtShopOrder(page,mgtShopOrderPageDto); |
| | | ExcelUtil<MgtShopOrderPageVo> util = new ExcelUtil<MgtShopOrderPageVo>(MgtShopOrderPageVo.class); |
| | | util.exportExcel(response, shopOrderPageVoList, "门店订单列表"); |
| | |
| | | return R.ok(mgtOrderDetail); |
| | | } |
| | | |
| | | @RequestMapping(value = "/getMgtShopAllOrderTotal", method = RequestMethod.POST) |
| | | @ApiOperation(value = "获取商户订单统计") |
| | | public R<MgtShopAllOrderTotal> getMgtShopAllOrderTotal(@RequestBody MgtShopOrderPageDto mgtShopOrderPageDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtShopOrderPageDto.setUserId(userId); |
| | | MgtShopAllOrderTotal shopAllOrderTotal = orderService.getMgtShopAllOrderTotal(mgtShopOrderPageDto); |
| | | return R.ok(shopAllOrderTotal); |
| | | } |
| | | |
| | | @RequestMapping(value = "/pageMgtShopAllOrder", method = RequestMethod.POST) |
| | | @ApiOperation(value = "平台获取商户订单记录") |
| | | public R<Page<MgtShopAllOrderPageVo>> pageMgtShopAllOrder(@RequestBody MgtShopAllOrderPageDto mgtShopAllOrderPageDto) { |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MgtMemberOrderTotalDto |
| | |
| | | public class MgtMemberOrderTotalDto extends MgtBaseDto { |
| | | |
| | | @ApiModelProperty(value = "用户id") |
| | | private Long userId; |
| | | private Long memberUserId; |
| | | |
| | | @ApiModelProperty(value = "搜索关键词") |
| | | private String keyword; |
| | |
| | | @ApiModelProperty(value = "关键词") |
| | | private String keyword; |
| | | |
| | | @ApiModelProperty(value = "订单来源") |
| | | private Integer orderFrom; |
| | | |
| | | @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成") |
| | | private Integer orderStatus; |
| | | |
| | |
| | | */ |
| | | @TableField("goods_type") |
| | | private Integer goodsType; |
| | | |
| | | @TableField("goods_tag") |
| | | private String goodsTag; |
| | | /** |
| | | * 商品名称 |
| | | */ |
| | |
| | | @TableField("goods_name") |
| | | private String goodsName; |
| | | |
| | | @TableField("goods_tag") |
| | | private String goodsTag; |
| | | |
| | | @TableField("goods_introduction") |
| | | private String goodsIntroduction; |
| | | |
| | |
| | | package com.ruoyi.order.domain.vo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | |
| | | @ApiModelProperty(value="商品类型1周期2服务3体验4单品") |
| | | private Integer goodsType; |
| | | |
| | | @ApiModelProperty(value="商品标签") |
| | | private String goodsTag; |
| | | |
| | | @ApiModelProperty(value="商品名称") |
| | | private String goodsName; |
| | | |
| | | @ApiModelProperty(value="商品名称") |
| | | private String goodsIntroduction; |
| | | |
| | | @ApiModelProperty(value="商品图片") |
| | | private String goodsPicture; |
| | |
| | | @ApiModelProperty(value="消耗次数") |
| | | private Integer usedNum; |
| | | |
| | | @ApiModelProperty(value="消耗次数") |
| | | private Integer sureNum; |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "商品简介") |
| | | private String goodsIntroduction; |
| | | |
| | | @ApiModelProperty(value="商品标签") |
| | | private String goodsTag; |
| | | |
| | | @ApiModelProperty(value="商品图片") |
| | | private String goodsPicture; |
| | | |
| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | |
| | | @ApiModelProperty(value="应收订金") |
| | | private BigDecimal receivableDeposit; |
| | | |
| | | @ApiModelProperty(value="订单实际支付金额") |
| | | @ApiModelProperty(value="实收金额") |
| | | private BigDecimal receiveMoney; |
| | | |
| | | @ApiModelProperty(value="已收金额") |
| | | private BigDecimal payMoney; |
| | | |
| | | @ApiModelProperty(value="订单未支付金额") |
| | | @ApiModelProperty(value="未收金额") |
| | | private BigDecimal unPaidMoney; |
| | | |
| | | @ApiModelProperty(value="创建时间") |
| | |
| | | @ApiModelProperty(value="应收金额") |
| | | private BigDecimal receivableMoney; |
| | | |
| | | @Excel(name = "订单实际支付金额", width = 30) |
| | | @ApiModelProperty(value="订单实际支付金额") |
| | | private BigDecimal payMoney; |
| | | |
| | | @Excel(name = "订单实收金额", width = 30) |
| | | @ApiModelProperty(value = "实收金额") |
| | | private BigDecimal receiveMoney; |
| | | |
| | | @Excel(name = "订单未支付金额", width = 30) |
| | | @ApiModelProperty(value="订单未支付金额") |
| | | private BigDecimal unPaidMoney; |
| | |
| | | |
| | | @ApiModelProperty(value = "支付总金额") |
| | | private BigDecimal totalPayMoney; |
| | | |
| | | @ApiModelProperty(value = "实收金额") |
| | | private BigDecimal totalReceiveMoney; |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.domain.vo; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * @ClassName MgtShopAllOrderTotal |
| | | * @Description TODO |
| | | * @Author jqs |
| | | * @Date 2023/8/4 10:23 |
| | | * @Version 1.0 |
| | | */ |
| | | @Data |
| | | public class MgtShopAllOrderTotal { |
| | | |
| | | @ApiModelProperty(value = "订单总数") |
| | | private Integer orderTotal; |
| | | |
| | | @ApiModelProperty(value = "订单总金额") |
| | | private BigDecimal totalOrderMoney; |
| | | |
| | | @ApiModelProperty(value = "实收金额") |
| | | private BigDecimal totalReceiveMoney; |
| | | |
| | | |
| | | } |
| | |
| | | public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { |
| | | HttpServletRequest request = (HttpServletRequest) servletRequest; |
| | | HttpServletResponse response = (HttpServletResponse) servletResponse; |
| | | |
| | | String requestUrl = request.getRequestURI(); |
| | | String requestUrlUpperCase = requestUrl.toUpperCase(); |
| | | if(requestUrlUpperCase.contains("EXPORT") |
| | | ||requestUrlUpperCase.contains("IMPORTTEMPLATE") |
| | | ){ |
| | | filterChain.doFilter(request, response); |
| | | return; |
| | | } |
| | | RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response); |
| | | getRequestParams(wrapper); |
| | | |
| | |
| | | |
| | | // 返回的结果 |
| | | String content = responseWrapper.getTextContent(); |
| | | String requestUrl = request.getRequestURI(); |
| | | log.info("-------------------- Response Data ----------------------"); |
| | | log.info(requestUrl + " -> " + content); |
| | | |
| | |
| | | * @param |
| | | * @return MgtOrderTotal |
| | | */ |
| | | MgtOrderTotal totalOrderFirst(); |
| | | MgtOrderTotal totalOrderFirst(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto); |
| | | |
| | | /** |
| | | * @description 统计门店订单总数 |
| | |
| | | * @date 2023/6/18 17:20 |
| | | */ |
| | | MgtBulletinBoardVo boardOrderTotal(); |
| | | |
| | | /** |
| | | * @description 活动人数统计 |
| | | * @author jqs |
| | | * @date 2023/8/3 21:12 |
| | | * @param |
| | | * @return Integer |
| | | */ |
| | | Integer activityUserTotal(); |
| | | |
| | | /** |
| | | * @description getTotalOrderTotalOrderFrom |
| | |
| | | * @description 商户端订单管理统计 |
| | | * @author jqs |
| | | * @date 2023/7/4 16:27 |
| | | * @param shopId |
| | | * @param merOrderPageDto |
| | | * @return MerTotalOrderVo |
| | | */ |
| | | MerTotalOrderVo totalMerOrder(@Param("param")MerOrderPageDto merOrderPageDto); |
| | |
| | | * @return Integer |
| | | */ |
| | | Integer countUserBuyGoodsNum(@Param("userId")Long userId, @Param("goodsId")String goodsId); |
| | | |
| | | |
| | | /** |
| | | * @description 获取商户订单统计 |
| | | * @author jqs |
| | | * @date 2023/8/4 10:25 |
| | | * @param mgtShopOrderPageDto |
| | | * @return MgtShopAllOrderTotal |
| | | */ |
| | | MgtShopAllOrderTotal getMgtShopAllOrderTotal(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto); |
| | | } |
| | |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setCreateTime(new Date()); |
| | | consumerGoods.setGoodsType(goods.getGoodsType()); |
| | | consumerGoods.setGoodsTag(goods.getGoodsTags()); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | consumerGoods.setGoodsPicture(goodsFile.getFileUrl()); |
| | | consumerGoods.setGoodsNurses(goods.getGoodsNurses()); |
| | |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setCreateTime(new Date()); |
| | | consumerGoods.setGoodsType(goods.getGoodsType()); |
| | | consumerGoods.setGoodsTag(goods.getGoodsTags()); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | consumerGoods.setGoodsPicture(goodsFile.getFileUrl()); |
| | | consumerGoods.setGoodsNurses(goods.getGoodsNurses()); |
| | |
| | | orderGoods.setServiceNum(serviceNum); |
| | | orderGoods.setGoodsType(goods.getGoodsType()); |
| | | orderGoods.setGoodsName(goods.getGoodsName()); |
| | | orderGoods.setGoodsTag(goods.getGoodsTags()); |
| | | orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | orderGoods.setGoodsPicture(goodsFile.getFileUrl()); |
| | | // 保存订单商品 |
| | |
| | | orderGoods.setCycleNumFlag(goods.getCycleNumFlag()); |
| | | orderGoods.setServiceNum(serviceNum); |
| | | orderGoods.setGoodsType(goods.getGoodsType()); |
| | | orderGoods.setGoodsTag(goods.getGoodsTags()); |
| | | orderGoods.setGoodsName(goods.getGoodsName()); |
| | | orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | orderGoods.setGoodsPicture(goodsFile.getFileUrl()); |
| | |
| | | consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); |
| | | consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag()); |
| | | consumerGoods.setCreateTime(nowTime); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); |
| | |
| | | consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); |
| | | consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag()); |
| | | consumerGoods.setCreateTime(nowTime); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); |
| | |
| | | } |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setGoodsType(goods.getGoodsType()); |
| | | consumerGoods.setGoodsTag(goods.getGoodsTags()); |
| | | consumerGoods.setCreateTime(new Date()); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | goodsFile = remoteGoodsService.getGoodsFile(goods.getGoodsId()).getData(); |
| | |
| | | @Override |
| | | public List<MerMemberNoClearOrderVo> pageMerMemberNoClearOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto) { |
| | | List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberNoClearOrder(page, merMemberNoClearOrderDto.getMemberUserId()); |
| | | if (merMemberNoClearOrderVoList != null && !merMemberNoClearOrderVoList.isEmpty()) { |
| | | /*if (merMemberNoClearOrderVoList != null && !merMemberNoClearOrderVoList.isEmpty()) { |
| | | BigDecimal zeroBig = new BigDecimal("0.00"); |
| | | for (MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList) { |
| | | merMemberNoClearOrderVo.setUnPaidMoney(merMemberNoClearOrderVo.getReceivableMoney().subtract(merMemberNoClearOrderVo.getPayMoney())); |
| | |
| | | merMemberNoClearOrderVo.setUnPaidMoney(zeroBig); |
| | | } |
| | | } |
| | | } |
| | | }*/ |
| | | return merMemberNoClearOrderVoList; |
| | | } |
| | | |
| | |
| | | orderGoods.setCycleNumFlag(goods.getCycleNumFlag()); |
| | | orderGoods.setServiceNum(serviceNum); |
| | | orderGoods.setGoodsType(goods.getGoodsType()); |
| | | orderGoods.setGoodsTag(goods.getGoodsTags()); |
| | | orderGoods.setGoodsName(goods.getGoodsName()); |
| | | orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | orderGoods.setGoodsPicture(goodsFile.getFileUrl()); |
| | |
| | | order.setOrderRemark(merNewOrderDto.getOrderRemark()); |
| | | order.setGoodsNum(goodsNum); |
| | | order.setCreateTime(nowTime); |
| | | order.setPayTime(nowTime); |
| | | order.setUseTime(nowTime); |
| | | order.setUseUserId(merNewOrderDto.getUserId()); |
| | | order.setPayMoney(merNewOrderDto.getPayMoney()); |
| | |
| | | consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); |
| | | consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag()); |
| | | consumerGoods.setCreateTime(nowTime); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); |
| | |
| | | consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); |
| | | consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag()); |
| | | consumerGoods.setCreateTime(nowTime); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); |
| | |
| | | } |
| | | } |
| | | MgtOrderTotal mgtOrderTotal = new MgtOrderTotal(); |
| | | MgtOrderTotal mgtOrderTotalFirst = orderMapper.totalOrderFirst(); |
| | | MgtOrderTotal mgtOrderTotalFirst = orderMapper.totalOrderFirst(mgtShopOrderPageDto); |
| | | MgtOrderTotal mgtOrderTotalSecond = orderMapper.totalOrderSecond(mgtShopOrderPageDto); |
| | | MgtOrderTotal mgtOrderTotalThird = orderMapper.totalOrderThird(mgtShopOrderPageDto); |
| | | mgtOrderTotal.setOrderTotal(mgtOrderTotalFirst.getOrderTotal()); |
| | |
| | | @Override |
| | | public MgtBulletinBoardVo boardOrderTotal() { |
| | | MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal(); |
| | | Integer activityUserTotal = orderMapper.activityUserTotal(); |
| | | mgtBulletinBoardVo.setActivityUserTotal(activityUserTotal); |
| | | return mgtBulletinBoardVo; |
| | | } |
| | | |
| | |
| | | if (haveGoods) { |
| | | memberTotalChangeDto.setGoodsOrderChange(1); |
| | | } |
| | | if(order.getOrderFrom()==2){ |
| | | memberTotalChangeDto.setActivityTime(order.getCreateTime()); |
| | | } |
| | | // 更新会员统计信息 |
| | | remoteMemberService.changeMemberTotal(memberTotalChangeDto); |
| | | // 如果订单来源于活动,则更新活动统计信息 |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 获取商户订单统计 |
| | | * @author jqs |
| | | * @date 2023/8/4 10:25 |
| | | * @param mgtShopOrderPageDto |
| | | * @return MgtShopAllOrderTotal |
| | | */ |
| | | @Override |
| | | public MgtShopAllOrderTotal getMgtShopAllOrderTotal(MgtShopOrderPageDto mgtShopOrderPageDto){ |
| | | MgtShopAllOrderTotal shopAllOrderTotal = orderMapper.getMgtShopAllOrderTotal(mgtShopOrderPageDto); |
| | | return shopAllOrderTotal; |
| | | } |
| | | } |
| | |
| | | * @return void |
| | | */ |
| | | void checkOrderStatus(); |
| | | |
| | | /** |
| | | * @description 获取商户订单统计 |
| | | * @author jqs |
| | | * @date 2023/8/4 10:25 |
| | | * @param mgtShopOrderPageDto |
| | | * @return MgtShopAllOrderTotal |
| | | */ |
| | | MgtShopAllOrderTotal getMgtShopAllOrderTotal(MgtShopOrderPageDto mgtShopOrderPageDto); |
| | | } |
| | |
| | | tcg.shop_id shopId, |
| | | tcg.goods_type goodsType, |
| | | tcg.goods_name goodsName, |
| | | tcg.goods_introduction goodsIntroduction, |
| | | tcg.goods_tag goodsTag, |
| | | tcg.goods_picture goodsPicture, |
| | | tcg.goods_nurses goodsNurses, |
| | | tcg.cycle_num_flag cycleNumFlag, |
| | |
| | | tog.goods_id goodsId, |
| | | tog.goods_name goodsName, |
| | | tog.goods_type goodsType, |
| | | tog.goods_tag goodsTag, |
| | | tog.buy_num buyNum, |
| | | tog.goods_price goodsPrice, |
| | | tog.goods_picture goodsPicture, |
| | |
| | | <result column="discountMoney" property="discountMoney"/> |
| | | <result column="receivableMoney" property="receivableMoney"/> |
| | | <result column="payMoney" property="payMoney"/> |
| | | <result column="receiveMoney" property="receiveMoney"/> |
| | | <result column="orderFrom" property="orderFrom" /> |
| | | <result column="orderFromDesc" property="orderFromDesc" /> |
| | | <result column="createTime" property="createTime" /> |
| | | <collection property="mgtOrderGoodsVoList" ofType="com.ruoyi.order.domain.vo.MgtOrderGoodsPageVo"> |
| | | <result column="goodsName" property="goodsName"/> |
| | |
| | | toc.coupon_money couponDiscount, |
| | | toc.receivable_money receivableMoney, |
| | | toc.receivable_deposit receivableDeposit, |
| | | toc.pay_money payMoney, |
| | | toc.change_receivable_money receiveMoney, |
| | | IFNULL(toc.offline_pay_money,0) payMoney, |
| | | toc.change_receivable_money-IFNULL(toc.offline_pay_money,0) unPaidMoney, |
| | | toc.create_time createTime |
| | | FROM t_order toc |
| | | WHERE toc.del_flag = 0 AND toc.user_id = #{userId} AND toc.order_status = 2 AND toc.close_flag = 0 |
| | | WHERE toc.del_flag = 0 AND toc.user_id = #{userId} AND toc.order_status >= 2 AND toc.close_flag = 0 |
| | | ORDER BY toc.create_time DESC |
| | | </select> |
| | | |
| | |
| | | IFNULL(SUM(IFNULL(toc.order_money,0)),0) totalOrderMoney, |
| | | IFNULL(SUM(IFNULL(toc.receivable_money,0)),0) totalReceivableMoney, |
| | | IFNULL(SUM(IFNULL(toc.discount_money,0)),0) totalDiscountMoney, |
| | | IFNULL(SUM(IFNULL(toc.pay_money,0)),0) totalPayMoney |
| | | IFNULL(SUM(IFNULL(toc.pay_money,0)),0) totalPayMoney, |
| | | IFNULL(SUM(IFNULL(toc.change_receivable_money,0)),0) totalReceiveMoney |
| | | FROM t_order toc |
| | | WHERE toc.del_flag = 0 AND toc.user_id = #{param.userId} |
| | | WHERE toc.del_flag = 0 AND toc.user_id = #{param.memberUserId} |
| | | <if test="param.orderStatus != null"> |
| | | AND toc.order_status = #{param.orderStatus} |
| | | </if> |
| | |
| | | toc.discount_money discountMoney, |
| | | toc.receivable_money receivableMoney, |
| | | toc.pay_money payMoney, |
| | | toc.change_receivable_money receiveMoney, |
| | | tog.goods_name goodsName, |
| | | tog.buy_num buyNum, |
| | | toc.create_time createTime, |
| | |
| | | |
| | | <select id="totalOrderFirst" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal"> |
| | | SELECT |
| | | COUNT(order_id) orderTotal, |
| | | IFNULL(SUM(order_money),0) orderMoneyTotal |
| | | FROM t_order ORDER BY create_time DESC |
| | | COUNT(temp.order_id) orderTotal, |
| | | IFNULL(SUM(temp.order_money),0) orderMoneyTotal |
| | | FROM |
| | | (SELECT toc.order_id,toc.order_money,toc.pay_money |
| | | FROM t_order toc |
| | | INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id |
| | | WHERE toc.del_flag = 0 AND (toc.order_from = 1 OR toc.order_from = 3) |
| | | <if test="param.orderStatus != null"> |
| | | AND toc.order_status = #{param.orderStatus} |
| | | </if> |
| | | <if test="param.goodsType != null and param.goodsType !=''"> |
| | | AND tog.goods_type = #{param.goodsType} |
| | | </if> |
| | | <if test="param.shopId != null and param.shopId != ''"> |
| | | AND toc.shop_id = #{param.shopId} |
| | | </if> |
| | | <if test="param.shopIds != null and param.shopIds != ''"> |
| | | AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 |
| | | </if> |
| | | <if test="param.keyword != null and param.keyword != ''"> |
| | | AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(toc.user_id, #{param.userIds}) > 0) |
| | | </if> |
| | | <if test="param.verifyStartTime != null and param.verifyStartTime != ''"> |
| | | AND Date(toc.use_time) >= #{param.verifyStartTime} |
| | | </if> |
| | | <if test="param.verifyEndTime != null and param.verifyEndTime != ''"> |
| | | AND Date(toc.use_time) <= #{param.verifyEndTime} |
| | | </if> |
| | | GROUP BY toc.order_id) AS temp |
| | | </select> |
| | | |
| | | <select id="totalOrderSecond" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal"> |
| | |
| | | IFNULL(SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END),0) activityOrderTotal |
| | | FROM t_order |
| | | WHERE del_flag = 0 |
| | | </select> |
| | | |
| | | <select id="activityUserTotal" resultType="java.lang.Integer"> |
| | | SELECT |
| | | COUNT(DISTINCT user_id) |
| | | FROM t_order |
| | | WHERE del_flag = 0 AND order_from = 2 |
| | | </select> |
| | | |
| | | <select id="getTotalOrderTotalOrderFrom" resultType="com.ruoyi.order.domain.vo.MgtTotalOrderTotalVo"> |
| | |
| | | SELECT |
| | | DATE(toc.create_time) AS mapKey, |
| | | COUNT(DISTINCT tog.order_id) AS mapValueFirst, |
| | | SUM(tog.order_money) AS mapValueSecond |
| | | SUM(tog.goods_receivable_money) AS mapValueSecond |
| | | FROM t_order toc |
| | | INNER JOIN t_order_goods tog ON toc.order_id = tog.order_id |
| | | WHERE toc.del_flag = 0 AND tog.del_flag = 0 AND tog.goods_type = #{param.goodsType} |
| | |
| | | INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id |
| | | WHERE toc.del_flag = 0 AND toc.order_status > 1 AND toc.user_id = #{userId} AND tog.goods_id = #{goodsId} |
| | | </select> |
| | | |
| | | <select id="getMgtShopAllOrderTotal" resultType="com.ruoyi.order.domain.vo.MgtShopAllOrderTotal"> |
| | | SELECT |
| | | COUNT(DISTINCT toc.order_id) orderTotal, |
| | | IFNULL(SUM(toc.order_money),0) totalOrderMoney, |
| | | IFNULL(SUM(toc.change_receivable_money),0) totalReceiveMoney |
| | | FROM t_order toc |
| | | WHERE toc.del_flag = 0 AND (toc.order_from = 1 OR toc.order_from = 3) |
| | | <if test="param.orderFrom != null"> |
| | | AND toc.order_from = #{param.orderFrom} |
| | | </if> |
| | | <if test="param.orderStatus != null"> |
| | | AND toc.order_status = #{param.orderStatus} |
| | | </if> |
| | | <if test="param.orderNo != null and param.orderNo !=''"> |
| | | AND toc.order_no LIKE CONCAT('%',#{param.orderNo},'%') |
| | | </if> |
| | | <if test="param.shopId != null and param.shopId != ''"> |
| | | AND toc.shop_id = #{param.shopId} |
| | | </if> |
| | | <if test="param.startOrderDate != null and param.startOrderDate != '' "> |
| | | AND Date(toc.create_time) >= #{param.startOrderDate} |
| | | </if> |
| | | <if test="param.endOrderDate != null and param.endOrderDate != '' "> |
| | | AND Date(toc.create_time) <= #{param.endOrderDate} |
| | | </if> |
| | | ORDER BY toc.create_time DESC |
| | | </select> |
| | | </mapper> |
| | |
| | | |
| | | <select id="getMgtMemberServiceTotal" resultType="com.ruoyi.order.domain.vo.MgtMemberServiceTotalVo"> |
| | | SELECT |
| | | COUNT(temp.consumerGoodsId), |
| | | COUNT(temp.consumerGoodsId) cycleTotal, |
| | | IFNULL(SUM(temp.cycleCount),0) cycleCount, |
| | | IFNULL(SUM(temp.surpCycleCount),0) surpCycleCount |
| | | FROM (SELECT |
| | |
| | | package com.ruoyi.shop.config; |
| | | |
| | | import com.github.binarywang.wxpay.config.WxPayConfig; |
| | | import com.github.binarywang.wxpay.service.WxPayService; |
| | | import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl; |
| | | import lombok.AllArgsConstructor; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; |
| | | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; |
| | | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | |
| | | /** |
| | |
| | | public class WxPayConfiguration { |
| | | private WxPayProperties properties; |
| | | |
| | | @Bean |
| | | /*@Bean |
| | | @ConditionalOnMissingBean |
| | | public WxPayService wxService() { |
| | | WxPayConfig payConfig = new WxPayConfig(); |
| | |
| | | WxPayService wxPayService = new WxPayServiceImpl(); |
| | | wxPayService.setConfig(payConfig); |
| | | return wxPayService; |
| | | } |
| | | }*/ |
| | | |
| | | } |
| | |
| | | @ApiOperation(value = "导出商户列表") |
| | | public void exportPageMgtShop(MgtShopPageDto mgtShopPageDto, HttpServletResponse response) { |
| | | Page<MgtShopPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtShopPageVo> mgtShopPageVoList = shopService.pageMgtShop(page,mgtShopPageDto); |
| | | ExcelUtil<MgtShopPageVo> util = new ExcelUtil<MgtShopPageVo>(MgtShopPageVo.class); |
| | | util.exportExcel(response, mgtShopPageVoList, "用户订单列表"); |
| | |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtShopSuggestPageDto.setUserId(userId); |
| | | Page<MgtShopSuggestPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtShopSuggestPageVo> mgtShopSuggestPageVoList = shopSuggestService.pageMgtShopSuggest(page,mgtShopSuggestPageDto); |
| | | ExcelUtil<MgtShopSuggestPageVo> util = new ExcelUtil<MgtShopSuggestPageVo>(MgtShopSuggestPageVo.class); |
| | | util.exportExcel(response, mgtShopSuggestPageVoList, "商户建议列表"); |
| | |
| | | @ApiModelProperty(value="跟踪类型1电话2手动") |
| | | private Integer followType; |
| | | |
| | | @ApiModelProperty(value="自定义跟进类型") |
| | | private String customeFollowType; |
| | | |
| | | @ApiModelProperty(value="拨打电话") |
| | | private String callPhone; |
| | | |
| | |
| | | @ApiModelProperty(value="跟踪类型1电话2手动") |
| | | private Integer followType; |
| | | |
| | | @ApiModelProperty(value="自定义跟进类型") |
| | | private String customeFollowType; |
| | | |
| | | |
| | | @ApiModelProperty(value="拨打电话") |
| | | private String callPhone; |
| | | |
| | |
| | | @ApiModelProperty(value="跟进类型") |
| | | private String followType; |
| | | |
| | | |
| | | @ApiModelProperty(value="跟进内容") |
| | | private String followContent; |
| | | |
| | |
| | | private String nextTaskContent; |
| | | |
| | | @ApiModelProperty(value="跟踪类型") |
| | | private String customFollowType; |
| | | private String customeFollowType; |
| | | |
| | | @ApiModelProperty(value="紧急程度") |
| | | private String emergencyState; |
| | |
| | | package com.ruoyi.shop.domain.pojo.task; |
| | | |
| | | |
| | | import java.util.Date; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.Version; |
| | | |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @TableField("create_time") |
| | | private Date createTime; |
| | | |
| | | @TableField("custome_follow_type") |
| | | private String customeFollowType; |
| | | |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | |
| | | package com.ruoyi.shop.domain.pojo.task; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import java.util.Date; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @TableField("create_time") |
| | | private Date createTime; |
| | | |
| | | @TableField("custome_follow_type") |
| | | private String customeFollowType; |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | |
| | | @TableField("create_time") |
| | | private Date createTime; |
| | | |
| | | @TableField("custom_follow_type") |
| | | private String customFollowType; |
| | | @TableField("custome_follow_type") |
| | | private String customeFollowType; |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | |
| | | @ApiModelProperty(value="跟踪类型1电话2手动") |
| | | private Integer followType; |
| | | |
| | | @ApiModelProperty(value="自定义跟进类型") |
| | | private String customeFollowType; |
| | | |
| | | @ApiModelProperty(value="电话时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date callTime; |
| | |
| | | @ApiModelProperty(value="跟踪类型1电话2手动") |
| | | private Integer followType; |
| | | |
| | | @ApiModelProperty(value="自定义跟进类型") |
| | | private String customeFollowType; |
| | | |
| | | @ApiModelProperty(value="电话时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date callTime; |
| | |
| | | @ApiModelProperty(value="跟踪类型1电话2手动") |
| | | private Integer followType; |
| | | |
| | | @ApiModelProperty(value="跟进类型") |
| | | private String customeFollowType; |
| | | |
| | | @ApiModelProperty(value="电话时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date callTime; |
| | |
| | | @ApiModelProperty(value="跟踪类型1电话2手动") |
| | | private Integer followType; |
| | | |
| | | @ApiModelProperty(value="自定义跟进类型") |
| | | private String customeFollowType; |
| | | |
| | | @ApiModelProperty(value="电话时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date callTime; |
| | |
| | | @ApiModelProperty(value="跟踪类型1电话2手动") |
| | | private String followType; |
| | | |
| | | @ApiModelProperty(value="自定义跟踪类型") |
| | | private String customeFollowType; |
| | | |
| | | @ApiModelProperty(value="电话时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date callTime; |
| | |
| | | @ApiModelProperty(value="跟踪类型1电话2手动") |
| | | private Integer followType; |
| | | |
| | | @ApiModelProperty(value="自定义跟进类型") |
| | | private String customeFollowType; |
| | | |
| | | @ApiModelProperty(value="电话时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date callTime; |
| | |
| | | private String followType; |
| | | |
| | | @ApiModelProperty(value="跟进类型") |
| | | private String customFollowType; |
| | | private String customeFollowType; |
| | | |
| | | @ApiModelProperty(value="电话时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | |
| | | public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { |
| | | HttpServletRequest request = (HttpServletRequest) servletRequest; |
| | | HttpServletResponse response = (HttpServletResponse) servletResponse; |
| | | |
| | | String requestUrl = request.getRequestURI(); |
| | | String requestUrlUpperCase = requestUrl.toUpperCase(); |
| | | if(requestUrlUpperCase.contains("EXPORT") |
| | | ||requestUrlUpperCase.contains("IMPORTTEMPLATE") |
| | | ){ |
| | | filterChain.doFilter(request, response); |
| | | return; |
| | | } |
| | | RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response); |
| | | getRequestParams(wrapper); |
| | | |
| | |
| | | |
| | | // 返回的结果 |
| | | String content = responseWrapper.getTextContent(); |
| | | String requestUrl = request.getRequestURI(); |
| | | log.info("-------------------- Response Data ----------------------"); |
| | | log.info(requestUrl + " -> " + content); |
| | | |
| | |
| | | /** |
| | | * @description |
| | | * @author jqs |
| | | * @date 2023/8/3 13:19 |
| | | * @date 2023/8/3 13:33 |
| | | * @param shopId |
| | | * @param codeUrl |
| | | * @param codeUrl |
| | | * @return void |
| | | */ |
| | | void updateShopCodeUrl(@Param("shopId") Long shopId,@Param("codeUrl") String codeUrl); |
| | |
| | | import com.ruoyi.shop.service.task.MemberTaskService; |
| | | import com.ruoyi.shop.service.task.ShopFileService; |
| | | import com.ruoyi.shop.service.task.ShopTaskService; |
| | | import com.ruoyi.shop.util.WechatPayUtils; |
| | | import com.ruoyi.shop.util.WxShopUtils; |
| | | import com.ruoyi.shop.util.dto.*; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.domain.dto.*; |
| | | import com.ruoyi.system.api.domain.poji.config.SysTag; |
| | |
| | | import com.ruoyi.system.api.domain.vo.*; |
| | | import com.ruoyi.system.api.service.*; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | |
| | | @Resource |
| | | private RedisService redisService; |
| | | |
| | | @Resource |
| | | private WechatPayUtils wechatPayUtils; |
| | | /*@Resource |
| | | private WechatPayUtils wechatPayUtils;*/ |
| | | |
| | | /** |
| | | * 获取商户详情 |
| | |
| | | merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover()); |
| | | merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson()); |
| | | merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson()); |
| | | merHomeShopTotalVo.setPlatformBirthdayFlag(shop.getPlatformBirthdayFlag()); |
| | | merHomeShopTotalVo.setPlatformCouponFlag(shop.getPlatformCouponFlag()); |
| | | return merHomeShopTotalVo; |
| | | } |
| | | |
| | |
| | | shopAuthentication.setApplyNumber(applyNumber); |
| | | shopAuthentication.setAuditStatus(3); |
| | | shopAuthenticationService.saveOrUpdate(shopAuthentication); |
| | | wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop); |
| | | //wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop); |
| | | } |
| | | |
| | | /** |
| | |
| | | agencyTaskRecord.setDelFlag(0); |
| | | agencyTaskRecord.setUserId(merFollowAgencyTaskDto.getUserId()); |
| | | agencyTaskRecord.setFollowType(merFollowAgencyTaskDto.getFollowType()); |
| | | agencyTaskRecord.setCustomeFollowType(merFollowAgencyTaskDto.getCustomeFollowType()); |
| | | agencyTaskRecord.setCallPhone(merFollowAgencyTaskDto.getCallPhone()); |
| | | agencyTaskRecord.setCallTime(followPhoneDto.getCallTime()); |
| | | agencyTaskRecord.setFollowContent(followPhoneDto.getFollowContent()); |
| | |
| | | } |
| | | }else{ |
| | | agencyTaskRecord = new AgencyTaskRecord(); |
| | | agencyTaskRecord.setTaskId(merFollowAgencyTaskDto.getTaskId()); |
| | | agencyTaskRecord.setDelFlag(0); |
| | | agencyTaskRecord.setUserId(merFollowAgencyTaskDto.getUserId()); |
| | | agencyTaskRecord.setFollowType(merFollowAgencyTaskDto.getFollowType()); |
| | | agencyTaskRecord.setCustomeFollowType(merFollowAgencyTaskDto.getCustomeFollowType()); |
| | | agencyTaskRecord.setFollowContent(merFollowAgencyTaskDto.getFollowContent()); |
| | | agencyTaskRecord.setCreateTime(new Date()); |
| | | //创建任务详情文件 |
| | | String picture = merFollowAgencyTaskDto.getPicture(); |
| | | String video = merFollowAgencyTaskDto.getVideo(); |
| | |
| | | import com.ruoyi.shop.service.task.MemberTaskService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.shop.service.task.TaskFileService; |
| | | import com.ruoyi.system.api.domain.dto.MemberTotalChangeDto; |
| | | import com.ruoyi.system.api.domain.vo.MemberTaskSimpleVo; |
| | | import com.ruoyi.system.api.service.RemoteMemberService; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | */ |
| | | @Override |
| | | public List<MerMemberTaskPageVo> pageMerMemberTask(Page page, MerMemberTaskPageDto merMemberTaskPageDto){ |
| | | String today = DateUtils.parseDateToStr("YYYY-MM-DD",new Date()); |
| | | List<MerMemberTaskPageVo> merMemberTaskPageVoList = memberTaskMapper.pageMerMemberTask(page, merMemberTaskPageDto); |
| | | if(merMemberTaskPageVoList!=null&&!merMemberTaskPageVoList.isEmpty()){ |
| | | String taskDate; |
| | | for(MerMemberTaskPageVo merMemberTaskPageVo : merMemberTaskPageVoList){ |
| | | taskDate = merMemberTaskPageVo.getTaskDate(); |
| | | if(today.equals(taskDate)){ |
| | | merMemberTaskPageVo.setTodayFlag(1); |
| | | }else{ |
| | | merMemberTaskPageVo.setTodayFlag(0); |
| | | } |
| | | } |
| | | } |
| | | return merMemberTaskPageVoList; |
| | | } |
| | | |
| | |
| | | memberTask.setTaskContent(merCreateMemberTaskDto.getTaskContent()); |
| | | memberTask.setCreateTime(new Date()); |
| | | this.saveOrUpdate(memberTask); |
| | | MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto(); |
| | | memberTotalChangeDto.setNextTaskTime(merCreateMemberTaskDto.getTaskDate()); |
| | | remoteMemberService.changeMemberTotal(memberTotalChangeDto); |
| | | } |
| | | |
| | | /** |
| | |
| | | memberTaskRecord.setDelFlag(0); |
| | | memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId()); |
| | | memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType()); |
| | | memberTaskRecord.setCustomeFollowType(merFollowMemberTaskDto.getCustomeFollowType()); |
| | | memberTaskRecord.setCallPhone(merFollowMemberTaskDto.getCallPhone()); |
| | | memberTaskRecord.setFollowContent(followPhoneDto.getFollowContent()); |
| | | memberTaskRecord.setCallTime(followPhoneDto.getCallTime()); |
| | |
| | | memberTaskRecord.setDelFlag(0); |
| | | memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId()); |
| | | memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType()); |
| | | memberTaskRecord.setCustomeFollowType(merFollowMemberTaskDto.getCustomeFollowType()); |
| | | memberTaskRecord.setFollowContent(merFollowMemberTaskDto.getFollowContent()); |
| | | memberTaskRecord.setCreateTime(new Date()); |
| | | // 保存或更新会员任务记录 |
| | |
| | | } |
| | | memberTask.setCreateTime(new Date()); |
| | | this.saveOrUpdate(memberTask); |
| | | MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto(); |
| | | memberTotalChangeDto.setNextTaskTime(merFollowMemberTaskDto.getNextTaskDate()); |
| | | remoteMemberService.changeMemberTotal(memberTotalChangeDto); |
| | | } |
| | | } |
| | | |
| | |
| | | shopTaskRecord.setTaskId(taskId); |
| | | shopTaskRecord.setUserId(mgtFollowShopTaskDto.getUserId()); |
| | | shopTaskRecord.setFollowType(2); |
| | | shopTaskRecord.setCustomFollowType(mgtFollowShopTaskDto.getFollowType()); |
| | | shopTaskRecord.setCustomeFollowType(mgtFollowShopTaskDto.getFollowType()); |
| | | shopTaskRecord.setFollowContent(mgtFollowShopTaskDto.getFollowContent()); |
| | | shopTaskRecord.setCreateTime(nowTime); |
| | | shopTaskRecordService.saveOrUpdate(shopTaskRecord); |
| | |
| | | shopTaskRecord.setUserId(staffFollowShopTaskDto.getUserId()); |
| | | shopTaskRecord.setFollowType(staffFollowShopTaskDto.getFollowType()); |
| | | shopTaskRecord.setFollowContent(staffFollowShopTaskDto.getFollowContent()); |
| | | shopTaskRecord.setCustomFollowType(staffFollowShopTaskDto.getCustomFollowType()); |
| | | shopTaskRecord.setCustomeFollowType(staffFollowShopTaskDto.getCustomeFollowType()); |
| | | shopTaskRecord.setCreateTime(new Date()); |
| | | // 保存或更新会员任务记录 |
| | | shopTaskRecordService.saveOrUpdate(shopTaskRecord); |
| | |
| | | package com.ruoyi.shop.util; |
| | | |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsRequest; |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsResult; |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsStatusResult; |
| | | import com.github.binarywang.wxpay.exception.WxPayException; |
| | | import com.github.binarywang.wxpay.service.EcommerceService; |
| | | import com.github.binarywang.wxpay.service.WxPayService; |
| | | import com.ruoyi.shop.domain.pojo.shop.ShopAuthentication; |
| | | import com.ruoyi.system.api.domain.poji.shop.Shop; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 微信支付 |
| | |
| | | @Component |
| | | @AllArgsConstructor |
| | | public class WechatPayUtils { |
| | | private final WxPayService wxService; |
| | | |
| | | //private final WxPayService wxService; |
| | | |
| | | /** |
| | | * 电商二级商户进件(提交申请单) |
| | | */ |
| | | public void ecommerceApply(ShopAuthentication shopAuthentication, String applyNumber, Shop shop) throws WxPayException { |
| | | /*public void ecommerceApply(ShopAuthentication shopAuthentication, String applyNumber, Shop shop) throws WxPayException { |
| | | EcommerceService ecommerceService = wxService.getEcommerceService(); |
| | | ApplymentsRequest request = new ApplymentsRequest(); |
| | | //生成提交类 |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | *//** |
| | | * 通过查询申请状态API查询二级商户入驻申请结果 |
| | | * @param applyNumber 业务申请编号 |
| | | * @return 申请状态 |
| | | * @throws WxPayException |
| | | */ |
| | | *//* |
| | | public ApplymentsStatusResult queryApplyStatusByOutRequestNo(String applyNumber) throws WxPayException { |
| | | return wxService.getEcommerceService().queryApplyStatusByOutRequestNo(applyNumber); |
| | | } |
| | | }*/ |
| | | |
| | | } |
| | |
| | | ts.cooperation_end_time cooperationEndTime |
| | | FROM t_shop ts |
| | | WHERE ts.del_flag = 0 AND ts.belong_shop_id = #{param.shopId} |
| | | <if test="param.shopStatus!=null and param.shopStatus!=''"> |
| | | AND ts.shop_status = #{param.shopStatus} |
| | | <if test="param.shopStatus!=null and param.shopStatus==1"> |
| | | AND ts.shop_status = 1 |
| | | </if> |
| | | <if test="param.shopStatus!=null and param.shopStatus==2"> |
| | | AND ts.frozen_flag = 1 |
| | | </if> |
| | | <if test="param.shopStatus!=null and param.shopStatus==3"> |
| | | AND ts.cooperative_flag = 0 |
| | | </if> |
| | | <if test="param.keyword!=null and param.keyword!=''"> |
| | | AND (ts.shop_name LIKE CONCAT('%',#{param.keyword},'%') OR ts.shopowner_name LIKE CONCAT('%',#{param.keyword},'%') |
| | |
| | | UPDATE t_shop_staff SET del_flag = 1 WHERE del_flag = 0 AND shop_id = #{shopId} |
| | | </update> |
| | | |
| | | <update id="clearShopStaffRelation"> |
| | | <update id="updateShopCodeUrl"> |
| | | UPDATE t_shop SET shop_code = #{codeUrl} WHERE shop_id = #{shopId} |
| | | </update> |
| | | </mapper> |
| | |
| | | tmtr.task_id taskId, |
| | | tmt.task_date taskDate, |
| | | tmtr.follow_type followType, |
| | | tmtr.custome_follow_type customeFollowType, |
| | | tmtr.call_time callTime, |
| | | tmtr.follow_content followContent, |
| | | tmtr.call_phone callPhone |
| | |
| | | tmtr.task_id taskId, |
| | | tmt.create_time createTime, |
| | | tmtr.follow_type followType, |
| | | tmtr.custome_follow_type customeFollowType, |
| | | tmtr.call_time callTime, |
| | | tmtr.follow_content followContent, |
| | | tmtr.call_phone callPhone |
| | |
| | | tmtr.task_id taskId, |
| | | tmt.create_time createTime, |
| | | tmtr.follow_type followType, |
| | | tmtr.custome_follow_type customeFollowType, |
| | | tmtr.call_time callTime, |
| | | tmtr.follow_content followContent, |
| | | tmtr.call_phone callPhone |
| | |
| | | tmt.task_content taskContent, |
| | | tmtr.follow_content dealContent, |
| | | tmt.emergency_state emergencyState, |
| | | CASE WHEN task_date = #{param.today} THEN 1 ELSE 0 END todayFlag |
| | | CASE WHEN task_date = CURRENT_DATE() THEN 1 ELSE 0 END todayFlag |
| | | FROM t_member_task tmt |
| | | LEFT JOIN t_member_task_record tmtr ON tmt.task_id = tmtr.task_id |
| | | WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.user_id = #{param.memberUserId} |
| | |
| | | tmtr.follow_type followType, |
| | | tmtr.call_time callTime, |
| | | tmtr.follow_content followContent, |
| | | tmtr.custome_follow_type customeFollowType, |
| | | tmtr.call_phone callPhone |
| | | FROM t_member_task tmt |
| | | INNER JOIN t_member_task_record tmtr ON tmtr.task_id = tmt.task_id |
| | |
| | | tmtr.task_id taskId, |
| | | tmt.task_date taskDate, |
| | | tmtr.follow_type followType, |
| | | tmtr.custome_follow_type customeFollowType, |
| | | tmtr.call_time callTime, |
| | | tmtr.follow_content followContent, |
| | | tmtr.call_phone callPhone |
| | |
| | | tmtr.id followId, |
| | | tmtr.task_id taskId, |
| | | tmtr.create_time createTime, |
| | | CASE tmtr.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType, |
| | | tmtr.custom_follow_type customFollowType, |
| | | tmt.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType, |
| | | tmtr.custome_follow_type customeFollowType, |
| | | tmtr.follow_content followContent, |
| | | tmtr.call_time callTime, |
| | | tmtr.call_phone callPhone |
| | |
| | | tmtr.task_id taskId, |
| | | tmtr.create_time createTime, |
| | | CASE tmtr.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType, |
| | | tmtr.custom_follow_type customFollowType, |
| | | tmtr.custome_follow_type customeFollowType, |
| | | tmtr.follow_content followContent, |
| | | tmtr.call_time callTime, |
| | | tmtr.call_phone callPhone |
| | |
| | | tmtr.task_id taskId, |
| | | tmtr.create_time createTime, |
| | | CASE tmtr.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType, |
| | | tmtr.custome_follow_type customeFollowType, |
| | | tmtr.follow_content followContent, |
| | | tmtr.call_time callTime, |
| | | tmtr.call_phone callPhone |
| | |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtOperLogPageDto.setUserId(userId); |
| | | Page<MgtOperLogPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtOperLogPageVo> mgtOperLogPageVoList = customConfigService.pageOperLog(page, mgtOperLogPageDto); |
| | | ExcelUtil<MgtOperLogPageVo> util = new ExcelUtil<MgtOperLogPageVo>(MgtOperLogPageVo.class); |
| | | util.exportExcel(response, mgtOperLogPageVoList, "操作日志"); |
| | |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtStaffSuggestPageDto.setUserId(userId); |
| | | Page<MgtStaffSuggestPageVo> page = new Page<>(); |
| | | page.setSize(2000); |
| | | page.setCurrent(1); |
| | | if(page.getSize()>5000){ |
| | | page.setSize(5000); |
| | | page.setCurrent(1); |
| | | } |
| | | List<MgtStaffSuggestPageVo> staffSuggestPageVoList = staffSuggestService.pageMgtStaffSuggest(page,mgtStaffSuggestPageDto); |
| | | ExcelUtil<MgtStaffSuggestPageVo> util = new ExcelUtil<MgtStaffSuggestPageVo>(MgtStaffSuggestPageVo.class); |
| | | util.exportExcel(response, staffSuggestPageVoList, "员工建议列表"); |
| | |
| | | public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { |
| | | HttpServletRequest request = (HttpServletRequest) servletRequest; |
| | | HttpServletResponse response = (HttpServletResponse) servletResponse; |
| | | |
| | | String requestUrl = request.getRequestURI(); |
| | | String requestUrlUpperCase = requestUrl.toUpperCase(); |
| | | if(requestUrlUpperCase.contains("EXPORT") |
| | | ||requestUrlUpperCase.contains("IMPORTTEMPLATE") |
| | | ||requestUrlUpperCase.contains("GETAPPAGREEMENT")){ |
| | | filterChain.doFilter(request, response); |
| | | return; |
| | | } |
| | | RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response); |
| | | getRequestParams(wrapper); |
| | | |
| | |
| | | |
| | | // 返回的结果 |
| | | String content = responseWrapper.getTextContent(); |
| | | String requestUrl = request.getRequestURI(); |
| | | log.info("-------------------- Response Data ----------------------"); |
| | | log.info(requestUrl + " -> " + content); |
| | | |
| | |
| | | mgtBulletinBoardVo.setSalesTotal(mgtBulletinBoardVoOrder.getSalesTotal()); |
| | | mgtBulletinBoardVo.setUnUseOrderTotal(mgtBulletinBoardVoOrder.getUnUseOrderTotal()); |
| | | mgtBulletinBoardVo.setActivityOrderTotal(mgtBulletinBoardVoOrder.getActivityOrderTotal()); |
| | | mgtBulletinBoardVo.setActivityUserTotal(mgtBulletinBoardVoOrder.getActivityUserTotal()); |
| | | // 获取活动信息 |
| | | MgtBulletinBoardVo mgtBulletinBoardVoActivity = remoteActivityService.boardActivityTotal().getData(); |
| | | mgtBulletinBoardVo.setActivityUserTotal(mgtBulletinBoardVoActivity.getActivityUserTotal()); |
| | | //MgtBulletinBoardVo mgtBulletinBoardVoActivity = remoteActivityService.boardActivityTotal().getData(); |
| | | //待回复建议数量 |
| | | Integer countA = remoteMemberService.getUnReplaySuggestVo().getData(); |
| | | Integer countB = remoteShopService.getUnReplaySuggestVo().getData(); |
| | |
| | | String editValue = appEditUserDto.getEditValue(); |
| | | switch (editType){ |
| | | case 1: |
| | | sysUser.setNickName(editValue); |
| | | sysUser.setUpdateTime(DateUtils.getNowDate()); |
| | | sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); |
| | | userMapper.updateUser(sysUser); |
| | | break; |
| | | case 2: |
| | | sysUser.setAvatar(editValue); |
| | |
| | | break; |
| | | case 4: |
| | | break; |
| | | case 5: |
| | | sysUser.setNickName(editValue); |
| | | sysUser.setUpdateTime(DateUtils.getNowDate()); |
| | | sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); |
| | | userMapper.updateUser(sysUser); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | |
| | | su.nick_name nickName |
| | | FROM sys_dept sd |
| | | LEFT JOIN sys_user su ON sd.dept_id = su.dept_id |
| | | WHERE sd.del_flag = 0 AND su.del_flag = 0 |
| | | WHERE sd.del_flag = "0" AND su.del_flag = "0" AND su.status = "0" |
| | | </select> |
| | | |
| | | <select id="listMgtDeptStaffByDept" resultMap="deptStaffResultMap"> |
| | |
| | | su.nick_name nickName |
| | | FROM sys_dept sd |
| | | LEFT JOIN sys_user su ON sd.dept_id = su.dept_id |
| | | WHERE sd.del_flag = 0 AND su.del_flag = 0 AND sd.dept_id = #{deptId} |
| | | WHERE sd.del_flag = "0" AND su.del_flag = "0" AND sd.dept_id = #{deptId} |
| | | <if test="userId != null and userId != ''"> |
| | | AND su.user_id = #{userId} |
| | | </if> |