diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/controller/IShopController.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/controller/IShopController.java index 849bea4..546cc51 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/controller/IShopController.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/controller/IShopController.java @@ -6,6 +6,9 @@ import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.invest.domain.dto.IShopDto; +import com.ruoyi.invest.domain.vo.ICityVo; +import com.ruoyi.invest.domain.vo.IDistrictVo; +import com.ruoyi.invest.domain.vo.IProvinceVo; import com.ruoyi.invest.domain.vo.IShopVo; import com.ruoyi.invest.service.IShopService; import io.swagger.annotations.ApiOperation; @@ -55,4 +58,43 @@ public class IShopController extends BaseController { return toAjax(1); } + /** + * 查询门店列表列表 + */ + @ApiOperation(value="查询省份列表",response = IShopVo.class) + @RequiresPermissions("invest:ishop:list") + @GetMapping("/provinceList") + public TableDataInfo provinceList(IShopDto iShopDto) + { + startPage(); + List list = iShopService.selectProvinceVoList(iShopDto); + return getDataTable(list); + } + + /** + * 查询门店列表列表 + */ + @ApiOperation(value="查询城市列表",response = IShopVo.class) + @RequiresPermissions("invest:ishop:list") + @GetMapping("/cityList") + public TableDataInfo cityList(IShopDto iShopDto) + { + startPage(); + List list = iShopService.selectCityVoList(iShopDto); + return getDataTable(list); + } + + /** + * 查询门店列表列表 + */ + @ApiOperation(value="查询区域列表列表",response = IShopVo.class) + @RequiresPermissions("invest:ishop:list") + @GetMapping("/districtList") + public TableDataInfo districtList(IShopDto iShopDto) + { + startPage(); + List list = iShopService.selectDistrictVoList(iShopDto); + return getDataTable(list); + } + } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/controller/IUserController.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/controller/IUserController.java index f7b3a7d..5b9cee6 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/controller/IUserController.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/controller/IUserController.java @@ -13,7 +13,9 @@ import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.invest.domain.IShop; import com.ruoyi.invest.domain.IUser; import com.ruoyi.invest.domain.dto.IUserDto; +import com.ruoyi.invest.domain.vo.IItemVo; import com.ruoyi.invest.domain.vo.IUserVo; +import com.ruoyi.invest.mapper.IItemMapper; import com.ruoyi.invest.mapper.IUserMapper; import com.ruoyi.invest.service.IMTService; import com.ruoyi.invest.service.IShopService; @@ -41,6 +43,8 @@ public class IUserController extends BaseController { @Resource private IUserMapper iUserMapper; @Resource + private IItemMapper iItemMapper; + @Resource private IMTService imtService; @Resource private IShopService iShopService; @@ -118,6 +122,20 @@ public class IUserController extends BaseController { } + + /** + * 登录 + */ + @ApiOperation(value="新增账号管理") + @RequiresPermissions("invest:iuser:add") + @Log(title = "账号管理", businessType = BusinessType.INSERT) + @PostMapping(value = "/loginIUser", name = "登录") + public R loginUser(@RequestBody IUser iUser) { + imtService.login(iUser); + return R.ok(); + } + + /** * 新增用户管理 */ @@ -154,11 +172,20 @@ public class IUserController extends BaseController { if (iShop == null) { throw new ServiceException("门店id不存在"); } - iUser.setLng(iShop.getLng()); - iUser.setLat(iShop.getLat()); - iUser.setProvinceName(iShop.getProvinceName()); - iUser.setCityName(iShop.getCityName()); + iUser.setLng(iShop.getLng()); + iUser.setLat(iShop.getLat()); + iUser.setProvinceName(iShop.getProvinceName()); + iUser.setCityName(iShop.getCityName()); + iUser.setDistrictName(iShop.getDistrictName()); + iUser.setAddress(iShop.getAddress()); + String[] items = iUser.getItemCode().split("@"); + String itemName = ""; + for (String itemId : items) { + IItemVo item=iItemMapper.selectIItemByItemCode(itemId); + itemName+=item.getTitle()+"("+itemId+")、"; + } + iUser.setItemName(itemName.substring(0,itemName.length()-1)); return toAjax(iUserService.updateIUser(iUser)); } @@ -169,7 +196,7 @@ public class IUserController extends BaseController { @RequiresPermissions("invest:iuser:remove") @Log(title = "用户管理", businessType = BusinessType.DELETE) @DeleteMapping("/{mobiles}") - public AjaxResult remove(@PathVariable Long[] mobiles) + public AjaxResult remove(@PathVariable String[] mobiles) { return toAjax(iUserService.deleteIUser(mobiles)); } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IItem.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IItem.java index b7fde4d..ef40552 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IItem.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IItem.java @@ -49,6 +49,11 @@ public class IItem extends BaseEntity @Excel(name = "图片") private String picture; + /** 图片 */ + @ApiModelProperty(value="图片") + @Excel(name = "图片") + private String pictureV2; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; @@ -60,6 +65,7 @@ public class IItem extends BaseEntity .append("title", getTitle()) .append("content", getContent()) .append("picture", getPicture()) + .append("pictureV2", getPictureV2()) .append("createTime", getCreateTime()) .toString(); } @@ -71,6 +77,7 @@ public class IItem extends BaseEntity this.title = item.getString("title"); this.content = item.getString("content"); this.picture = item.getString("picture"); + this.pictureV2 = item.getString("pictureV2"); this.createTime = new Date(); } } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/ILog.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/ILog.java index bd579d2..a08e785 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/ILog.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/ILog.java @@ -54,6 +54,11 @@ public class ILog extends BaseEntity @Excel(name = "创建者id") private String createUser; + /** 日志类型 */ + @ApiModelProperty(value="日志类型") + @Excel(name = "日志类型") + private String type; + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -64,6 +69,7 @@ public class ILog extends BaseEntity .append("operTime", getOperTime()) .append("createUser", getCreateUser()) .append("createBy", getCreateBy()) + .append("type", getType()) .toString(); } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IShop.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IShop.java index 5001855..e1ebc7f 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IShop.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IShop.java @@ -76,6 +76,19 @@ public class IShop extends BaseEntity private Double distance; + private String openEndTime; + + private String openStartTime; + + private String address; + + private String city; + + private String district; + + private String province; + + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -90,6 +103,13 @@ public class IShop extends BaseEntity .append("name", getName()) .append("tenantName", getTenantName()) .append("createTime", getCreateTime()) + .append("openEndTime", getOpenEndTime()) + .append("openStartTime", getOpenStartTime()) + .append("address", getAddress()) + .append("city", getCity()) + .append("district", getDistrict()) + .append("province", getProvince()) + .toString(); } @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @@ -108,6 +128,12 @@ public class IShop extends BaseEntity this.lng = jsonObject.getString("lng"); this.name = jsonObject.getString("name"); this.tenantName = jsonObject.getString("tenantName"); + this.openEndTime = jsonObject.getString("openEndTime"); + this.openStartTime = jsonObject.getString("openStartTime"); + this.address = jsonObject.getString("address"); + this.city = jsonObject.getString("city"); + this.district = jsonObject.getString("district"); + this.province = jsonObject.getString("province"); this.createTime = new Date(); } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IUser.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IUser.java index 20e9020..3a9b9bf 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IUser.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/IUser.java @@ -25,6 +25,9 @@ public class IUser extends BaseEntity /** 手机号 */ private String mobile; + /** 手机验证码 */ + private String code; + /** 用户id */ @ApiModelProperty(value="用户id") @Excel(name = "用户id") @@ -103,6 +106,17 @@ public class IUser extends BaseEntity /** 备注 */ private String remark; + /** 用户名 */ + private String userName; + + /** 区域名称 */ + private String districtName; + + /** 预约商品名称 */ + private String itemName; + + + /** * token过期时间 */ diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/ILogDto.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/ILogDto.java index 2334990..589e777 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/ILogDto.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/ILogDto.java @@ -1,6 +1,7 @@ package com.ruoyi.invest.domain.dto; import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.core.web.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -15,7 +16,7 @@ import java.util.Date; */ @ApiModel("操作日志Dto对象") @Data -public class ILogDto implements Serializable +public class ILogDto extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; @@ -32,6 +33,10 @@ public class ILogDto implements Serializable @ApiModelProperty(value="操作状态") private String status; + /** 类型 */ + @ApiModelProperty(value="类型") + private String type; + /** 操作时间 */ @ApiModelProperty(value="操作时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/IShopDto.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/IShopDto.java index e30db63..1312d79 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/IShopDto.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/IShopDto.java @@ -37,4 +37,24 @@ public class IShopDto implements Serializable @ApiModelProperty(value="公司名称") private String tenantName; + /** 名称 */ + @ApiModelProperty(value="名称") + private String name; + + /** 省份 */ + @ApiModelProperty(value="省份") + private String province; + + /** 城市 */ + @ApiModelProperty(value="城市") + private String city; + + /** 地区 */ + @ApiModelProperty(value="地区") + private String district; + + /** 地区 */ + @ApiModelProperty(value="地址") + private String address; + } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/IUserDto.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/IUserDto.java index 95ccc81..1f908ea 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/IUserDto.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/IUserDto.java @@ -1,6 +1,7 @@ package com.ruoyi.invest.domain.dto; import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.core.web.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -15,7 +16,7 @@ import java.util.Date; */ @ApiModel("用户管理Dto对象") @Data -public class IUserDto implements Serializable +public class IUserDto extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IItemMapper.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IItemMapper.java index 8f83ef5..ad48e63 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IItemMapper.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IItemMapper.java @@ -79,4 +79,12 @@ public interface IItemMapper public int removeIItemByItemIds(Long[] itemIds); void truncateItem(); + + /** + * 查询门店列表 + * + * @param itemCode 门店列表主键 + * @return 门店列表 + */ + public IItemVo selectIItemByItemCode(String itemCode); } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/ILogMapper.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/ILogMapper.java index 8a3c316..9addc1f 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/ILogMapper.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/ILogMapper.java @@ -1,5 +1,6 @@ package com.ruoyi.invest.mapper; +import com.ruoyi.common.datascope.annotation.DataScope; import com.ruoyi.invest.domain.ILog; import com.ruoyi.invest.domain.dto.ILogDto; import com.ruoyi.invest.domain.vo.ILogVo; @@ -28,6 +29,7 @@ public interface ILogMapper * @param iLogDto 操作日志 * @return 操作日志集合 */ + @DataScope(businessAlias = "a") public List selectILogList(ILogDto iLogDto); /** diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IShopMapper.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IShopMapper.java index 1515ca2..3939f56 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IShopMapper.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IShopMapper.java @@ -2,6 +2,9 @@ package com.ruoyi.invest.mapper; import com.ruoyi.invest.domain.IShop; import com.ruoyi.invest.domain.dto.IShopDto; +import com.ruoyi.invest.domain.vo.ICityVo; +import com.ruoyi.invest.domain.vo.IDistrictVo; +import com.ruoyi.invest.domain.vo.IProvinceVo; import com.ruoyi.invest.domain.vo.IShopVo; import java.util.List; @@ -95,4 +98,29 @@ public interface IShopMapper * @return 门店列表 */ public IShopVo selectIShopByIShopId(String iShopId); + + /** + * 查询省份列表 + * + * @param iShopDto 门店列表 + * @return 门店列表集合 + */ + public List selectProvinceVoList(IShopDto iShopDto); + + /** + * 查询城市列表列表 + * + * @param iShopDto 门店列表 + * @return 门店列表集合 + */ + public List selectCityVoList(IShopDto iShopDto); + + + /** + * 查询地区列表 + * + * @param iShopDto 门店列表 + * @return 门店列表集合 + */ + public List selectDistrictVoList(IShopDto iShopDto); } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IUserMapper.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IUserMapper.java index 416a876..810ffae 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IUserMapper.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/IUserMapper.java @@ -1,5 +1,6 @@ package com.ruoyi.invest.mapper; +import com.ruoyi.common.datascope.annotation.DataScope; import com.ruoyi.invest.domain.IUser; import com.ruoyi.invest.domain.dto.IUserDto; import com.ruoyi.invest.domain.vo.IUserVo; @@ -28,6 +29,7 @@ public interface IUserMapper * @param iUserDto 用户管理 * @return 用户管理集合 */ + @DataScope(businessAlias = "a") public List selectIUserList(IUserDto iUserDto); /** @@ -60,7 +62,7 @@ public interface IUserMapper * @param mobiles 需要删除的数据主键集合 * @return 结果 */ - public int deleteIUserByMobiles(Long[] mobiles); + public int deleteIUserByMobiles(String[] mobiles); /** * 逻辑删除用户管理 diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IMTLogFactory.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IMTLogFactory.java index 9aa8276..d05d4e4 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IMTLogFactory.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IMTLogFactory.java @@ -16,7 +16,7 @@ import java.util.TimerTask; public class IMTLogFactory { - public static void reservation(IUser iUser, String logContent) { + public static void reservation(IUser iUser, String logContent,String type) { //{"code":2000,"data":{"successDesc":"申购完成,请于7月6日18:00查看预约申购结果","reservationList":[{"reservationId":17053404357,"sessionId":678,"shopId":"233331084001","reservationTime":1688608601720,"itemId":"10214","count":1}],"reservationDetail":{"desc":"申购成功后将以短信形式通知您,请您在申购成功次日18:00前确认支付方式,并在7天内完成提货。","lotteryTime":1688637600000,"cacheValidTime":1688637600000}}} ILog operLog = new ILog(); @@ -32,6 +32,8 @@ public class IMTLogFactory { operLog.setCreateUser(iUser.getUserId()); operLog.setCreateBy(iUser.getCreateBy()); operLog.setLogContent(logContent); + operLog.setCreateTime(new Date()); + operLog.setType(type); AsyncManager.me().execute(recordOper(operLog)); //推送 diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IMTService.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IMTService.java index 0203440..ac15bad 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IMTService.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IMTService.java @@ -78,5 +78,13 @@ public interface IMTService { */ void appointmentResults(); + /** + * 登录i茅台 + * + * @param iUser 手机号 + * @return + */ + boolean login(IUser iUser); + } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IShopService.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IShopService.java index 6802102..128eb51 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IShopService.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IShopService.java @@ -4,6 +4,9 @@ package com.ruoyi.invest.service; import com.ruoyi.invest.domain.IMTItemInfo; import com.ruoyi.invest.domain.IShop; import com.ruoyi.invest.domain.dto.IShopDto; +import com.ruoyi.invest.domain.vo.ICityVo; +import com.ruoyi.invest.domain.vo.IDistrictVo; +import com.ruoyi.invest.domain.vo.IProvinceVo; import com.ruoyi.invest.domain.vo.IShopVo; import java.util.List; @@ -101,4 +104,30 @@ public interface IShopService { */ public IShopVo selectIShopByIShopId(String iShopId); + + /** + * 查询门店列表列表 + * + * @param iShopDto 门店列表 + * @return 门店列表集合 + */ + public List selectProvinceVoList(IShopDto iShopDto); + + + /** + * 查询门店列表列表 + * + * @param iShopDto 门店列表 + * @return 门店列表集合 + */ + public List selectCityVoList(IShopDto iShopDto); + + /** + * 查询门店列表列表 + * + * @param iShopDto 门店列表 + * @return 门店列表集合 + */ + public List selectDistrictVoList(IShopDto iShopDto); + } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IUserService.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IUserService.java index 29fb3fc..df05c17 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IUserService.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/IUserService.java @@ -62,7 +62,7 @@ public interface IUserService { * @param iUserId id * @return */ - int deleteIUser(Long[] iUserId); + int deleteIUser(String[] iUserId); /** * 查询用户管理列表 @@ -71,4 +71,13 @@ public interface IUserService { * @return 用户管理集合 */ public List selectIUserList(IUserDto iUserDto); + + /** + * 添加i茅台用户 + * + * @param iUser + * @param body + * @return + */ + int insertIUser(IUser iUser, JSONObject body); } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IItemServiceImpl.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IItemServiceImpl.java index 5ca6e02..8649665 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IItemServiceImpl.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IItemServiceImpl.java @@ -1,15 +1,16 @@ package com.ruoyi.invest.service.impl; -import java.util.List; import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.common.security.utils.SecurityUtils; -import javax.annotation.Resource; -import org.springframework.stereotype.Service; -import com.ruoyi.invest.mapper.IItemMapper; +import com.ruoyi.common.core.utils.IdWorker; import com.ruoyi.invest.domain.IItem; import com.ruoyi.invest.domain.dto.IItemDto; import com.ruoyi.invest.domain.vo.IItemVo; +import com.ruoyi.invest.mapper.IItemMapper; import com.ruoyi.invest.service.IIItemService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; /** * 预约项目Service业务层处理 @@ -57,6 +58,7 @@ public class IItemServiceImpl implements IIItemService public int insertIItem(IItem iItem) { iItem.setCreateTime(DateUtils.getNowDate()); + iItem.setItemId(IdWorker.getId()); return iItemMapper.insertIItem(iItem); } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IMTServiceImpl.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IMTServiceImpl.java index 81d70d7..6c719e9 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IMTServiceImpl.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IMTServiceImpl.java @@ -19,6 +19,10 @@ import com.ruoyi.common.core.utils.RedisCache; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.invest.domain.IMTCacheConstants; import com.ruoyi.invest.domain.IUser; +import com.ruoyi.invest.domain.vo.IItemVo; +import com.ruoyi.invest.domain.vo.IShopVo; +import com.ruoyi.invest.mapper.IItemMapper; +import com.ruoyi.invest.mapper.IShopMapper; import com.ruoyi.invest.mapper.IUserMapper; import com.ruoyi.invest.service.IMTLogFactory; import com.ruoyi.invest.service.IMTService; @@ -47,6 +51,9 @@ public class IMTServiceImpl implements IMTService { @Autowired private IUserMapper iUserMapper; + @Autowired + private IShopMapper ishopMapper; + @Autowired private RedisCache redisCache; @@ -55,6 +62,9 @@ public class IMTServiceImpl implements IMTService { @Autowired private IShopService iShopService; + @Autowired + private IItemMapper iItemMapper; + private final static String SALT = "2af72f100c356273d46284f6fd1dfc08"; private final static String AES_KEY = "qbhajinldepmucsonaaaccgypwuvcjaa"; @@ -181,33 +191,29 @@ public class IMTServiceImpl implements IMTService { } String[] items = iUser.getItemCode().split("@"); - String logContent = ""; + for (String itemId : items) { + IItemVo item=iItemMapper.selectIItemByItemCode(itemId); + String logContent = ""; try { String shopId = iShopService.getShopId(iUser.getShopType(), itemId, iUser.getProvinceName(), iUser.getCityName(), iUser.getLat(), iUser.getLng()); //预约 JSONObject json = reservation(iUser, itemId, shopId); - logContent += String.format("[预约项目]:%s\n[shopId]:%s\n[结果返回]:%s\n\n", itemId, shopId, json.toString()); + IShopVo shop=ishopMapper.selectIShopByIShopId(shopId); + + logContent = String.format("[预约项目]:%s,[预约门店]:%s,预约成功!", item.getTitle()+"("+itemId+")", shop.getName()+",地址:"+shop.getAddress(), json.toString()); //随机延迟3~5秒 Random random = new Random(); int sleepTime = random.nextInt(3) + 3; Thread.sleep(sleepTime * 1000); } catch (Exception e) { - logContent += String.format("执行报错--[预约项目]:%s\n[结果返回]:%s\n\n", itemId, e.getMessage()); + logContent = String.format("执行报错--[预约项目]:%s,错误原因:%s", item.getTitle()+"("+itemId+")", e.getMessage()); } + //日志记录 + IMTLogFactory.reservation(iUser, logContent,"1"); } - -// try { -// //预约后领取耐力值 -// String energyAward = getEnergyAward(iUser); -// logContent += "[申购耐力值]:" + energyAward; -// } catch (Exception e) { -// logContent += "执行报错--[申购耐力值]:" + e.getMessage(); -// } - //日志记录 - IMTLogFactory.reservation(iUser, logContent); //预约后延迟领取耐力值 getEnergyAwardDelay(iUser); } @@ -229,10 +235,10 @@ public class IMTServiceImpl implements IMTService { String energyAward = getEnergyAward(iUser); logContent += "[申购耐力值]:" + energyAward; } catch (Exception e) { - logContent += "执行报错--[申购耐力值]:" + e.getMessage(); + logContent += "执行报错--[申购耐力值],错误原因:" + e.getMessage(); } //日志记录 - IMTLogFactory.reservation(iUser, logContent); + IMTLogFactory.reservation(iUser, logContent,"2"); } }; new Thread(runnable).start(); @@ -310,13 +316,13 @@ public class IMTServiceImpl implements IMTService { String logContent = ""; try { String s = travelReward(iUser); - logContent += "[获得旅行奖励]:" + s; + logContent += "[获得旅行奖励]:成功!"; } catch (Exception e) { // e.printStackTrace(); - logContent += "执行报错--[获得旅行奖励]:" + e.getMessage(); + logContent += "执行报错--[获得旅行奖励],错误原因:" + e.getMessage(); } //日志记录 - IMTLogFactory.reservation(iUser, logContent); + IMTLogFactory.reservation(iUser, logContent,"3"); } /** @@ -568,7 +574,7 @@ public class IMTServiceImpl implements IMTService { // 预约时间在24小时内的 if (item.getInteger("status") == 2 && DateUtil.between(item.getDate("reservationTime"), new Date(), DateUnit.HOUR) < 24) { String logContent = DateUtil.formatDate(item.getDate("reservationTime")) + " 申购" + item.getString("itemName") + "成功"; - IMTLogFactory.reservation(iUser, logContent); + IMTLogFactory.reservation(iUser, logContent,"4"); } } } catch (Exception e) { @@ -668,5 +674,46 @@ public class IMTServiceImpl implements IMTService { return md5; } + @Override + public boolean login(IUser iUser) { + Map map = new HashMap<>(); + String mobile = iUser.getMobile(); + String code = iUser.getCode(); + String deviceId = iUser.getDeviceId(); + map.put("mobile", mobile); + map.put("vCode", code); + + final long curTime = System.currentTimeMillis(); + map.put("md5", signature(mobile + code + "" + "", curTime)); + + map.put("timestamp", String.valueOf(curTime)); + map.put("MT-APP-Version", getMTVersion()); + + HttpRequest request = HttpUtil.createRequest(Method.POST, + "https://app.moutai519.com.cn/xhr/front/user/register/login"); + IUser user = iUserMapper.selectIUserByMobile(mobile); + if (user != null) { + deviceId = user.getDeviceId(); + } + request.header("MT-Device-ID", deviceId); + request.header("MT-APP-Version", getMTVersion()); + request.header("User-Agent", "iOS;16.3;Apple;?unrecognized?"); + request.header("Content-Type", "application/json"); + + HttpResponse execute = request.body(JSONObject.toJSONString(map)).execute(); + + JSONObject body = JSONObject.parseObject(execute.body()); + + if (body.getString("code").equals("2000")) { +// logger.info("「登录请求-成功」" + body.toJSONString()); + iUserService.insertIUser(iUser, body); + return true; + } else { + logger.error("「登录请求-失败」" + body.toJSONString()); + throw new ServiceException("登录失败,本地错误日志已记录"); +// return false; + } + + } } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IShopServiceImpl.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IShopServiceImpl.java index 255639e..af1a777 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IShopServiceImpl.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IShopServiceImpl.java @@ -15,6 +15,9 @@ import com.ruoyi.common.core.utils.RedisCache; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.invest.domain.*; import com.ruoyi.invest.domain.dto.IShopDto; +import com.ruoyi.invest.domain.vo.ICityVo; +import com.ruoyi.invest.domain.vo.IDistrictVo; +import com.ruoyi.invest.domain.vo.IProvinceVo; import com.ruoyi.invest.domain.vo.IShopVo; import com.ruoyi.invest.mapper.IItemMapper; import com.ruoyi.invest.mapper.IShopMapper; @@ -174,6 +177,7 @@ public class IShopServiceImpl implements IShopService { for (Object obj : itemList) { JSONObject item = (JSONObject) obj; IItem iItem = new IItem(item); + iItem.setItemId(IdWorker.getId()); iItemMapper.insertIItem(iItem); } @@ -359,4 +363,44 @@ public class IShopServiceImpl implements IShopService { { return iShopMapper.selectIShopByIShopId(iShopId); } + + /** + * 查询门店列表列表 + * + * @param iShopDto 门店列表 + * @return 门店列表 + */ + @Override + public List selectProvinceVoList(IShopDto iShopDto) + { + return iShopMapper.selectProvinceVoList(iShopDto); + } + + + /** + * 查询门店列表列表 + * + * @param iShopDto 门店列表 + * @return 门店列表 + */ + @Override + public List selectCityVoList(IShopDto iShopDto) + { + return iShopMapper.selectCityVoList(iShopDto); + } + + + /** + * 查询门店列表列表 + * + * @param iShopDto 门店列表 + * @return 门店列表 + */ + @Override + public List selectDistrictVoList(IShopDto iShopDto) + { + return iShopMapper.selectDistrictVoList(iShopDto); + } + + } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IUserServiceImpl.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IUserServiceImpl.java index a771eb5..57bce4d 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IUserServiceImpl.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/IUserServiceImpl.java @@ -4,9 +4,13 @@ import com.alibaba.fastjson2.JSONObject; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.invest.domain.IShop; import com.ruoyi.invest.domain.IUser; import com.ruoyi.invest.domain.dto.IUserDto; +import com.ruoyi.invest.domain.vo.IItemVo; import com.ruoyi.invest.domain.vo.IUserVo; +import com.ruoyi.invest.mapper.IItemMapper; +import com.ruoyi.invest.mapper.IShopMapper; import com.ruoyi.invest.mapper.IUserMapper; import com.ruoyi.invest.service.IUserService; import org.springframework.beans.factory.annotation.Autowired; @@ -23,6 +27,12 @@ public class IUserServiceImpl implements IUserService { @Autowired private IUserMapper iUserMapper; + @Autowired + private IShopMapper iShopMapper; + + @Autowired + private IItemMapper iItemMapper; + @Override public int insertIUser(String mobile, String deviceId, JSONObject jsonObject) { @@ -38,7 +48,26 @@ public class IUserServiceImpl implements IUserService { user.setCookie(result.getString("cookie")); user.setDeviceId( deviceId.toLowerCase()); user.setJsonResult(StringUtils.substring(jsonObject.toJSONString(), 0, 2000)); - user.setRemark(result.getString("userName")); + user.setUserName(result.getString("userName")); + + + IShop iShop = iShopMapper.selectIShopByIShopId(user.getIshopId()); + if(iShop!=null) { + user.setLng(iShop.getLng()); + user.setLat(iShop.getLat()); + user.setProvinceName(iShop.getProvinceName()); + user.setCityName(iShop.getCityName()); + user.setDistrictName(iShop.getDistrictName()); + user.setAddress(iShop.getAddress()); + } + String[] items = user.getItemCode().split("@"); + + String itemName = ""; + for (String itemId : items) { + IItemVo item=iItemMapper.selectIItemByItemCode(itemId); + itemName+=item.getTitle()+"("+itemId+")、"; + } + user.setItemName(itemName.substring(0,itemName.length()-1)); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH, 30); @@ -62,7 +91,25 @@ public class IUserServiceImpl implements IUserService { iUser.setCookie(result.getString("cookie")); iUser.setDeviceId( deviceId.toLowerCase()); iUser.setJsonResult(StringUtils.substring(jsonObject.toJSONString(), 0, 2000)); - iUser.setRemark(result.getString("userName")); + iUser.setUserName(result.getString("userName")); + + IShop iShop = iShopMapper.selectIShopByIShopId(iUser.getIshopId()); + if(iShop!=null) { + iUser.setLng(iShop.getLng()); + iUser.setLat(iShop.getLat()); + iUser.setProvinceName(iShop.getProvinceName()); + iUser.setCityName(iShop.getCityName()); + iUser.setDistrictName(iShop.getDistrictName()); + iUser.setAddress(iShop.getAddress()); + } + String[] items = iUser.getItemCode().split("@"); + + String itemName = ""; + for (String itemId : items) { + IItemVo item=iItemMapper.selectIItemByItemCode(itemId); + itemName+=item.getTitle()+"("+itemId+")、"; + } + iUser.setItemName(itemName.substring(0,itemName.length()-1)); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH, 30); @@ -102,6 +149,7 @@ public class IUserServiceImpl implements IUserService { if (StringUtils.isEmpty(iUser.getDeviceId())) { iUser.setDeviceId(UUID.randomUUID().toString().toLowerCase()); } + iUser.setCreateUser(SecurityUtils.getUserId()); iUser.setCreateBy(SecurityUtils.getUsername()); iUser.setCreateTime(new Date()); @@ -128,7 +176,7 @@ public class IUserServiceImpl implements IUserService { } @Override - public int deleteIUser(Long[] iUserId) { + public int deleteIUser(String[] iUserId) { return iUserMapper.deleteIUserByMobiles(iUserId); } @@ -143,4 +191,49 @@ public class IUserServiceImpl implements IUserService { { return iUserMapper.selectIUserList(iUserDto); } + + + @Override + public int insertIUser(IUser iUser, JSONObject jsonObject) { + String deviceId=iUser.getDeviceId(); + if (StringUtils.isEmpty(deviceId)) { + deviceId = UUID.randomUUID().toString().toLowerCase(); + } + JSONObject result = jsonObject.getJSONObject("data"); + iUser.setUserId(result.getString("userId")); + iUser.setToken(result.getString("token")); + iUser.setCookie(result.getString("cookie")); + iUser.setDeviceId( deviceId.toLowerCase()); + iUser.setJsonResult(StringUtils.substring(jsonObject.toJSONString(), 0, 2000)); + iUser.setUserName(result.getString("userName")); + + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_MONTH, 30); + Date thirtyDaysLater = calendar.getTime(); + iUser.setExpireTime(thirtyDaysLater); + + IShop iShop = iShopMapper.selectIShopByIShopId(iUser.getIshopId()); + if(iShop!=null) { + iUser.setLng(iShop.getLng()); + iUser.setLat(iShop.getLat()); + iUser.setProvinceName(iShop.getProvinceName()); + iUser.setCityName(iShop.getCityName()); + iUser.setDistrictName(iShop.getDistrictName()); + iUser.setAddress(iShop.getAddress()); + } + String[] items = iUser.getItemCode().split("@"); + + String itemName = ""; + for (String itemId : items) { + IItemVo item=iItemMapper.selectIItemByItemCode(itemId); + itemName+=item.getTitle()+"("+itemId+")、"; + } + iUser.setItemName(itemName.substring(0,itemName.length()-1)); + iUser.setCreateUser(SecurityUtils.getUserId()); + iUser.setCreateBy(SecurityUtils.getUsername()); + iUser.setCreateTime(new Date()); + + return iUserMapper.insertIUser(iUser); + + } } diff --git a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/IItemMapper.xml b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/IItemMapper.xml index 3419999..13df7f9 100644 --- a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/IItemMapper.xml +++ b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/IItemMapper.xml @@ -10,11 +10,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select a.item_id, a.item_code, a.title, a.content, a.picture, a.create_time from i_item a + select a.item_id, a.item_code, a.title, a.content, a.picture, a.picture_v2, a.create_time from i_item a + + where a.item_code = #{itemCode} + diff --git a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/ILogMapper.xml b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/ILogMapper.xml index 750764d..1775535 100644 --- a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/ILogMapper.xml +++ b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/ILogMapper.xml @@ -12,10 +12,12 @@ + + - select a.log_id, a.mobile, a.log_content, a.status, a.oper_time, a.create_user, a.create_by from i_log a + select a.log_id, a.mobile, a.log_content, a.status, a.oper_time, a.create_user, a.create_by, a.type, a.create_time from i_log a @@ -27,10 +33,15 @@ a.del_flag='0' and a.i_shop_id = #{iShopId} + and a.address like '%'|| #{address}||'%' + and a.city = #{city} + and a.district = #{district} + and a.province = #{province} and a.province_name like '%'|| #{provinceName}||'%' and a.city_name like '%'|| #{cityName}||'%' and a.district_name like '%'|| #{districtName}||'%' and a.tenant_name like '%'|| #{tenantName}||'%' + and a.name like '%'|| #{name}||'%' order by a.create_time desc @@ -54,6 +65,12 @@ name, tenant_name, create_time, + open_start_time, + open_end_time, + address, + city, + district, + province, #{shopId}, @@ -67,6 +84,12 @@ #{name}, #{tenantName}, #{createTime}, + #{openStartTime}, + #{openEndTime}, + #{address}, + #{city}, + #{district}, + #{province}, @@ -83,6 +106,12 @@ name = #{name}, tenant_name = #{tenantName}, create_time = #{createTime}, + open_start_time = #{openStartTime}, + open_end_time = #{openEndTime}, + address = #{address}, + city = #{city}, + district = #{district}, + province = #{province}, where shop_id = #{shopId} @@ -113,7 +142,7 @@ - insert into i_shop(shop_id, i_shop_id, province_name, city_name, district_name, full_address, lat, lng, name, tenant_name, create_time) values + insert into i_shop(shop_id, i_shop_id, province_name, city_name, district_name, full_address, lat, lng, name, tenant_name, create_time, open_end_time, open_start_time, address, city, district, province) values (#{item.shopId}, #{item.iShopId}, @@ -125,7 +154,13 @@ #{item.lng}, #{item.name}, #{item.tenantName}, - #{item.createTime}) + #{item.createTime}, + #{item.openEndTime}, + #{item.openStartTime}, + #{item.address}, + #{item.city}, + #{item.district}, + #{item.province}) @@ -133,4 +168,68 @@ where a.i_shop_id = #{iShopId} + + + + + + diff --git a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/IUserMapper.xml b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/IUserMapper.xml index 213a720..cfd2f81 100644 --- a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/IUserMapper.xml +++ b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/IUserMapper.xml @@ -30,10 +30,13 @@ + + + - select a.mobile, a.user_id, a.token, a.cookie, a.device_id, a.item_code, a.ishop_id, a.province_name, a.city_name, a.address, a.lat, a.lng, a.minute, a.shop_type, a.random_minute, a.push_plus_token, a.json_result, a.remark, a.expire_time, a.del_flag, a.create_time, a.create_user, a.update_time, a.update_user, a.create_by from i_user a + select a.mobile, a.user_id,a.district_name,a.user_name,a.item_name, a.token, a.cookie, a.device_id, a.item_code, a.ishop_id, a.province_name, a.city_name, a.address, a.lat, a.lng, a.minute, a.shop_type, a.random_minute, a.push_plus_token, a.json_result, a.remark, a.expire_time, a.del_flag, a.create_time, a.create_user, a.update_time, a.update_user, a.create_by from i_user a @@ -96,6 +101,9 @@ update_time, update_user, create_by, + district_name, + user_name, + item_name, #{mobile}, @@ -123,6 +131,9 @@ #{updateTime}, #{updateUser}, #{createBy}, + #{districtName}, + #{createBy}, + #{itemName}, @@ -153,6 +164,9 @@ update_time = #{updateTime}, update_user = #{updateUser}, create_by = #{createBy}, + district_name = #{districtName}, + user_name = #{userName}, + item_name = #{itemName}, where mobile = #{mobile}