| | |
| | | @Test |
| | | public void addApp() { |
| | | |
| | | AppInfo appInfo = new AppInfo(); |
| | | appInfo.setAppKey("1000001"); |
| | | appInfo.setAppName("天天免费抽奖"); |
| | | appInfo.setAppSecret(StringUtil.Md5(System.currentTimeMillis() + "")); |
| | | appInfo.setAppType(AppInfo.AppType.alipayXCX); |
| | | try { |
| | | appInfoManager.addApp(appInfo); |
| | | } catch (AppException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | // AppInfo appInfo = new AppInfo(); |
| | | // appInfo.setAppKey("1000001"); |
| | | // appInfo.setAppName("天天免费抽奖"); |
| | | // appInfo.setAppSecret(StringUtil.Md5(System.currentTimeMillis() + "")); |
| | | // appInfo.setAppType(AppInfo.AppType.alipayXCX); |
| | | // try { |
| | | // appInfoManager.addApp(appInfo); |
| | | // } catch (AppException e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | |
| | | AppAlipayInfoWithBLOBs alipayInfoWithBLOBs = new AppAlipayInfoWithBLOBs(); |
| | | alipayInfoWithBLOBs.setAlipayAppId("2021002111652055"); |
| | | alipayInfoWithBLOBs.setAppId(appInfo.getId()); |
| | | alipayInfoWithBLOBs.setAppId(4L); |
| | | alipayInfoWithBLOBs.setAlipayPrivateKey("MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCYoo2UGR2VYGOIhNg2jvDGYuilR1aHH6kz6HbYVuFbpCwfnONkvcY5TMw0oDrzKceHGZOt04gPcQdTacIZs9cMQwUapy/735xW6Ix7QihvWlqjCxBa5o0LN2cXbsaF06a4TUxuNrXZwk32k3uuwHZdZ+EsI1C5J9wN1B2ltDIwniSk7RTEFNEWpgKtdAd25KLkElUFXAYK2aWZbQ/ogPAPc2wSpj0fmLvUB5OZLvW/PMFIsAA+63lrlcAe+SksCTJkFsKg7uWzAnpPVrrVkbCKVGsMd1Xi29OSWWJfFch3TJ+mmkOIsKA4f1Zf99rsGdODXMqHqeba+pG6vaZ/zzbbAgMBAAECggEAYGUAftBhw43NLlGfbs1VOCUNAhyMg+e150dfjv9HcaW8C/b8EQpc3qEmsfGjaSAwl5zKjFP0MLRUSRSYdb0DCgZledCuWCZ/SM+ysME2YiSw6xk4qf/CgZvqqnzWOXxSZUDEDTLWJAE3VYsM6G86EYFiToq7F0QaEE2ur5Cexd6Owif9A/ruvOAmbtMfMeKTvsfmNQHT2N5eUYNf1HvvqogKjYuhyz7D3LH51rCXpmKPxo3ohKFL4eBNO42VhvC+78jAfICsWm5l2x706iWGRv6wofifR/rIpnEsIa7RyTENihR2yI77as5vWqJy7J+BZHNtGnBec4FMqQpbdUkWqQKBgQDdbPKm4AA0IN7kSqtVBhxLhK8U5xXlQi3qpWZq0w9jAo1iZJCiy2j0G8dEnLxT40zZlj6tAe5n0p4lUP4q0zpQTfHQcJHoqCX9h09BujOds4Q4AKJSAv61IxrNreZ8A0LktrvpqmjiTDpfo0ASA6hTBsBR3lbzsEb0rx/Kc7AYhwKBgQCwd9YEDLe81Wxymp1QVKD+RCGzGIo/LHljPDWYQBRoJxUZwglo4Pibeu6Ud3zXinB7fftKzFtb9hpjw2R5y2AQOAEOyBeCwpBVT25TrF767halKM7qOhGNox74h1Rmn3P7R+8FY/NQVaRFVqgmuyo3mB/K3rfU2pRwXhDD9UhIDQKBgQDSUslOX1lyKoLtoEuMMIix5u+TUElJAgqxZriY4bAs4ODBRDrql4Iy1Sv7bVGp8S8vQvp3xWzaK4JSedNjhE5QtyjpT/QYZZfocR2ElkSvGDSQKXIFqpicICM2mWdkBokEzNpDgr2rrrKH435ZXiYF71TArwwy3w8XHj15RVhQgwKBgQCqU4BmeEAAK595HnMozgZ2ZRyB2PXW8/5WIg843ODVhqN/MSIT8NEEgSs2cf41rJHVIEwkbgrgQDJIiJe6VuppvSSIN+k5dMILFZfPe1hRquyAjVrqCRJYO1HxX+2+/7jamRvDgC2hJIhhxLqYZ57f+hz1mvKkqDUOIDzeZylVIQKBgQCP6gZtZ8eCM3jx5Z6gpgHFdvAIcwJVdRep4dr2f1aHZ/f1sy45UxOoFIgWJt2IWo5jPRBWDPeImN9w8gLSkJSSIS1yFWkoXCoDXSF0aO+61I9S1vJf383HawBgLBrVMG7dOUA+8PTFJCt4o6NQ7weMPH9xzgMkFB6g+MQYRYIelA=="); |
| | | try { |
| | | String rootPath = "D:\\项目\\支付宝小程序\\密匙\\天天免费抽奖\\证书\\"; |
| | |
| | | |
| | | import com.ks.daylucky.pojo.DO.UserInfo; |
| | | import com.ks.daylucky.pojo.VO.AcceptData; |
| | | import com.ks.daylucky.pojo.VO.ActivityAwardVO; |
| | | import com.ks.daylucky.pojo.VO.SimpleUser; |
| | | import com.ks.daylucky.pojo.VO.UserActivityUnRecievedAwardVO; |
| | | import com.ks.daylucky.service.UserInfoService; |
| | | import com.ks.daylucky.util.Constant; |
| | | import com.ks.daylucky.util.UserInfoUtil; |
| | | import com.ks.daylucky.util.factory.vo.ActivityListItemInfoVOFactory; |
| | | import com.ks.lucky.exception.LuckyActivityAwardException; |
| | | import com.ks.lucky.exception.LuckyActivityAwardResultException; |
| | | import com.ks.lucky.exception.LuckyActivityException; |
| | |
| | | public String getDrawnInfo(AcceptData acceptData, Long activityId, int count) { |
| | | List<LuckyActivityAwards> list = luckyActivityAwardService.getAwardList(activityId); |
| | | JSONArray array = new JSONArray(); |
| | | int p = 0; |
| | | for (LuckyActivityAwards award : list) { |
| | | award = luckyActivityAwardService.getAwardDetail(award.getId()); |
| | | JSONObject item = new JSONObject(); |
| | | List<LuckyActivityAwardResult> awardResults = luckyActivityAwardResultService.getResultListWithAwardInfo(activityId, award.getId(), 1, count); |
| | | long resultCount = luckyActivityAwardResultService.countResultWithAwardInfo(activityId, award.getId()); |
| | | |
| | | List<SimpleUser> userList = new ArrayList<>(); |
| | | Map<Long, UserInfo> userMap = userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(awardResults)); |
| | | for (LuckyActivityAwardResult info : awardResults) { |
| | |
| | | } |
| | | } |
| | | item.put("userList", userList); |
| | | item.put("award", JsonUtil.getApiCommonGson().toJson(award)); |
| | | item.put("userCount", resultCount); |
| | | item.put("award", ActivityListItemInfoVOFactory.create(award, p++)); |
| | | array.add(item); |
| | | } |
| | | |
| | |
| | | import org.yeshi.utils.encrypt.AESUtil; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.security.AccessControlContext; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | |
| | | record.setUid(acceptData.getUid()); |
| | | activityScanRecordService.addRecord(record); |
| | | |
| | | |
| | | AppConfig config = appConfigService.getConfigCache(acceptData.getApp().getId(), ConfigKeyEnum.disclaimers, acceptData.getVersion()); |
| | | if (config != null) { |
| | | vo.setDisclaimers(config.getValue()); |
| | | } |
| | | return JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(vo)); |
| | | } |
| | | |
| | |
| | | if (list != null && list.size() > 0) { |
| | | Map<Long, UserInfo> userInfoMap = userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(list)); |
| | | for (ActivityJoinerRankInfo info : list) { |
| | | UserInfo user = userInfoMap.get(info.getUid()); |
| | | UserInfo user = userInfoMap.get(Long.parseLong(info.getUid())); |
| | | |
| | | if (user != null) { |
| | | if (user.getId().longValue() == acceptData.getUid()) { |
| | | continue; |
| | | } |
| | | voList.add(new ActivityJoinerRankInfoVO(new SimpleUser(user.getId(), user.getNickName(), user.getPortrait()), info.getRank(), info.getWeight())); |
| | | } |
| | | } |
| | |
| | | List<ActivityDetailInfoDTO> voList = activityService.getActivityDetail(activityIdList, appId, uid, type == 2 ? true : false); |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("data",JsonUtil.getSimpleGson().toJson(ActivityListItemInfoVOFactory.create(voList))); |
| | | data.put("data", JsonUtil.getSimpleGson().toJson(ActivityListItemInfoVOFactory.create(voList))); |
| | | data.put("count", count); |
| | | |
| | | return JsonUtil.loadTrueResult(data); |
| | |
| | | package com.ks.daylucky.controller.api.client; |
| | | |
| | | import com.ks.daylucky.pojo.DO.AdviceRecord; |
| | | import com.ks.daylucky.pojo.DO.AppConfig; |
| | | import com.ks.daylucky.pojo.DO.SponsorSignUpRecord; |
| | | import com.ks.daylucky.pojo.DTO.ConfigKeyEnum; |
| | | import com.ks.daylucky.pojo.VO.AcceptData; |
| | | import com.ks.daylucky.service.AdviceService; |
| | | import com.ks.daylucky.service.AppConfigService; |
| | | import com.ks.daylucky.service.SponsorSignUpService; |
| | | import net.sf.json.JSONObject; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | |
| | | @Resource |
| | | private AppConfigService appConfigService; |
| | | |
| | | @Resource |
| | | private AdviceService adviceService; |
| | | |
| | | @Resource |
| | | private SponsorSignUpService sponsorSignUpService; |
| | | |
| | | |
| | | @ResponseBody |
| | | @RequestMapping("getConfig") |
| | |
| | | return JsonUtil.loadTrueResult(data); |
| | | } |
| | | |
| | | /** |
| | | * 建议 |
| | | * |
| | | * @param acceptData |
| | | * @param content |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("advice") |
| | | public String advice(AcceptData acceptData, String content) { |
| | | adviceService.addRecord(new AdviceRecord(acceptData.getUid(), content)); |
| | | return JsonUtil.loadTrueResult(""); |
| | | } |
| | | |
| | | /** |
| | | * 赞助商报名 |
| | | * |
| | | * @param acceptData |
| | | * @param identity |
| | | * @param provider |
| | | * @param phone |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("sponsorSignUp") |
| | | public String sponsorSignUp(AcceptData acceptData, String identity, String provider, String phone) { |
| | | SponsorSignUpRecord record = new SponsorSignUpRecord(); |
| | | record.setIdentity(identity); |
| | | record.setPhone(phone); |
| | | record.setProvider(provider); |
| | | record.setUid(acceptData.getUid()); |
| | | sponsorSignUpService.addRecord(record); |
| | | return JsonUtil.loadTrue(0, null, "提交成功").toString(); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import com.ks.daylucky.exception.UserInfoException; |
| | | import com.ks.daylucky.exception.UserInfoExtraException; |
| | | import com.ks.daylucky.pojo.DO.UserInfo; |
| | | import com.ks.daylucky.pojo.DO.UserInfoExtra; |
| | | import com.ks.daylucky.pojo.DO.UserMsg; |
| | | import com.ks.daylucky.pojo.DTO.AlipayUserInfo; |
| | | import com.ks.daylucky.pojo.DTO.TokenDTO; |
| | | import com.ks.daylucky.pojo.DTO.UserMsgSettings; |
| | | import com.ks.daylucky.pojo.VO.AcceptData; |
| | | import com.ks.daylucky.pojo.VO.UserConfigVO; |
| | | import com.ks.daylucky.service.UserInfoExtraService; |
| | | import com.ks.daylucky.service.UserInfoService; |
| | | import com.ks.daylucky.service.UserMsgService; |
| | | import com.ks.daylucky.util.Constant; |
| | | import com.ks.daylucky.util.RSA2Encryptor; |
| | | import com.ks.daylucky.util.RSAUtil; |
| | | import com.ks.daylucky.util.UserInfoUtil; |
| | | import net.sf.json.JSONObject; |
| | |
| | | return JsonUtil.loadTrueResult(data); |
| | | } |
| | | |
| | | @ResponseBody |
| | | @RequestMapping("getUserConfig") |
| | | public String getUserConfig(AcceptData acceptData){ |
| | | //消息未读数 |
| | | UserInfoExtra extra= userInfoExtraService.getUserInfoExtra(acceptData.getUid()); |
| | | if(extra==null){ |
| | | return JsonUtil.loadFalseResult("用户不存在"); |
| | | } |
| | | UserConfigVO vo=new UserConfigVO(); |
| | | vo.setMsgCount(extra.getMsgUnreadCount()); |
| | | return JsonUtil.loadTrueResult(vo); |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.dao; |
| | | |
| | | import com.ks.daylucky.pojo.DO.AdviceRecord; |
| | | import com.ks.lib.common.dao.MongodbBaseDao; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | @Repository |
| | | public class AdviceRecordDao extends MongodbBaseDao<AdviceRecord> { |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.dao; |
| | | |
| | | import com.ks.daylucky.pojo.DO.SponsorSignUpRecord; |
| | | import com.ks.lib.common.dao.MongodbBaseDao; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | @Repository |
| | | public class SponsorSignUpRecordDao extends MongodbBaseDao<SponsorSignUpRecord> { |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.pojo.DO; |
| | | |
| | | import org.springframework.data.annotation.Id; |
| | | import org.springframework.data.mongodb.core.mapping.Document; |
| | | import org.yeshi.utils.StringUtil; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 建议记录 |
| | | */ |
| | | @Document(collection = "adviceRecord") |
| | | public class AdviceRecord { |
| | | @Id |
| | | private String id; |
| | | private Long uid; |
| | | private String content; |
| | | private Date createTime; |
| | | |
| | | public AdviceRecord(Long uid, String content) { |
| | | this.uid = uid; |
| | | this.content = content; |
| | | this.createTime = new Date(); |
| | | this.id = StringUtil.Md5(uid + "#" + content); |
| | | } |
| | | |
| | | public String getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(String id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Long getUid() { |
| | | return uid; |
| | | } |
| | | |
| | | public void setUid(Long uid) { |
| | | this.uid = uid; |
| | | } |
| | | |
| | | public String getContent() { |
| | | return content; |
| | | } |
| | | |
| | | public void setContent(String content) { |
| | | this.content = content; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.pojo.DO; |
| | | |
| | | import org.springframework.data.annotation.Id; |
| | | import org.springframework.data.mongodb.core.mapping.Document; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 赞助报名记录 |
| | | */ |
| | | @Document(collection = "sponsorSingUpRecord") |
| | | public class SponsorSignUpRecord { |
| | | @Id |
| | | //用户ID |
| | | private Long uid; |
| | | //身份 |
| | | private String identity; |
| | | //提供的东西 |
| | | private String provider; |
| | | //联系电话 |
| | | private String phone; |
| | | //创建时间 |
| | | private Date createTime; |
| | | private Date updateTime; |
| | | |
| | | |
| | | public String getPhone() { |
| | | return phone; |
| | | } |
| | | |
| | | public void setPhone(String phone) { |
| | | this.phone = phone; |
| | | } |
| | | |
| | | public Long getUid() { |
| | | return uid; |
| | | } |
| | | |
| | | public void setUid(Long uid) { |
| | | this.uid = uid; |
| | | } |
| | | |
| | | public String getIdentity() { |
| | | return identity; |
| | | } |
| | | |
| | | public void setIdentity(String identity) { |
| | | this.identity = identity; |
| | | } |
| | | |
| | | public String getProvider() { |
| | | return provider; |
| | | } |
| | | |
| | | public void setProvider(String provider) { |
| | | this.provider = provider; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public Date getUpdateTime() { |
| | | return updateTime; |
| | | } |
| | | |
| | | public void setUpdateTime(Date updateTime) { |
| | | this.updateTime = updateTime; |
| | | } |
| | | } |
| | |
| | | public class UserMsg { |
| | | |
| | | public enum UserMsgType { |
| | | activity("活动消息", ""); |
| | | lucky("抽奖消息", ""); |
| | | |
| | | private UserMsgType(String name, String icon) { |
| | | |
| | |
| | | |
| | | newerCourse("newer_course_url", "新手教程"), |
| | | commonQuestion("common_question_url", "常见问题"), |
| | | activityDetailHelp("activity_detail_help_link", "活动详情帮助链接"); |
| | | activityDetailHelp("activity_detail_help_link", "活动详情帮助链接"), |
| | | disclaimers("disclaimers", "免责声明"); |
| | | |
| | | private String key; |
| | | |
| | |
| | | package com.ks.daylucky.pojo.DTO; |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.annotations.Expose; |
| | | import org.yeshi.utils.StringUtil; |
| | | |
| | | public class UserMsgSettings { |
| | | |
| | | |
| | | //参加抽奖 |
| | | @Expose |
| | | private Boolean joinActivityMsg; |
| | | //开奖 |
| | | @Expose |
| | | private Boolean openActivityMsg; |
| | | //中奖 |
| | | @Expose |
| | | private Boolean drawnMsg; |
| | | //未中奖 |
| | | @Expose |
| | | private Boolean notDrawnMsg; |
| | | //未开奖 |
| | | @Expose |
| | | private Boolean notOpenActivityMsg; |
| | | //成功助力 |
| | | @Expose |
| | | private Boolean assistSuccessMsg; |
| | | |
| | | public Boolean getJoinActivityMsg() { |
New file |
| | |
| | | package com.ks.daylucky.pojo.DTO.msg; |
| | | |
| | | import com.ks.daylucky.pojo.VO.SimpleUser; |
| | | |
| | | public class LuckyMsgContent { |
| | | private SimpleUser user; |
| | | // private |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | //分享信息 |
| | | private ActivityShareInfoVO shareInfo; |
| | | |
| | | //免责申明 |
| | | private String disclaimers; |
| | | |
| | | |
| | | public String getDisclaimers() { |
| | | return disclaimers; |
| | | } |
| | | |
| | | public void setDisclaimers(String disclaimers) { |
| | | this.disclaimers = disclaimers; |
| | | } |
| | | |
| | | public ActivityShareInfoVO getShareInfo() { |
| | | return shareInfo; |
| | |
| | | package com.ks.daylucky.pojo.VO; |
| | | |
| | | import com.ks.daylucky.pojo.DO.UserInfo; |
| | | |
| | | public class ActivityFriendAssistInfoVO { |
| | | |
| | | private SimpleUser user; |
New file |
| | |
| | | package com.ks.daylucky.pojo.VO; |
| | | |
| | | public class UserConfigVO { |
| | | private int msgCount; |
| | | |
| | | public int getMsgCount() { |
| | | return msgCount; |
| | | } |
| | | |
| | | public void setMsgCount(int msgCount) { |
| | | this.msgCount = msgCount; |
| | | } |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.pojo.VO; |
| | | |
| | | public class UserMsgContentVO { |
| | | private String title; |
| | | private String content; |
| | | |
| | | public UserMsgContentVO(String title, String content) { |
| | | this.title = title; |
| | | this.content = content; |
| | | } |
| | | |
| | | public String getTitle() { |
| | | return title; |
| | | } |
| | | |
| | | public void setTitle(String title) { |
| | | this.title = title; |
| | | } |
| | | |
| | | public String getContent() { |
| | | return content; |
| | | } |
| | | |
| | | public void setContent(String content) { |
| | | this.content = content; |
| | | } |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.pojo.VO; |
| | | |
| | | import java.util.List; |
| | | |
| | | public class UserMsgVO { |
| | | private String icon; |
| | | private String name; |
| | | private List<UserMsgContentVO> contentList; |
| | | private String time; |
| | | |
| | | |
| | | public String getIcon() { |
| | | return icon; |
| | | } |
| | | |
| | | public void setIcon(String icon) { |
| | | this.icon = icon; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | public List<UserMsgContentVO> getContentList() { |
| | | return contentList; |
| | | } |
| | | |
| | | public void setContentList(List<UserMsgContentVO> contentList) { |
| | | this.contentList = contentList; |
| | | } |
| | | |
| | | public String getTime() { |
| | | return time; |
| | | } |
| | | |
| | | public void setTime(String time) { |
| | | this.time = time; |
| | | } |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.service; |
| | | |
| | | import com.ks.daylucky.pojo.DO.AdviceRecord; |
| | | |
| | | public interface AdviceService { |
| | | |
| | | /** |
| | | * 添加记录 |
| | | * |
| | | * @param adviceRecord |
| | | */ |
| | | public void addRecord(AdviceRecord adviceRecord); |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.service; |
| | | |
| | | import com.ks.daylucky.pojo.DO.SponsorSignUpRecord; |
| | | |
| | | public interface SponsorSignUpService { |
| | | |
| | | /** |
| | | * 添加记录 |
| | | * |
| | | * @param record |
| | | */ |
| | | public void addRecord(SponsorSignUpRecord record); |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.service.impl; |
| | | |
| | | import com.ks.daylucky.dao.AdviceRecordDao; |
| | | import com.ks.daylucky.pojo.DO.AdviceRecord; |
| | | import com.ks.daylucky.service.AdviceService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | |
| | | @Service |
| | | public class AdviceServiceImpl implements AdviceService { |
| | | @Resource |
| | | private AdviceRecordDao adviceRecordDao; |
| | | |
| | | @Override |
| | | public void addRecord(AdviceRecord adviceRecord) { |
| | | if (adviceRecord == null) |
| | | return; |
| | | if (adviceRecord.getCreateTime() == null) { |
| | | adviceRecord.setCreateTime(new Date()); |
| | | } |
| | | adviceRecordDao.save(adviceRecord); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ks.daylucky.service.impl; |
| | | |
| | | import com.ks.daylucky.dao.SponsorSignUpRecordDao; |
| | | import com.ks.daylucky.pojo.DO.SponsorSignUpRecord; |
| | | import com.ks.daylucky.service.SponsorSignUpService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | |
| | | @Service |
| | | public class SponsorSignUpServiceImpl implements SponsorSignUpService { |
| | | |
| | | @Resource |
| | | private SponsorSignUpRecordDao sponsorSignUpRecordDao; |
| | | |
| | | @Override |
| | | public void addRecord(SponsorSignUpRecord record) { |
| | | if (record == null) { |
| | | return; |
| | | } |
| | | if (record.getCreateTime() == null) { |
| | | record.setCreateTime(new Date()); |
| | | } |
| | | |
| | | SponsorSignUpRecord old = sponsorSignUpRecordDao.get(record.getUid()); |
| | | if (old != null) { |
| | | record.setCreateTime(old.getCreateTime()); |
| | | record.setUpdateTime(new Date()); |
| | | } |
| | | |
| | | sponsorSignUpRecordDao.save(record); |
| | | } |
| | | } |
| | |
| | | query.appId = appId; |
| | | query.key = key.getKey(); |
| | | query.version = version; |
| | | |
| | | query.count=1; |
| | | List<AppConfig> list = appConfigMapper.list(query); |
| | | if (list != null && list.size() > 0) { |
| | | return list.get(0); |
| | |
| | | password: 'Yeshi2016@' |
| | | host: 193.112.35.168 |
| | | port: 27016 |
| | | database: flq |
| | | database: day-lucky |
| | | authentication-database: admin |
| | | redis: |
| | | host: 192.168.3.253 |
| | |
| | | mybatis: |
| | | mapper-locations : classpath:mapper/*.xml |
| | | type-aliases-package: com.ks.goldcorn.pojo.DO |
| | | |
| | | configuration: |
| | | log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl |
| | | dubbo: |
| | | application: |
| | | name: daylucky-provider |
| | |
| | | <id column="id" property="id" jdbcType="BIGINT"/> |
| | | <result column="identity_code" property="identityCode" jdbcType="VARCHAR"/> |
| | | <result column="app_id" property="appId" jdbcType="BIGINT"/> |
| | | <result column="`type`" property="type" jdbcType="VARCHAR"/> |
| | | <result column="`name`" property="name" jdbcType="VARCHAR"/> |
| | | <result column="type" property="type" jdbcType="VARCHAR"/> |
| | | <result column="name" property="name" jdbcType="VARCHAR"/> |
| | | <result column="content" property="content" jdbcType="VARCHAR"/> |
| | | <result column="link" property="link" jdbcType="VARCHAR"/> |
| | | <result column="`close`" property="close" jdbcType="BOOLEAN"/> |
| | | <result column="`show`" property="show" jdbcType="BOOLEAN"/> |
| | | <result column="close" property="close" jdbcType="BOOLEAN"/> |
| | | <result column="show" property="show" jdbcType="BOOLEAN"/> |
| | | <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> |
| | | <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/> |
| | | </resultMap> |
| | |
| | | <resultMap id="BaseResultMap" type="com.ks.daylucky.pojo.DO.AppConfig"> |
| | | <id column="id" property="id" jdbcType="BIGINT"/> |
| | | <result column="app_id" property="appId" jdbcType="BIGINT"/> |
| | | <result column="`name`" property="name" jdbcType="VARCHAR"/> |
| | | <result column="`key`" property="key" jdbcType="VARCHAR"/> |
| | | <result column="`value`" property="value" jdbcType="VARCHAR"/> |
| | | <result column="name" property="name" jdbcType="VARCHAR"/> |
| | | <result column="key" property="key" jdbcType="VARCHAR"/> |
| | | <result column="value" property="value" jdbcType="VARCHAR"/> |
| | | <result column="min_version" property="minVersion" jdbcType="INTEGER"/> |
| | | <result column="remarks" property="remarks" jdbcType="VARCHAR"/> |
| | | <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> |
| | |
| | | @Test |
| | | public void msgTypeConfig() { |
| | | MsgTypeConfigQuery query = new MsgTypeConfigQuery(); |
| | | query.msgType = UserMsg.UserMsgType.activity; |
| | | query.msgType = UserMsg.UserMsgType.lucky; |
| | | query.appId = 1L; |
| | | query.count = 1; |
| | | |
| | |
| | | public void userMsg() { |
| | | UserMsgQuery query = new UserMsgQuery(); |
| | | query.uid = 1L; |
| | | query.msgType = UserMsg.UserMsgType.activity; |
| | | query.msgType = UserMsg.UserMsgType.lucky; |
| | | |
| | | userMsgMapper.list(query); |
| | | userMsgMapper.count(query); |
| | |
| | | import com.ks.lucky.exception.LuckyActivityJoinException; |
| | | import com.ks.lucky.mapper.LuckyActivityAwardsMapper; |
| | | import com.ks.lucky.mapper.LuckyActivityJoinRecordMapper; |
| | | import com.ks.lucky.pojo.DO.LuckyActivity; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityAwards; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityUserWeightRecord; |
| | | import com.ks.lucky.pojo.DO.*; |
| | | import com.ks.lucky.pojo.DTO.*; |
| | | import com.ks.lucky.query.ActivityAwardQuery; |
| | | import com.ks.lucky.query.ActivityJoinRecordQuery; |
| | | import com.ks.lucky.remote.service.LuckyActivityJoinService; |
| | | import com.ks.lucky.remote.service.LuckyActivityOpenService; |
| | | import com.ks.lucky.service.impl.LuckyActivityJoinManager; |
| | | import com.ks.lucky.service.impl.LuckyActivityManager; |
| | | import com.ks.lucky.service.impl.LuckyActivityOpenInfoManager; |
| | | import com.ks.lucky.service.impl.LuckyActivityUserWeightRecordManager; |
| | | import com.ks.lucky.util.factory.LuckyActivityUserWeightRecordFactory; |
| | | import org.apache.dubbo.config.annotation.Service; |
| | |
| | | |
| | | @Resource |
| | | private LuckyActivityAwardsMapper luckyActivityAwardsMapper; |
| | | |
| | | |
| | | @Resource |
| | | private LuckyActivityOpenInfoManager luckyActivityOpenInfoManager; |
| | | |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | ActivityDrawnProbabilityStatistic statistic = new ActivityDrawnProbabilityStatistic(); |
| | | ActivityAwardQuery awardQuery = new ActivityAwardQuery(); |
| | | awardQuery.activityId = activityId; |
| | | awardQuery.count = 100; |
| | | //奖项数量 |
| | | int awardCount = 0; |
| | | List<LuckyActivityAwards> awards = luckyActivityAwardsMapper.list(awardQuery); |
| | |
| | | for (LuckyActivityAwards award : awards) { |
| | | awardCount += award.getCount(); |
| | | } |
| | | |
| | | } |
| | | |
| | | LuckyActivityOpenInfo openInfo = luckyActivityOpenInfoManager.getOpenInfo(activityId); |
| | | |
| | | //还差多少人开奖 |
| | | int difJoinnerCount = openInfo.getMinPersonCount() - (int) joinerCount; |
| | | difJoinnerCount = difJoinnerCount > 0 ? difJoinnerCount : 0; |
| | | |
| | | joinerCount = joinerCount < openInfo.getMinPersonCount() ? (openInfo.getMinPersonCount()) : joinerCount; |
| | | |
| | | //平均中奖概率 |
| | | BigDecimal averageProbability = new BigDecimal(awardCount).divide(new BigDecimal(joinerCount), 8, BigDecimal.ROUND_DOWN); |
| | | statistic.setAverageDrawnProbability(averageProbability); |
| | |
| | | LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, uid); |
| | | if (record != null) { |
| | | //我的中奖概率 |
| | | BigDecimal myProbability = new BigDecimal(awardCount * record.getWeight()).divide(new BigDecimal(weight), 8, BigDecimal.ROUND_DOWN); |
| | | BigDecimal myProbability = new BigDecimal(awardCount * record.getWeight()).divide(new BigDecimal(weight).add(new BigDecimal(difJoinnerCount)), 8, BigDecimal.ROUND_DOWN); |
| | | statistic.setMyDrawnProbability(myProbability); |
| | | } |
| | | } |
| | |
| | | <result column="material_poster" jdbcType="VARCHAR" property="materialPoster"/> |
| | | <result column="material_tag_image" jdbcType="VARCHAR" property="materialTagImage"/> |
| | | <result column="material_" jdbcType="VARCHAR" property="material"/> |
| | | <result column="`desc`" jdbcType="VARCHAR" property="desc"/> |
| | | <result column="desc" jdbcType="VARCHAR" property="desc"/> |
| | | <result column="max_person_count" jdbcType="INTEGER" property="maxPersonCount"/> |
| | | <result column="current_person_count" jdbcType="INTEGER" property="currentPersonCount"/> |
| | | <result column="state" jdbcType="INTEGER" property="state"/> |
| | |
| | | <result column="uid" property="uid" jdbcType="VARCHAR" /> |
| | | <result column="weight" property="weight" jdbcType="INTEGER" /> |
| | | <result column="title" property="title" jdbcType="VARCHAR" /> |
| | | <result column="`desc`" property="desc" jdbcType="VARCHAR" /> |
| | | <result column="desc" property="desc" jdbcType="VARCHAR" /> |
| | | <result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> |
| | | <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> |
| | | </resultMap> |