| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.utils.uuid.IdUtils; |
| | | import com.ruoyi.common.security.utils.CodeFactoryUtil; |
| | | import com.ruoyi.shop.domain.dto.*; |
| | | import com.ruoyi.shop.domain.pojo.shop.*; |
| | | import com.ruoyi.shop.domain.pojo.task.ShopFile; |
| | | import com.ruoyi.shop.domain.vo.AppNearbyShopVo; |
| | | import com.ruoyi.shop.domain.vo.*; |
| | | import com.ruoyi.shop.mapper.shop.ShopMapper; |
| | | import com.ruoyi.shop.service.shop.*; |
| | | import com.ruoyi.shop.service.task.ShopFileService; |
| | | import com.ruoyi.shop.util.CodeFactoryUtil; |
| | | import com.ruoyi.system.api.RemoteConfigService; |
| | | import com.ruoyi.system.api.RemoteMemberService; |
| | | import com.ruoyi.system.api.RemoteOrderService; |
| | | import com.ruoyi.system.api.RemoteUserService; |
| | | import com.ruoyi.system.api.domain.dto.AppMemberBindingDto; |
| | | import com.ruoyi.system.api.domain.poji.shop.Shop; |
| | | import com.ruoyi.system.api.domain.poji.config.SysTag; |
| | | import com.ruoyi.system.api.domain.poji.member.Member; |
| | | import com.ruoyi.system.api.domain.poji.shop.Shop; |
| | | import com.ruoyi.system.api.domain.poji.sys.SysUser; |
| | | import com.ruoyi.shop.domain.vo.AppShopInfoVo; |
| | | import com.ruoyi.shop.domain.vo.MgtShopInfoVo; |
| | | import com.ruoyi.shop.domain.vo.MgtShopPageVo; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import com.ruoyi.system.api.service.RemoteConfigService; |
| | | import com.ruoyi.system.api.service.RemoteMemberService; |
| | | import com.ruoyi.system.api.service.RemoteOrderService; |
| | | import com.ruoyi.system.api.service.RemoteUserService; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | |
| | | @Resource |
| | | private RemoteOrderService remoteOrderService; |
| | | |
| | | @Resource |
| | | private ShopStaffService shopStaffService; |
| | | |
| | | @Resource |
| | | private ShopAccountService shopAccountService; |
| | | |
| | | @Resource |
| | | private ShopAuthenticationService shopAuthenticationService; |
| | | |
| | | |
| | | /** |
| | | * 获取商户详情 |
| | | * @param shopId |
| | |
| | | @Override |
| | | public void createShop(MgtEditShopDto MGTEditShopDto){ |
| | | Shop shop = new Shop(); |
| | | Boolean newShop = false; |
| | | if(MGTEditShopDto.getShopId()!=null){ |
| | | shop = this.getById(MGTEditShopDto.getShopId()); |
| | | shop.setUpdateTime(new Date()); |
| | |
| | | shopFileService.deleteByShopId(shop.getShopId()); |
| | | shopRelTagService.deleteByShopId(shop.getShopId()); |
| | | shopRelUserService.deleteByShopId(shop.getShopId()); |
| | | //清空归属 |
| | | shopRelUserService.deleteByShopId(shop.getShopId()); |
| | | shopStaffService.clearShopStaffRelation(shop.getShopId()); |
| | | }else{ |
| | | shop.setShopStatus(2); |
| | | shop.setShopStatus(3); |
| | | shop.setCreateTime(new Date()); |
| | | shop.setCreateUserId(MGTEditShopDto.getUserId()); |
| | | shop.setFrozenFlag(0); |
| | | shop.setCooperativeFlag(0); |
| | | newShop = true; |
| | | } |
| | | BeanUtils.copyProperties(MGTEditShopDto,shop); |
| | | this.saveOrUpdate(shop); |
| | |
| | | shop.setShopTags(shopTagSj.toString()); |
| | | this.saveOrUpdate(shop); |
| | | } |
| | | //商户归属员工 |
| | | SysUser belongSysUser = sysUserService.getSysUser(shop.getBelongUserId()).getData(); |
| | | handleShopStaff(shop.getShopId(),belongSysUser); |
| | | //商户关联人员 |
| | | String relUserIds = MGTEditShopDto.getRelUserIds(); |
| | | if(StringUtils.isNotBlank(relUserIds)){ |
| | |
| | | shopRelUser.setUserMobile(sysUser.getPhonenumber()); |
| | | shopRelUser.setUserDeptId(sysUser.getDeptId()); |
| | | shopRelUserService.save(shopRelUser); |
| | | handleShopStaff(shop.getShopId(),sysUser); |
| | | } |
| | | } |
| | | //商户封面 |
| | |
| | | shopFile.setShopId(shop.getShopId()); |
| | | shopFileService.save(shopFile); |
| | | } |
| | | } |
| | | if(newShop){ |
| | | ShopAccount shopAccount = new ShopAccount(); |
| | | shopAccount.setShopId(shop.getShopId()); |
| | | shopAccount.setDelFlag(0); |
| | | shopAccount.setTotalIncome(new BigDecimal("0")); |
| | | shopAccount.setTotalDisburse(new BigDecimal("0")); |
| | | shopAccount.setTotalRefund(new BigDecimal("0")); |
| | | shopAccount.setTotalProfitsharing(new BigDecimal("0")); |
| | | shopAccount.setTotalMoney(new BigDecimal("0")); |
| | | shopAccountService.saveOrUpdate(shopAccount); |
| | | String authId = IdUtils.simpleUUID(); |
| | | ShopAuthentication shopAuthentication = new ShopAuthentication(); |
| | | shopAuthentication.setAuthId(authId); |
| | | shopAuthentication.setDelFlag(0); |
| | | shopAuthentication.setShopId(shop.getShopId()); |
| | | shopAuthenticationService.saveOrUpdate(shopAuthentication); |
| | | } |
| | | } |
| | | |
| | |
| | | public AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto,Member member){ |
| | | AppNearbyShopVo appNearbyShopVo = new AppNearbyShopVo(); |
| | | Shop shop = null; |
| | | if(member.getRelationShopId()!=null){ |
| | | //获取附近商户 |
| | | if(member!=null&&member.getRelationShopId()!=null&&member.getBindingFlag()==1){ |
| | | //获取绑定商户 |
| | | shop = this.getById(member.getRelationShopId()); |
| | | }else if(StringUtils.isNotBlank(appNearbyShopDto.getLatitude())&&StringUtils.isNotBlank(appNearbyShopDto.getLongitude())){ |
| | | AppNearShopVo appNearShopVo = shopMapper.getNearbyShop(appNearbyShopDto); |
| | | shop = this.getById(appNearShopVo.getShopId()); |
| | | }else{ |
| | | //获取附近商户 |
| | | shop = this.getById(1L); |
| | | return appNearbyShopVo; |
| | | } |
| | | if(member.getBindingFlag()!=1){ |
| | | if(member!=null&&member.getBindingFlag()!=1){ |
| | | AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); |
| | | appMemberBindingDto.setShopId(shop.getShopId()); |
| | | appMemberBindingDto.setShopName(shop.getShopName()); |
| | | appMemberBindingDto.setUserId(member.getUserId()); |
| | | appMemberBindingDto.setBindingFlag(0); |
| | | remoteMemberService.updateMemberBinding(appMemberBindingDto); |
| | |
| | | return shop; |
| | | } |
| | | |
| | | /** |
| | | * 获取商户端 |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public MerHomeShopTotalVo getMerHomeTotal(Long userId){ |
| | | MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo(); |
| | |
| | | merHomeShopTotalVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); |
| | | return merHomeShopTotalVo; |
| | | } |
| | | |
| | | /** |
| | | * 获取商户绑定代理商 |
| | | * @param page |
| | | * @param merAgencyPageDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MerAgencyPageVo> pageMerAgencyVo(Page page, MerAgencyPageDto merAgencyPageDto){ |
| | | List<MerAgencyPageVo> merAgencyPageVoList = shopMapper.pageMerAgencyVo(page, merAgencyPageDto); |
| | | return merAgencyPageVoList; |
| | | } |
| | | |
| | | /** |
| | | * 处理商户员工 |
| | | * @param shopId |
| | | * @param sysUser |
| | | */ |
| | | private void handleShopStaff(Long shopId,SysUser sysUser){ |
| | | ShopStaff shopStaff = shopStaffService.getByUserId(sysUser.getUserId()); |
| | | if(shopStaff!=null){ |
| | | shopStaff.setShopId(shopId); |
| | | }else{ |
| | | String staffId = IdUtils.simpleUUID(); |
| | | shopStaff = new ShopStaff(); |
| | | shopStaff.setStaffId(staffId); |
| | | shopStaff.setDelFlag(0); |
| | | shopStaff.setUserId(sysUser.getUserId()); |
| | | shopStaff.setShopId(shopId); |
| | | shopStaff.setStaffName(sysUser.getNickName()); |
| | | shopStaff.setStaffMobile(sysUser.getPhonenumber()); |
| | | shopStaff.setStaffGender(Integer.valueOf(sysUser.getSex())); |
| | | shopStaff.setStaffAvatar(sysUser.getAvatar()); |
| | | } |
| | | shopStaffService.saveOrUpdate(shopStaff); |
| | | } |
| | | |
| | | |
| | | } |