@源码地址来源: https://minglisoft.cn/honghu2/business.html

会员控制类:

/*** Copyright &copy; 2012-2017 <a href="http://minglisoft.cn">HongHu</a> All rights reserved.*/
package com.honghu.cloud.controller;import java.io.IOException;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.TimeUnit;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import com.google.common.collect.Maps;
import com.honghu.cloud.bean.Album;
import com.honghu.cloud.bean.CustomerService;
import com.honghu.cloud.bean.MemberFans;
import com.honghu.cloud.bean.Menu;
import com.honghu.cloud.bean.PredepositLog;
import com.honghu.cloud.bean.PullUserOrder;
import com.honghu.cloud.bean.Role;
import com.honghu.cloud.bean.User;
import com.honghu.cloud.bean.UserCard;
import com.honghu.cloud.bean.VerifyidCard;
import com.honghu.cloud.code.MemberResponseCode;
import com.honghu.cloud.code.ResponseCode;
import com.honghu.cloud.code.ResponseVO;
import com.honghu.cloud.constant.Globals;
import com.honghu.cloud.dto.AccessoryDto;
import com.honghu.cloud.dto.AreaDto;
import com.honghu.cloud.dto.IntegralLogDto;
import com.honghu.cloud.dto.ModularClassDto;
import com.honghu.cloud.dto.StoreDto;
import com.honghu.cloud.dto.SysConfigDto;
import com.honghu.cloud.dto.TemplateDto;
import com.honghu.cloud.dto.UserDto;
import com.honghu.cloud.dto.VerifyCodeDto;
import com.honghu.cloud.feign.AccessoryFeignClient;
import com.honghu.cloud.feign.AreaFeignClient;
import com.honghu.cloud.feign.CouponInfoFeignClient;
import com.honghu.cloud.feign.IntegralLogFeignClient;
import com.honghu.cloud.feign.IntegralToolsFeignClient;
import com.honghu.cloud.feign.ModularClassFeignClient;
import com.honghu.cloud.feign.MsgToolsFeignClient;
import com.honghu.cloud.feign.OrderFormFeignClient;
import com.honghu.cloud.feign.QrCodeFeignClient;
import com.honghu.cloud.feign.StoreFeignClient;
import com.honghu.cloud.feign.SysConfigFeignClient;
import com.honghu.cloud.feign.TemplateFeignClient;
import com.honghu.cloud.feign.TencentIMFeignClient;
import com.honghu.cloud.feign.VerifyCodeFeignClient;
import com.honghu.cloud.redis.RedisUtil;
import com.honghu.cloud.service.IAlbumService;
import com.honghu.cloud.service.ICustomerService;
import com.honghu.cloud.service.IFavoriteService;
import com.honghu.cloud.service.IFootPointService;
import com.honghu.cloud.service.IMemberFansService;
import com.honghu.cloud.service.IPredepositLogService;
import com.honghu.cloud.service.IPullUserOrderService;
import com.honghu.cloud.service.IRoleService;
import com.honghu.cloud.service.IUserCardService;
import com.honghu.cloud.service.IUserService;
import com.honghu.cloud.service.IVerifyidCardService;
import com.honghu.cloud.tools.SecurityUserHolder;
import com.honghu.cloud.utils.CommUtil;
import com.honghu.cloud.utils.JWT;
import com.honghu.cloud.utils.beans.BeanUtils;
import com.honghu.cloud.utils.tools.Md5Encrypt;import net.sf.json.JSONObject;/*** 用户Controller* @author Administrator* @param <V>**/
@SuppressWarnings({"rawtypes","unchecked"})
@RestController
@RequestMapping(value = "/user")
/*/*@CrossOrigin(origins = "*", maxAge = 3600, methods = { RequestMethod.GET, RequestMethod.POST, RequestMethod.DELETE,RequestMethod.PUT })*/
public class UserController  {private static final Logger logger = LoggerFactory.getLogger(UserController.class);@Autowiredprivate IUserService userService;@Autowiredprivate IFootPointService footPointService;@Autowiredprivate CouponInfoFeignClient couponInfoFeignClient;@Autowiredprivate OrderFormFeignClient orderFormFeignClient;@Autowiredprivate SysConfigFeignClient sysConfigFeignClient;@Autowiredprivate AccessoryFeignClient accessoryFeignClient;@Autowiredprivate VerifyCodeFeignClient verifyCodeFeignClient;@Autowiredprivate MsgToolsFeignClient msgToolsFeignClient;@Autowiredprivate IPullUserOrderService pullUserOrderService;@Autowiredprivate QrCodeFeignClient qrCodeFeignClient;@Autowiredprivate IRoleService roleService;@Autowiredprivate AreaFeignClient areaFeignClient;@Autowiredprivate IntegralLogFeignClient integralLogFeignClient;@Autowiredprivate TemplateFeignClient templateFeignClient;@Autowiredprivate ModularClassFeignClient modularClassFeignClient;@Autowiredprivate ICustomerService customerService;@Autowiredprivate IAlbumService albumService;@Autowiredprivate IFavoriteService favoriteService;@Autowiredprivate RedisUtil redisUtil;@Autowiredprivate IVerifyidCardService verifyidCardService;@Autowiredprivate StoreFeignClient storeFeignClient;@Autowiredprivate TencentIMFeignClient tencentIMFeignClient;@Autowiredprivate IUserCardService userCardService;@Autowiredprivate IPredepositLogService predepositLogService;@Autowiredprivate IMemberFansService memberFansService;@Autowiredprivate IntegralToolsFeignClient integralToolsFeignClient;@RequestMapping(value = "/apiForFeign/selectByIds", method = RequestMethod.POST)public List<User> selectByIds(@RequestBody Map<String, Object> params) {return userService.selectByIds(params);}@RequestMapping(value = "/apiForFeign/getMsgSubUsers", method = RequestMethod.GET)public List<User> getMsgSubUsers(@RequestParam("parent_id") Long parent_id){return userService.getMsgSubUsers(parent_id);}@RequestMapping(value = "/apiForFeign/auditNoteUser", method = RequestMethod.GET)public List<User> auditNoteUser(){return userService.auditNoteUser();}@RequestMapping(value = "/apiForFeign/selectCount", method = RequestMethod.GET)public int selectCount(@RequestParam("params")Map<String, Object> params){return userService.selectCount(params);}@RequestMapping(value = "/apiForFeign/whetherFans", method = RequestMethod.GET)public boolean whetherFans(@RequestParam("mid") Long mid, @RequestParam("fansid") Long fansid) {MemberFans memberFans = memberFansService.whetherFans(mid, fansid);if (memberFans != null)return true;return false;}/*** 根据用户id查询用户* @param congelationDto* @return*/@RequestMapping(value = "/apiForFeign/selectByPrimaryKey", method = RequestMethod.GET)public User selectByPrimaryKey(@RequestParam("id") Long id) {User user = userService.selectByPrimaryKey(id);if(user != null && user.getPhoto_id() != null){user.setPhoto(accessoryFeignClient.selectByPrimaryKey(user.getPhoto_id()));}return user;}@RequestMapping(value = "/apiForFeign/selectUserCardByUserId", method = RequestMethod.GET)public UserCard selectUserCardByUserId(@RequestParam("id") Long id) {return userCardService.selectByUserId(id);}@RequestMapping(value = "/apiForFeign/queryPageList", method = RequestMethod.GET)public List<User> queryPageList(@RequestParam("params")Map<String, Object> params) {return userService.queryPageList(params, null, null);}@RequestMapping(value = "/apiForFeign/verityUserNamePassword", method = RequestMethod.POST)public List<User> verityUserNamePassword(@RequestBody Map<String, Object> params) {return userService.verityUserNamePassword(params);}@RequestMapping(value = "/apiForFeign/selectPullByOrderId", method = RequestMethod.GET)public PullUserOrder selectPullByOrderId(@RequestParam("id") Long id) {PullUserOrder obj = pullUserOrderService.selectPullByOrderId(id);return obj;}@RequestMapping(value = "/apiForFeign/savePullUserOrder", method = RequestMethod.POST)public void savePullUserOrder(@RequestBody PullUserOrder obj) {pullUserOrderService.saveEntity(obj);}/*** 根据订单id查询拉新用户表 ,进行删除* @param id*/@RequestMapping(value = "/apiForFeign/delPullByOrderId", method = RequestMethod.GET)public void delPullByOrderId(@RequestParam("id") Long id) {pullUserOrderService.deleteByOrderId(id);}@RequestMapping(value = "/apiForFeign/queryByProperty", method = RequestMethod.POST)public User queryByProperty(@RequestParam("params")Map<String, Object> params) {return userService.queryByProperty(params);}@RequestMapping(value = "/apiForFeign/updateById", method = RequestMethod.POST)public void updateById(@RequestBody User obj) {userService.updateById(obj);}@RequestMapping(value = "/apiForFeign/update", method = RequestMethod.POST)public void update(@RequestBody User obj) {userService.update(obj);}@RequestMapping(value = "/apiForFeign/saveEntity", method = RequestMethod.POST)public User saveEntity(@RequestBody User obj) {return userService.saveEntity(obj);}@RequestMapping(value = "/apiForFeign/saveUserCard", method = RequestMethod.POST)public void saveUserCard(@RequestBody UserCard obj) {userCardService.saveEntity(obj);}/*** 根据unionid查询用户* @param unionid* @return*/@RequestMapping(value = "/apiForFeign/selectByUnionid", method = RequestMethod.POST)public User selectByUnionid(@RequestParam("unionid") String unionid){return userService.selectByUnionid(unionid);}@RequestMapping(value = "/apiForFeign/selectByWxOpenId", method = RequestMethod.POST)public User selectByWxOpenId(@RequestParam("openid") String openid){return userService.selectByWxOpenId(openid);}@RequestMapping(value = "/apiForFeign/getUserByStoreId", method = RequestMethod.GET)public User getUserByStoreId(@RequestParam("id") Long id) {return userService.getUserByStoreId(id);}@RequestMapping(value = "/apiForFeign/deleteUserMenu", method = RequestMethod.GET)public void deleteUserMenu(@RequestParam("id") Long id) {userService.deleteUserMenu(id);}@RequestMapping(value = "/apiForFeign/updateLiveById", method = RequestMethod.GET)public void updateLiveById(@RequestParam("id") Long id) {userService.updateLiveById(id);}@RequestMapping(value = "/apiForFeign/saveUserMenu", method = RequestMethod.POST)public void saveUserMenu(@RequestParam("id") Long id,@RequestBody List<Menu> ms) {userService.saveUserMenu(id,ms);}/*** 客服列表* @param request* @param response* @return* @throws Exception */@RequestMapping(value="/buyer/customerServiceList", method = RequestMethod.POST)public Map<String, Object> customerServiceList(HttpServletRequest request,HttpServletResponse response)  {Map<String,Object> params = Maps.newHashMap();List<CustomerService> list = customerService.queryPages(params);HashMap<String, Object> result = new HashMap<>();result.put("list", list);System.out.println(result);return ResponseCode.buildSuccessMap(result);}/*** 用户中心完善资料* @param request* @param response* @return*/@RequestMapping(value="/buyer/account")public Map<String, Object> account(HttpServletRequest request,HttpServletResponse response) {Map<String, Object> result = new HashMap<String, Object>();long user_id = SecurityUserHolder.getCurrentUser(request).getId().longValue();User user = selectByPrimaryKey(user_id);if(user == null){return ResponseCode.buildEnumMap(ResponseCode.USER_NOT_EXISTS_ERROR, null);}result.put("obj", user);result.put("imageFilesize", Integer.valueOf(sysConfigFeignClient.getSysConfig().getImageFilesize()));return ResponseCode.buildSuccessMap(result);}/*** 用户中心完善资料* @param request* @param response* @return*/@RequestMapping(value="/buyer/liveCode")public Map<String, Object> liveCode(HttpServletRequest request,HttpServletResponse response) {HashMap<String, Object> result = new HashMap<>();User user = userService.selectByPrimaryKey(SecurityUserHolder.getCurrentUserId(request));result.put("liveCode", user.getLive_code());return ResponseCode.buildSuccessMap(result);}/*** 用户中资料保存* @param request* @param response* @param USER_AGE* @param card* @param userName* @param sex* @return* @throws Exception*/@RequestMapping(value="/buyer/account_save", method = RequestMethod.POST)public Map<String, Object> account_saveEntity(HttpServletRequest request,HttpServletResponse response,@RequestBody JSONObject json) throws Exception {String userName = json.optString("userName");String nickName = json.optString("nickName");String sex = json.optString("sex");String photo_id = json.optString("photo_id");String USER_AGE = json.optString("USER_AGE");User user = this.userService.selectByPrimaryKey(SecurityUserHolder.getCurrentUser(request).getId());if ((userName != null) && (!userName.equals(""))) {user.setTrueName(userName);}if ((USER_AGE != null) && (!USER_AGE.equals(""))) {user.setBirthday(CommUtil.formatDate(USER_AGE));}if ((nickName != null) && (!nickName.equals(""))) {user.setNickName(nickName);}if ((sex != null) && (!sex.equals(""))) {user.setSex(CommUtil.null2Int(sex));}if(StringUtils.isNotBlank(photo_id)){user.setPhoto_id(CommUtil.null2Long(photo_id));}this.userService.updateById(user);try{//腾讯IM账号资料更改UserDto userDto = new UserDto();BeanUtils.copyProperties(user, userDto);tencentIMFeignClient.portraitSet(userDto);}catch (Exception e) {logger.error("UserController >> account_saveEntity >> IM portraitSet  "+ e.getMessage());}return ResponseCode.buildSuccessMap(null);}/*** 手机客户端商城首页* @param request* @param response* @param store_id* @return*/@RequestMapping(value="/center", method = RequestMethod.POST)public Map<String, Object> center(HttpServletRequest request, HttpServletResponse response) {Map<String, Object> result = new HashMap<String, Object>();UserDto u = SecurityUserHolder.getCurrentUser(request);if ((u != null) && (!u.equals(""))) {User user = this.userService.selectByPrimaryKey(SecurityUserHolder.getCurrentUser(request).getId());if (user!=null&&user.getPhoto_id()!=null) {AccessoryDto photo = accessoryFeignClient.selectByPrimaryKey(user.getPhoto_id());user.setPhoto(photo);}int selectCount = footPointService.selectSumCount(user.getId());/*Map<String,Object> foot_params = Maps.newHashMap();foot_params.put("fp_user_id", user.getId());foot_params.put("deleteStatus", 0);//List<FootPoint> fps = footPointService.queryPageList(foot_params);//result.put("objs", fps);*/     result.put("footsize", selectCount);Map<String, Object> params = Maps.newHashMap();params.put("user_id", user.getId());params.put("status", Integer.valueOf(0));result.put("couponInfos",Integer.valueOf(couponInfoFeignClient.selectCount(params)));/*  params.clear();params.put("status", Integer.valueOf(10));params.put("user_id", user.getId().toString());result.put("orders_10",Integer.valueOf(orderFormFeignClient.selectCount(params)));*/// result.put("integralViewTools", this.integralViewTools);params.clear();params.put("type", Integer.valueOf(0));params.put("user_id", user.getId());int favorite_goods = favoriteService.selectCount(params);result.put("favorite_goods", favorite_goods);params.clear();params.put("type", Integer.valueOf(1));params.put("user_id", user.getId());result.put("favorite_store",favoriteService.selectCount(params));params.clear();params.put("order_status", Integer.valueOf(10));params.put("user_id", user.getId().toString());//params.put("order_main", Integer.valueOf(1));//List<OrderFormDto> order_nopays = orderFormFeignClient.queryPageList(params);Integer order_nopays = orderFormFeignClient.selectCount(params);String order_nopay = "";if (order_nopays > 99) {order_nopay = "99+";} else {order_nopay = order_nopays + "";}result.put("order_nopay", order_nopay);params.clear();params.put("order_status1", Integer.valueOf(14));params.put("order_status2", Integer.valueOf(20));params.put("user_id", user.getId().toString());//params.put("order_main", Integer.valueOf(1));//List<OrderFormDto> order_noships = orderFormFeignClient.queryPageList(params);Integer order_noships = orderFormFeignClient.selectCount(params);String order_noship = "";if (order_noships > 99) {order_noship = "99+";} else {order_noship = order_noships + "";}result.put("order_noship", order_noship);params.clear();params.put("order_status1", Integer.valueOf(30));params.put("order_status2", Integer.valueOf(35));params.put("user_id", user.getId().toString());//params.put("order_main", Integer.valueOf(1));//List<OrderFormDto> order_notakes = orderFormFeignClient.queryPageList(params);Integer order_notakes = orderFormFeignClient.selectCount(params);String order_notake = "";if (order_notakes > 99) {order_notake = "99+";} else {order_notake = order_notakes + "";}result.put("order_notake", order_notake);params.clear();params.put("order_status", Integer.valueOf(40));params.put("user_id", user.getId().toString());Integer order_noevaluate = orderFormFeignClient.selectCount(params);String noevaluate = "0";if (order_noevaluate > 99) {noevaluate = "99+";} else {noevaluate = order_noevaluate + "";}result.put("noevaluate", noevaluate);params.clear();/* params.put("status", Integer.valueOf(0));params.put("user_id", user.getId());params.put("parent", -1);List<MessageDto> msgs  = messageFeignClient.queryPageList(params);result.put("msg_size", msgs.get(0));*/result.put("user", user);// result.put("integralViewTools", this.integralViewTools);result.put("level", integralToolsFeignClient.query_user_level(String.valueOf(user.getId())));Integer store_status=0;if (user.getStore_id()!=null) {StoreDto store = storeFeignClient.selectByPrimaryKey(user.getStore_id());if (store!=null) {store_status = store.getStore_status();ModularClassDto ModularClassDto = modularClassFeignClient.selectByStoreId(store.getId());if (ModularClassDto!=null) {result.put("timely", ModularClassDto.isTimely());}else{result.put("timely",false);}}}result.put("store_status", store_status);//是否是代理商(业务员:推荐开店能获取店铺收益的那种)Integer platAgent = userService.agentCount(user.getId());result.put("platAgent", platAgent);}return ResponseCode.buildSuccessMap(result);}/*** 个人二维码* @param request* @param response* @return* @throws Exception */@RequestMapping(value="/buyer/myQrcode", method = RequestMethod.GET)public Map<String, Object> myQrcode(HttpServletRequest request,HttpServletResponse response) throws Exception {UserDto userDto = SecurityUserHolder.getCurrentUser(request);User user = userService.selectByPrimaryKey(userDto.getId());if(StringUtils.isEmpty(user.getDirect_selling_qr_path())) {if(null != user.getPhoto_id()){user.setPhoto(accessoryFeignClient.selectByPrimaryKey(user.getPhoto_id()));}BeanUtils.copyProperties(user, userDto);// 生成用户分销二维码String myQrcode = qrCodeFeignClient.myQrcode(userDto);user.setDirect_selling_qr_path(myQrcode);userService.updateById(user);}return ResponseCode.buildSuccessMap(user.getDirect_selling_qr_path());}/*** 用户中心支付密码修改* @param request* @param response* @return@RequestMapping(value="/buyer/account_pay_password", method = RequestMethod.GET)public Map<String, Object> account_pay_password(HttpServletRequest request,HttpServletResponse response) {Map<String, Object> result = new HashMap<String, Object>();User user = this.userService.selectByPrimaryKey(SecurityUserHolder.getCurrentUser().getId());result.put("user", user);if ((user.getMobile() != null) && (!user.getMobile().equals(""))) {String show_tel = user.getMobile();result.put("show_tel", show_tel);result.put("first", Integer.valueOf(-1));} else {result.put("first", "1");}return ResponseCode.buildSuccessMap(result);}*//*** 修改支付密码提交* @param request* @param response* @param pay_password* @param pay_password_confirm* @param phone_number* @param code* @param t* @return*/@RequestMapping(value="/buyer/account_pay_password_save", method = RequestMethod.POST)public Map<String, Object> account_pay_password_saveEntity(HttpServletRequest request,HttpServletResponse response, String pay_password, String pay_password_confirm, String phone_number, String code) {Map<String, Object> result = new HashMap<String, Object>();if(null == code || StringUtils.isEmpty(code)){result.put("op_title", "验证码不能为空,支付密码修改失败");result.put("url", CommUtil.getURL(request) + "/buyer/account_pay_password");return ResponseCode.buildCodeMap("20004", "不要做违规操作,超过一定次数将冻结预存款", result);}VerifyCodeDto vc = verifyCodeFeignClient.getObjByProperty("mobile", "=",  phone_number);if (vc == null) {result.put("op_title", "不要做违规操作,超过一定次数将冻结预存款");result.put("url", CommUtil.getURL(request) + "/buyer/account_pay_password");return ResponseCode.buildCodeMap("20003", "不要做违规操作,超过一定次数将冻结预存款", result);} if (!code.equalsIgnoreCase(vc.getCode())) {result.put("op_title", "验证码错误,支付密码修改失败");result.put("url", CommUtil.getURL(request) + "/buyer/account_pay_password");return ResponseCode.buildCodeMap("20002", "验证码错误,支付密码修改失败", result);}if (StringUtils.isEmpty(pay_password) || StringUtils.isEmpty(pay_password_confirm)|| !StringUtils.equals(pay_password, pay_password_confirm)){result.put("op_title", "两次密码输入不相同");result.put("url", CommUtil.getURL(request) + "/buyer/account_pay_password");return ResponseCode.buildCodeMap("20001", "两次密码输入不相同", result);}User user = this.userService.selectByPrimaryKey(SecurityUserHolder.getCurrentUser(request).getId());user.setMobile(phone_number);user.setPay_password(Md5Encrypt.md5(pay_password));this.userService.updateById(user);result.put("op_title", "支付密码修改成功");result.put("url", CommUtil.getURL(request) + "/index");return ResponseCode.buildSuccessMap(result);}/**手机短信密码修改 TODO:(小程序没有* @param request* @param response* @param password  密码* @param mobile  手机号* @param mobile_code  验证码* @return*//*@RequestMapping({ "/mobile_account_password_save" })@ResponseBodypublic String mobile_account_password_save(HttpServletRequest request,HttpServletResponse response,String password,String mobile ,String mobile_code,String password_or) {if(mobile == null || "".equals(mobile)){return "403";}if(mobile_code == null || "".equals(mobile_code)){return "404";}Jedis jedis = RedisCache.getJedis();if(jedis.exists(SerializeUtil.serialize(mobile))){byte[] bs = jedis.get(SerializeUtil.serialize(mobile));Object deserialize = SerializeUtil.deserialize(bs);if(deserialize != null){if(!CommUtil.null2String(mobile_code).equals(deserialize.toString())){return "402";}}}else{return "401";}if(jedis != null){jedis.close();}if(password != null && password_or != null){if(password.equals(password_or)){if(!CommUtil.null2String(mobile).equals("")){List<User> users=this.userService.selectByMobileOrUserName(mobile);if(users != null && users.size() > 0){User user = users.get(0);user.setPassword(Md5Encrypt.md5(password));this.userService.updateById(user);}else{return "400";}}}else{return "406";}}else{return "405";}return "200";}*//*    *//*** 修改支付密码-手机短信发送* @param request* @param response* @param mobile*//*@RequestMapping(value="/buyer/account_mobile_sms", method = RequestMethod.POST)public Map<String, Object> account_mobile_sms(HttpServletRequest request,HttpServletResponse response, String mobile) {SysConfigDto sysConfigDto = sysConfigFeignClient.getSysConfig();if (!sysConfigDto.getSmsEnbale()) {return ResponseCode.buildCodeMap("20002", "短信服务未开启", null);}String code = CommUtil.randomInt(4);String content = "尊敬的" + SecurityUserHolder.getCurrentUser(request).getUserName()+ "您好,您在试图修改" + sysConfigDto.getWebsiteName() + "的支付密码," + "手机验证码为:" + code + "。[" + sysConfigDto.getTitle() + "]";boolean ret_op = msgToolsFeignClient.sendSMS(mobile, content);if (!ret_op) {return ResponseCode.buildCodeMap("20001", "发送短信失败", null);}VerifyCodeDto mvc = verifyCodeFeignClient.getObjByProperty("mobile","=",  mobile);if (mvc == null) {mvc = new VerifyCodeDto();}mvc.setAddTime(new Date());mvc.setCode(code);mvc.setMobile(mobile);verifyCodeFeignClient.updateById(mvc);return ResponseCode.buildSuccessMap(null);}*//*** 修改绑定手机* @param request* @param response* @return@RequestMapping(value="/buyer/account_mobile_bind", method = RequestMethod.POST)public Map<String, Object> account_mobile_password(HttpServletRequest request,HttpServletResponse response) {Map<String, Object> result = new HashMap<String, Object>();User user = this.userService.selectByPrimaryKey(SecurityUserHolder.getCurrentUser().getId());if ((user.getMobile() != null) && (!user.getMobile().equals(""))) {String show_tel = user.getMobile().substring(0, 3) + "*****"+ user.getMobile().substring(8, 11);result.put("show_tel", show_tel);result.put("first", "-1");} else {result.put("first", "1");}return ResponseCode.buildSuccessMap(result);}*//**//*** 手机号码绑定提交* @param request* @param response* @param code* @param new_mobile* @param t* @return* @throws Exception*//*@RequestMapping(value="/buyer/account_mobile_bind_save", method = RequestMethod.POST)public Map<String, Object> account_mobile_bind_saveEntity(HttpServletRequest request,HttpServletResponse response, String code, String new_mobile,String t) throws Exception {Map<String, Object> result = new HashMap<String, Object>();if (StringUtils.isEmpty(code)) {result.put("op_title", "验证码不能为空,支付密码修改失败");result.put("url", CommUtil.getURL(request) + "/buyer/account_mobile_bind");return ResponseCode.buildCodeMap("20004", "验证码不能为空,支付密码修改失败", result);}VerifyCodeDto mvc = verifyCodeFeignClient.getObjByProperty("mobile","=",  new_mobile);if (mvc == null) {result.put("op_title", "请填写正确的验证码和手机号码,手机绑定失败");result.put("url", CommUtil.getURL(request) + "/buyer/account_mobile_bind");return ResponseCode.buildCodeMap("20003", "请填写正确的验证码和手机号码,手机绑定失败", result);}if (!StringUtils.equals(mvc.getCode(), code)) {result.put("op_title", "验证码错误,手机绑定失败");result.put("url", CommUtil.getURL(request) + "/buyer/account_mobile_bind");return ResponseCode.buildCodeMap("20002", "验证码错误,手机绑定失败", result);}User user = this.userService.selectByPrimaryKey(SecurityUserHolder.getCurrentUser(request).getId());if (new_mobile.equals(user.getMobile())) {result.put("op_title", "新旧输入电话号码不能相同,手机绑定失败");result.put("url", CommUtil.getURL(request) + "/buyer/account_mobile_bind");return ResponseCode.buildCodeMap("20001", "新旧输入电话号码不能相同,手机绑定失败", result);}user.setMobile(new_mobile);this.userService.updateById(user);verifyCodeFeignClient.deleteById(mvc.getId());result.put("op_title", "手机绑定成功");String content = "尊敬的" + SecurityUserHolder.getCurrentUser(request).getUserName() + "您好,您于" + CommUtil.formatLongDate(new Date())+ "绑定手机号成功。["+ sysConfigFeignClient.getSysConfig().getTitle() + "]";msgToolsFeignClient.sendSMS(user.getMobile(), content);result.put("op_title", "手机绑定成功");result.put("url", CommUtil.getURL(request) + "/buyer/account_safe");return ResponseCode.buildSuccessMap(result);}*//*** 手机绑定短信发送* @param request* @param response* @param new_mobile* @param t*//*@RequestMapping(value="/buyer/account_mobile_bind_sms", method = RequestMethod.POST)public Map<String, Object> account_mobile_bind_sms(HttpServletRequest request,HttpServletResponse response, String new_mobile) {SysConfigDto configDto = sysConfigFeignClient.getSysConfig();if (!configDto.getSmsEnbale()) {return ResponseCode.buildCodeMap("20002", "短信服务未开启", null);}String code = CommUtil.randomInt(4);String content = "";content = "尊敬的" + SecurityUserHolder.getCurrentUser(request).getUserName()+ "您好,您在试图修改" + configDto.getWebsiteName() + "的绑定手机号码," + "手机验证码为:" + code + "。[" + configDto.getTitle() + "]";boolean ret_op = msgToolsFeignClient.sendSMS(new_mobile, content);if (!ret_op) {return ResponseCode.buildCodeMap("20001", "发送短信失败", null);}VerifyCodeDto mvc = verifyCodeFeignClient.getObjByProperty("mobile","=",  new_mobile);if (mvc == null) {mvc = new VerifyCodeDto();}mvc.setAddTime(new Date());mvc.setCode(code);mvc.setMobile(new_mobile);verifyCodeFeignClient.updateById(mvc);return ResponseCode.buildSuccessMap(null);}*//*** 已有账号绑定保存* @param request* @param response* @param userName* @param password* @param mobile_verify_code* @param mobile*/@RequestMapping(value="/buyer/datum2", method = RequestMethod.POST)public Map<String, Object> datum2(HttpServletRequest request,HttpServletResponse response, String userName, String password,String mobile_verify_code, String mobile){Map<String, Object> result = new HashMap<String, Object>();VerifyCodeDto mvc = verifyCodeFeignClient.getObjByProperty("mobile","=",  mobile);if (mvc == null) {result.put("op_title", "请填写正确的验证码和手机号码,手机绑定失败");result.put("url", CommUtil.getURL(request) + "/buyer/account_mobile_bind");return ResponseCode.buildCodeMap("20003", "请填写正确的验证码和手机号码,手机绑定失败", result);}String passwd = Md5Encrypt.md5(password).toLowerCase();Map<String, Object> map = Maps.newHashMap();map.put("userName", userName);map.put("passwd", passwd);List<User> users = this.userService.queryPageList(map);if ((mvc != null) && (mvc.getCode().equalsIgnoreCase(mobile_verify_code))&& (users.size() > 0)) {User bind_user = (User) users.get(0);if (CommUtil.null2String(bind_user.getOpenId()).equals("")) {User current_user = this.userService.selectByPrimaryKey(SecurityUserHolder.getCurrentUser(request).getId());if (current_user != null) {bind_user.setOpenId(current_user.getOpenId());bind_user.setUserMark(null);this.userService.updateById(bind_user);Map<String,Object> json = Maps.newHashMap();json.put("login", Boolean.valueOf(true));json.put("userName", userName);json.put("passwd", passwd);json.put("userId", current_user.getId());return ResponseCode.buildSuccessMap(json);}}return ResponseCode.buildCodeMap("20001", "参数错误", null);} else {return ResponseCode.buildCodeMap("20002", "验证码错误", null);}}/*** 已有账号绑定保存错误提示* @param request* @param response* @return@RequestMapping(value="/buyer/datum_error", method = RequestMethod.GET)public Map<String, Object> datum_error(HttpServletRequest request,HttpServletResponse response) {Map<String, Object> result = new HashMap<String, Object>();result.put("op_title", "用户名或验证码输入错误!");result.put("url", CommUtil.getURL(request) + "/buyer/center");return ResponseCode.buildSuccessMap(result);}*/@RequestMapping(value = "/test", method = RequestMethod.POST)public ResponseVO login1( HttpServletRequest request){return MemberResponseCode.buildEnumResponseVO(MemberResponseCode.RESPONSE_CODE_USER_PASSWORD_NOT_EMPTY, null);}/*** 用户登录(WAP)* @param request* @return*/@RequestMapping(value = "/login", method = RequestMethod.POST)public ResponseVO login(@RequestBody JSONObject json, HttpServletRequest request){//获取数据String username = json.optString("username");String password = json.optString("password");//验证用户是否为空;if(StringUtils.isEmpty(username)){return MemberResponseCode.buildEnumResponseVO(MemberResponseCode.RESPONSE_CODE_USER_NAME_NOT_EMPTY, null);}//验证密码是否为空;if(StringUtils.isEmpty(password)){return MemberResponseCode.buildEnumResponseVO(MemberResponseCode.RESPONSE_CODE_USER_PASSWORD_NOT_EMPTY, null);}HashMap<String, Object> params = new HashMap<String, Object>();params.put("userName", username);List<User> User_list = userService.queryPageList(params);if(User_list == null||User_list.size()<1){return MemberResponseCode.buildEnumResponseVO(MemberResponseCode.RESPONSE_CODE_USER_DOES_NOT_EXIST, null);}User info = User_list.get(0);//判断用户是否禁用if( -1== info.getStatus()){return MemberResponseCode.buildEnumResponseVO(MemberResponseCode.RESPONSE_CODE_USER_NAME_IS_DISABLE, null);}//用户密码是否匹配if(!StringUtils.equals(Md5Encrypt.md5(password), info.getPassword())){return MemberResponseCode.buildEnumResponseVO(MemberResponseCode.RESPONSE_CODE_USER_PASSWORD_NOT_VALIDATE, null);}String token = JWT.sign(info.getId() + ";" + System.currentTimeMillis()+";"+"app", 0);// 将token存到redis中,有效期24小时 redisUtil.set(Globals.ANDROID_LOGIN_MARK + info.getId(), token, Globals.USER_INFO_EXPIRE_TIME);// 覆盖redis用户信息UserDto userDto = new UserDto();BeanUtils.copyProperties(info, userDto);redisUtil.set(Globals.USER_INFO_MARK + info.getId(), userDto, Globals.USER_INFO_EXPIRE_TIME);//加密用户名、密码 /* String token = JWT.sign(info.getId(), 0);//将用户名密码生成的token信息放入redis缓存redisUtil.set(Globals.WAP_LOGIN_MARK + info.getId(), token);*/Map<String, Object> result = new HashMap<String, Object>();//根据uid查询member信息User user = userService.selectByPrimaryKey(info.getId());/*if (user.getPhoto_id()!=null) {AccessoryDto accessoryDto = accessoryFeignClient.selectByPrimaryKey(user.getPhoto_id());if (accessoryDto!=null) user.setPhoto(accessoryDto);}*/result.put("userInfo", user);result.put("token", token);return ResponseCode.buildEnumResponseVO(ResponseCode.SUCCESS, result);}private static final String REGEX1 = "(.*管理员.*)";private static final String REGEX2 = "(.*admin.*)";/*** 注册完成* @param request* @param response* @param userName* @param password* @param email* @param code* @param user_type* @return* @throws HttpException* @throws IOException* @throws InterruptedException*/@RequestMapping(value="/register_finish", method = RequestMethod.POST)public Map<String, Object> register_finish(@RequestBody JSONObject json,HttpServletRequest request, HttpServletResponse response) throws HttpException, IOException, InterruptedException {// 获取数据String userName = json.optString("username");String password = json.optString("password");String user_type = json.optString("user_type");String directSellingParent_id = json.optString("directSellingParent_id");String email = json.optString("email");// 验证用户是否为空;if (StringUtils.isEmpty(userName)) {return ResponseCode.buildFailMap("10004", "参数错误");}// 验证密码是否为空;if (StringUtils.isEmpty(password)) {return ResponseCode.buildFailMap("10004", "参数错误");}SysConfigDto sysConfig = sysConfigFeignClient.getSysConfig();//查询是否有用户名HashMap<String, Object> map = new HashMap<String, Object>();map.put("userName", userName);List<User> User_list = userService.queryPageList(map);if (User_list.size() > 0) {return ResponseCode.buildFailMap("10003", "该用户名已注册");}try {boolean reg = true;if ((userName.matches(REGEX1)) || (userName.toLowerCase().matches(REGEX2))) {reg = false;}if (reg) {User user = new User();user.setUserName(userName);user.setUserRole("BUYER");user.setAddTime(new Date());user.setEmail(email);user.setAvailableBalance(BigDecimal.valueOf(0L));user.setFreezeBlance(BigDecimal.valueOf(0L));if (directSellingParent_id != null) {User directSellingParent = this.userService.selectByPrimaryKey(CommUtil.null2Long(directSellingParent_id));user.setDirectSellingParent(directSellingParent);}if ((user_type != null) && (!user_type.equals(""))) {user.setUser_type(CommUtil.null2Int(user_type));user.setContact_user(request.getParameter("contact_user"));user.setDepartment(request.getParameter("department"));user.setTelephone(request.getParameter("telephone"));user.setMobile(request.getParameter("mobile"));user.setCompany_name(request.getParameter("company_name"));AreaDto area = this.areaFeignClient.selectByPrimaryKey(CommUtil.null2Long(request.getParameter("area_id")));user.setCompany_address(area.getParent().getParent().getAreaName()+ area.getParent().getAreaName()+ area.getAreaName()+ " "+ request.getParameter("company_address"));if (request.getParameter("company_purpose") != null) {if (!request.getParameter("company_purpose").equals("")) {user.setCompany_purpose(request.getParameter("company_purpose").substring(0,request.getParameter("company_purpose").length() - 1));}}user.setCompany_url(request.getParameter("company_url"));user.setCompany_person_num(request.getParameter("company_person_num"));user.setCompany_trade(request.getParameter("company_trade"));user.setCompany_nature(request.getParameter("company_nature"));}user.setPassword(Md5Encrypt.md5(password).toLowerCase());Map<String, Object> params = Maps.newHashMap();params.put("type", "BUYER");List<Role> roles = this.roleService.queryPageList(params);this.userService.saveUserRole(user.getId(), roles);if (sysConfig.getIntegral()) {user.setIntegral(sysConfig.getMemberRegister());try {this.userService.saveEntity(user);} catch (Exception e) {e.printStackTrace();}IntegralLogDto log = new IntegralLogDto();log.setAddTime(new Date());log.setContent("用户注册增加"+ sysConfig.getMemberRegister() + "分");log.setIntegral(sysConfig.getMemberRegister());log.setIntegral_user_id(user.getId());log.setType("reg");integralLogFeignClient.saveEntity(log);} else {this.userService.saveEntity(user);}Album album = new Album();album.setAddTime(new Date());album.setAlbum_default(true);album.setAlbum_name("默认相册");album.setAlbum_sequence(55536);album.setUser_id(user.getId());this.albumService.saveEntity(album);return ResponseCode.buildSuccessMap(null);}return ResponseCode.buildFailMap("10001", "请求失败");} catch (Exception e) {}return ResponseCode.buildSuccessMap(null);}/**发送短信   (用户登录界面)* @param mobile* @return*/@RequestMapping(value ="/mobile_send", method = RequestMethod.POST)public Map<String, Object> mobile_send(@RequestBody JSONObject json) {// 获取数据String mobile = json.optString("mobile");String type = json.optString("type");if (mobile == null || "".equals(mobile)) {return ResponseCode.buildReturnMap(ResponseCode.RESPONSE_CODE_USER_MOBILE_OR_TELEPHONE_NOT_EMPTY,"联系方式不能为空");}/*  // 系统配置是否开启短信功能  (后面有做验证)SysConfigDto sysConfig = sysConfigFeignClient.getSysConfig();if (sysConfig.getSmsEnbale() == false) {return ResponseCode.buildReturnMap(ResponseCode.RESPONSE_CODE_SMS_CLOSE,"系统尚未开启短信服务");}*/// 短信模板(固定模板,一个是注册,一个登陆) 登录验证码String mark = "sms_tobuyer_user_login_notify"; // 后台短信模板登录标识if (CommUtil.null2String(type).equals("find")) {mark = "sms_tobuyer_find_password_notify"; // 重置密码} else if (CommUtil.null2String(type).equals("bind")) {mark = "sms_tobuyer_user_login_notify"; // 通用验证码} else {List<User> users = this.userService.selectByMobileOrUserName(mobile);// (手机号唯一),通过手机号(账号),查询用户if (users != null && users.size() > 0) {mark = "sms_tobuyer_user_login_notify"; // 登录验证码} else {mark = "sms_tobuyer_tips_notify";}}// 根据短信模板标识(固定)查询模板信息HashMap<String, Object> hashMap = new HashMap<String, Object>();hashMap.put("mark", mark); // 模板标识hashMap.put("open", 1); // 开启List<TemplateDto> templatedto_list = templateFeignClient.queryPageList(hashMap);if (templatedto_list.size()==0) {return ResponseCode.buildReturnMap(ResponseCode.RESPONSE_CODE_SMS_CLOSE,"系统尚未开启短信服务");}ThreadLocalRandom current = ThreadLocalRandom.current();int muber = current.nextInt(100000, 1000000);if (!redisUtil.existsHashKey("mobile", mobile)) {    //查询是否存在redisUtil.setHashvValueTimeout("mobile", mobile, muber, 5, TimeUnit.MINUTES);       //不存在,则创建,超时时间为5分钟//TODO(待修改,动态)  目前是阿里的内容String content = "{\"code\":\"" + muber + "\"}";msgToolsFeignClient.sendSMS(mobile,templatedto_list.get(0).getSms_mark(),content);     //发送短信请求} else {Object hashValue = redisUtil.getHashValue("mobile", mobile);String content = "{\"code\":\"" + hashValue.toString() + "\"}";msgToolsFeignClient.sendSMS(mobile, templatedto_list.get(0).getSms_mark(), content);}//RedisCache.removeObject(mobile);return ResponseCode.buildSuccessMap("短信已发送");}/**短信验证* @param mobile* @param code* @return*//*@RequestMapping({"/code_validate"})public String  code_validate(@RequestBody JSONObject json){String mobile = json.optString("mobile");String code = json.optString("code");if(mobile == null || "".equals(mobile)){return "404";}if(code == null || "".equals(code)){return "404";}Jedis jedis = RedisCache.getJedis();if(jedis.exists(SerializeUtil.serialize(mobile))){byte[] bs = jedis.get(SerializeUtil.serialize(mobile));Object deserialize = SerializeUtil.deserialize(bs);if(deserialize != null){if(CommUtil.null2String(code).equals(deserialize.toString())){return "200";}else{return "400";}}}if(jedis != null){jedis.close();}return "401";}*//**短信验证* @param mobile* @param code* @return*//*@RequestMapping({"/code_validate"})public  Boolean code_validate(String mobile,String code){if(mobile == null || "".equals(mobile)){return false;}if(code == null || "".equals(code)){return false;}Jedis jedis = RedisCache.getJedis();if(jedis.exists(SerializeUtil.serialize(mobile))){byte[] bs = jedis.get(SerializeUtil.serialize(mobile));Object deserialize = SerializeUtil.deserialize(bs);if(deserialize != null){if(CommUtil.null2String(code).equals(deserialize.toString())){RedisCache.removeObject(mobile);return true;}}}if(jedis != null){jedis.close();}return false;}*//*** 用户申请主播,* 已是主播则进行更换上级* @param request* @param response* @return*/@RequestMapping({ "/buyer/add_livecode" })public Map<String, Object> add_livecode(HttpServletRequest request, HttpServletResponse response,@RequestBody JSONObject json) {HashMap<String, Object> result = new HashMap<>();User user = userService.selectByPrimaryKey(SecurityUserHolder.getCurrentUserId(request));// 如果是审核通过的主播,则进行更换result.put("Is_live", user.getIs_live());// 是否是主播result.put("Live_code_up", user.getLive_code_up());result.put("goods_id", 502); // 增值服务商品idreturn ResponseCode.buildSuccessMap(result);}//进身份证验证页面@RequestMapping({ "/inLiveCode" })public Map<String, Object> inLiveCode(HttpServletRequest request, HttpServletResponse response) {UserDto userDto = SecurityUserHolder.getCurrentUser(request);if(userDto == null){return ResponseCode.buildEnumMap(ResponseCode.TOKEN_EXPIRE, null);}User currentUser = userService.selectByPrimaryKey(userDto.getId());HashMap<String, Object> result = new HashMap<>();result.put("is_live", currentUser.getIs_live());if(currentUser.getIs_live() == 1){VerifyidCard vc = verifyidCardService.selectByUserId(currentUser.getId());if(vc != null){result.put("vc", vc);}}return ResponseCode.buildSuccessMap(result);}/*** 校验邀请码(添加了身份证验证功能)* @param request* @param response* @return*/@RequestMapping({ "/checkLiveCode" })public Map<String, Object> checkLiveCode(HttpServletRequest request, HttpServletResponse response,@RequestBody JSONObject json) {String liveCode = json.optString("liveCode");String name = json.optString("name");String code = json.optString("code");String phone = json.optString("phone");Long img_id1 = json.optLong("img_id1");Long img_id2 = json.optLong("img_id2");Long img_id3 = json.optLong("img_id3");if(StringUtils.isBlank(name) || StringUtils.isBlank(code) || StringUtils.isBlank(phone) || img_id1 == null ||  img_id2 == null || img_id3 == null){return ResponseCode.buildEnumMap(ResponseCode.REQ_CANNOT_EMPTY, null);}if(StringUtils.isBlank(liveCode)){liveCode = "100000";}UserDto userDto = SecurityUserHolder.getCurrentUser(request);if(userDto == null){return ResponseCode.buildEnumMap(ResponseCode.TOKEN_EXPIRE, null);}HashMap<String, Object> result = new HashMap<>();User currentUser = userService.selectByPrimaryKey(userDto.getId());User user = userService.selectByLiveCode(CommUtil.null2Long(liveCode));//100086boolean isflag=false;if (user!=null) {  //不能是自己的邀请码并且这个邀请码存在currentUser.setLive_code_up(CommUtil.null2Long(liveCode));userService.updateById(currentUser);isflag=true;}result.put("check", isflag);result.put("goods_id", 502); // 增值服务商品idVerifyidCard vc = verifyidCardService.selectByUserId(currentUser.getId());boolean bol = false;if(vc == null){//保存用户身份证信息vc = new VerifyidCard();vc.setAddTime(new Date());vc.setDeleteStatus(0);bol = true;}vc.setName(name);vc.setCode(code);vc.setPhone(phone);vc.setImg_id1(img_id1);vc.setImg_id2(img_id2);vc.setImg_id3(img_id3);vc.setUid(currentUser.getId());if(bol){verifyidCardService.saveEntity(vc);}else{verifyidCardService.updateById(vc);}return ResponseCode.buildSuccessMap(result);}/*** 判断店铺是否开通主播(用户名+密码)* @param paraMap* @return 不为空表示已经开通*/@RequestMapping(value = "/apiForFeign/checkingAccount", method = RequestMethod.POST)public Long checkingAccount(@RequestBody Map<String, String> paraMap){String userName = paraMap.get("userName");String password = paraMap.get("password");User user = userService.selectByUserName(userName);if(user == null){return null;}if(!StringUtils.equals(password, user.getPassword())){return null;}if(user.getIs_live() != 2){return null;}return user.getId();}/*** 判断店铺是否开通主播(用户名)* @param paraMap* @return 不为空表示已经开通*/@RequestMapping(value = "/apiForFeign/checkingUserName", method = RequestMethod.POST)public Long checkingUserName(@RequestBody Map<String, String> paraMap){String userName = paraMap.get("userName");User user = userService.selectByUserName(userName);if(user == null){return null;}if(user.getIs_live() != 2){return null;}return user.getId();}/*** 根据用户名查询用户* @param username* @return*/@RequestMapping(value = "/apiForFeign/selectByUserName", method = RequestMethod.POST)public User selectByUserName(@RequestParam("userName")String userName){return userService.selectByUserName(userName);}//将邀请注册奖金提现到余额@RequestMapping(value ="/invProChangeBalance", method = RequestMethod.POST)public Map<String, Object> invProChangeBalance(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject json) {String money = json.optString("money");if(StringUtils.isBlank(money)){return ResponseCode.buildEnumMap(ResponseCode.REQ_CANNOT_EMPTY, null);}UserDto user = SecurityUserHolder.getCurrentUser(request);if(user == null || user.getId() == null){return ResponseCode.buildEnumMap(ResponseCode.TOKEN_EXPIRE, null);}User inviter = userService.selectByPrimaryKey(user.getId());//判断是否超过额度if(new BigDecimal(money).compareTo(inviter.getInvitation_profit()) == 1){return ResponseCode.buildCodeMap("21001", "超过可转额度", null);}//判断金额是不是20的倍数Integer changeMoney = Integer.parseInt(money);if(changeMoney >= 0 && changeMoney%20 == 0){inviter.setInvitation_profit(inviter.getInvitation_profit().subtract(new BigDecimal(money)));BigDecimal before = inviter.getAvailableBalance();inviter.setAvailableBalance(inviter.getAvailableBalance().add(new BigDecimal(money)));userService.updateById(inviter);try{//添加记录PredepositLog log = new PredepositLog();log.setPd_log_user_id(inviter.getId());log.setPd_log_amount(new BigDecimal(money));log.setAmount_before(before);log.setAmount_after(inviter.getAvailableBalance());log.setAddTime(new Date());log.setDeleteStatus(0);log.setPd_log_info("邀请注册收益转余额");log.setPd_op_type("分销结算收益");log.setPd_type("可用预存款");predepositLogService.saveEntity(log);}catch (Exception e) {logger.error("UserController >> invProChangeBalance >> Exception:"+ e.getMessage());}}return ResponseCode.buildSuccessMap(true);}/*** 下单显示  (随机100个用户 )* @param request* @param response* @return*/@RequestMapping({ "/userIndex" })public Map<String, Object> userIndex(HttpServletRequest request, HttpServletResponse response) {//UserDto userDto = SecurityUserHolder.getCurrentUser(request);Map<String, Object> params = Maps.newHashMap();/*if (userDto!=null) {params.put("id_no", userDto.getId());}*/params.put("deleteStatus", 0);params.put("weixin_unionID_is_no", "weixin_unionID_is_no");// 总用户数量int selectCount = userService.selectCount(params);int c = 0;int nextInt =0;if (selectCount<100) {c=1;}else{c = (int) selectCount / 100;Random random = new Random();nextInt = random.nextInt(c);}HashMap<String, Object> result = new HashMap<>();// 用户列表//List<User> list = new ArrayList<User>();List<User> list = (List<User>) redisUtil.get("userIndexList");/*result.put("userIndexList", list);return ResponseCode.buildSuccessMap(result);*/if (null == list || list.size() < 1) {params.clear();params.put("start", nextInt);params.put("weixin_unionID_is_no", "weixin_unionID_is_no");list = userService.listIndex(params);//设置成一天过期long oneday=24*60*60;redisUtil.set("userIndexList", list,oneday);result.put("userIndexList", list);} else {result.put("userIndexList", list);}return ResponseCode.buildSuccessMap(result);}/*** 查看用户是否有公众号openid (没有则去鱼易库里查,在没有就提示给前端)* @param request* @param response* @return*//*@RequestMapping({ "/buyer/selectWxOpenId" })public Map<String, Object> selectWxOpenId(HttpServletRequest request, HttpServletResponse response,@RequestBody JSONObject json) {HashMap<String, Object> result = new HashMap<>();User user = userService.selectByPrimaryKey(SecurityUserHolder.getCurrentUserId(request));if(user==null){// 用户不存在return ResponseCode.buildFailMap("用户不存在", null);}boolean isfalg=false;String openid=user.getWx_open_id();//为空则去鱼易数据库查if(StringUtils.isEmpty(openid)){JSONObject paramJson = new JSONObject();paramJson.put("username", user.getMobile());String data =  "";try {// 加密datadata = AESUtil.getInstance().Encrypt(paramJson.toString(), AESUtil.akk_secret);} catch (Exception e) {log.error("加密请求参数出错,错误信息"+Exceptions.getStackTraceAsString(e));}Map<String,String> params = new HashMap<String, String>();params.put("data", data);String url = "https://www.fishmq.cn/apply/synchroOpenid";String result1 = HttpClientUtils.doPostReturn(url, params, "application/json; charset=UTF-8"); //UTF-8//{"msg":"您的账号未绑定渔易水产科技公众号","code":500}Map map = (Map)JSON.parse(result1);Integer code = (Integer)map.get("code");if(code == 200){openid=(String) map.get("msg");isfalg=true;//将openid 保存进用户表user.setWx_open_id(openid);userService.updateById(user);}}//如果openid还为空则返回false,需要用户关注公众号result.put("isfalg", isfalg);return ResponseCode.buildSuccessMap(result);}*/@RequestMapping(value = "/logoff", method = RequestMethod.POST)public Map<String,Object> logoff(HttpServletRequest request,@RequestBody JSONObject json){UserDto currentUser = SecurityUserHolder.getCurrentUser(request);User user = this.userService.selectByPrimaryKey(currentUser.getId());// 注销用户user.setUserName("logoff_" + user.getUserName());user.setMobile("logoff_" + user.getMobile());user.setStatus(-2);user.setWeixin_unionID("logoff_"+user.getWeixin_unionID());user.setOpenId("logoff_"+user.getOpenId());user.setWx_open_id("logoff_"+user.getWx_open_id());user.setDeleteStatus(1);// 修改登录信息user.setLastLoginDate(new Date());user.setLastLoginIp(CommUtil.getIpAddr(request));userService.updateById(user);// 将token删除redisUtil.remove(Globals.ANDROID_LOGIN_MARK + user.getId());// 返回结果集return ResponseCode.buildSuccessMap(new HashMap<>());}}
 @源码地址来源: https://minglisoft.cn/honghu2/business.html

JAVA版B2B2C商城源码 多商家入驻商城系统 直播带货 新零售商城 o2o商城 电子商务 spring boot商城相关推荐

  1. JAVA电商 B2B2C商城系统 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城

    JAVA电商 B2B2C商城系统 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城 1. 鸿鹄Cloud架构清单 2. Commonservice(通用服务) 通用服务: ...

  2. JAVA版B2B2C商城源码 多商家入驻商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城

    @源码地址来源:http://minglisoft.cn/hhcloud/ 会员控制类: /*** Copyright © 2012-2017 <a href="http://ming ...

  3. JAVA版B2B2C商城源码 多商家入驻商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城 直播商城 短视频商城 springboot商城 spring boot商城

    @源码地址来源: https://minglisoft.cn/honghu2/business.html 会员控制类: /*** Copyright © 2012-2017 <a href=&q ...

  4. JAVA版B2B2C商城源码 多商家入驻商城系统 直播带货 新零售商城 o2o商城 电子商务

    @源码地址来源: https://minglisoft.cn/honghu2/business.html 直播带货源码: /*** Copyright © 2012-2017 <a href=& ...

  5. JAVA版电商 B2B2C商城系统 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城 直播商城 社交电商 spring boot商城 spring cloud商城

    1. 涉及平台 平台管理.商家端(PC端.手机端).买家平台(H5/公众号.小程序.APP端(IOS/Android).微服务平台(业务服务) 2. 核心架构 Spring Cloud.Spring ...

  6. JAVA商城 B2B2C商城系统 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城 直播商城 短视频商城 springcloud商城 spring cloud商城

    1. 涉及平台 平台管理.商家端(PC端.手机端).买家平台(H5/公众号.小程序.APP端(IOS/Android).微服务平台(业务服务) 2. 核心架构 Spring Cloud.Spring ...

  7. JAVA电商 B2B2C商城系统 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城 直播商城 短视频商城 springcloud商城 spring cloud商城

    1. 涉及平台 平台管理.商家端(PC端.手机端).买家平台(H5/公众号.小程序.APP端(IOS/Android).微服务平台(业务服务) 2. 核心架构 Spring Cloud.Spring ...

  8. JAVA商城 B2B2C商城系统 小程序 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 分销商城 直播商城 短视频商城 springcloud商城 spring cloud商

    1. 涉及平台 平台管理.商家端(PC端.手机端).买家平台(H5/公众号.小程序.APP端(IOS/Android).微服务平台(业务服务) 2. 核心架构 Spring Cloud.Spring ...

  9. JAVA商城 B2B2C +o2o+ springcloud+ spring cloud商城系统 小程序 多用户商城系统 直播带货 新零售商城

    1. 涉及平台 平台管理.商家端(PC端.手机端).买家平台(H5/公众号.小程序.APP端(IOS/Android).微服务平台(业务服务) 2. 核心架构 Spring Cloud.Spring ...

最新文章

  1. 15. Python 函数
  2. C/C++输入输出函数(I/O)总结
  3. 记录下UIButton的图文妙用和子控件的优先显示
  4. 退休当月要干到月底吗_在一线城市交社保那么多年,退休后到底在哪领养老金,要回老家吗?...
  5. myclipes 配置php,myclipse使用技巧
  6. javascript框架比较(四)
  7. 《深入浅出DPDK》读书笔记(十二):DPDK虚拟化技术篇(半虚拟化Virtio)
  8. JAVA遇见HTML——JSP篇:JSP内置对象(上)
  9. expdp 简单例子
  10. [ROS-Beginner]6.理解ROS的Topics
  11. JavaSE基础———StringBuffer StringBuilder Arrays和基本数据类型包装类
  12. 如何实现混合线性模型?
  13. 中台建设利器-SPI插件机制
  14. Python 批量获取今日头条街拍美图
  15. RFSoC应用笔记 - RF数据转换器 -09- RFSoC关键配置之RF-DAC内部解析(三)
  16. 前端UI框架横向对比
  17. 【报告分享】衣物护理生活小电器—消毒、干衣需求创新报告-TMIC消费者洞察(附下载)
  18. Ubuntu18.04安装ROS最后的rosdep update不成功解决方案(亲测可行)
  19. 所见即所得网页html编辑器,在线所见即所得HTML编辑器的实现原理浅析
  20. AcWing 1309. 车的放置 (加法原理、乘法原理、组合数排列数的求法、乘法逆元)

热门文章

  1. 边缘计算如何为工业物联网提供便利和好处
  2. 导航地图5_系统搜索
  3. hadoop集群迁移
  4. 微星z370安装linux系统,华硕z370主板装win10系统及bios设置(uefi+gpt方式安装)
  5. 动态链接一:ELF文件格式
  6. Intro to CRF Chinese Word Segmentation
  7. proteus绘制电路图常用元器件对照
  8. csv导入phpmyadmin第一行列数错误
  9. UG模具设计滑块设计要点讲解,建议收藏
  10. 已知空间四点,求四点拟合的球圆心和半径